July 31, 2012
On Tuesday, 31 July 2012 at 03:28:40 UTC, bearophile wrote:
> Walter Bright:
>
> Elsewhere you have said:
> http://forum.dlang.org/thread/50171A5B.7030002@digitalmars.com
>
>>"DFL won't compile" It doesn't matter if the fix is trivial, easy, whatever. It does not compile, therefore D sux.<
>
> If you have noted the OP has not said D sucks, the opposite:
>
>>The language is fine:<
>
> I agree that having a language perfectly finished is a good thing, no one likes broken programs, but programmers can't expect D to work as C89, with no changes since many years ago.
>
> A problem is that most people don't understand mangled linker errors. I agree with you that linkers are not magic, but modern programmers coming from many other languages are not used to them and their mangled errors. So we have suggested to filter those messages, to help programmers.

If they won't learn the compilation model, they won't be good programmers.
I'm not saying that good messages are a bad thing, but if they don't
understand the basic concept of source -> object file -> linker -> exe or dll,
then they will have a very hard time with D, pretty error messages
or no.
July 31, 2012
On 2012-07-31 01:32, Stuart wrote:

> It's not D itself I have a problem with. It's the complete lack of
> reliable tools for it. No IDE. No GUI designer. No nothing. Coding a
> real application in D is like using Cobra, or Nemerle - in short,
> frustrating and slow.

We're well aware of these problems and doing our best to solve them. The main problem is the lack of time and manpower. I'm guessing most of us (D developers) are working on D in our free time.

-- 
/Jacob Carlborg
July 31, 2012
On Monday, 30 July 2012 at 22:54:59 UTC, Stuart wrote:
> I'm about ready to give up here. I like the idea of D, but it's like using fucking Linux: Absolutely everything needs to be compiled before you can use it; and nothing will compile because you need to do fifty other goddamn things that aren't mentioned in the readme, so you have to post on dozens of sodding forums for a week hoping someone throws you a bone.
>
> All I want is to be able to write a GUI application using phrases like "button1.dock = Fill". Is that so much to ask? Apparently it is.
>
> DFL won't compile. D-IDE doesn't work at all. VisualD crashes all the time. The Eclipse IDE plugin doesn't work either. None of the IDEs have any kind of reliable intellisense. The optional "module" keywords aren't optional. The whole fucking thing's a shambles, just like everything else designed for Linux.
>
> It's really getting on my tits. Even using MFC is easier than this.

You're expecting the same diversity and quality of the toolchain of a small, relatively new (D2 is from 2007) programming language as you do from giants like C++ and .NET languages. This is unreasonable. D is run by a couple of language designers and its community - there is no backing from massive corporations or anything like that.

That does not mean we can't have good things - the community is really pulling its weight, despite its relatively small size (but growing at a remarkable rate) we have all kinds of great tools, including three up to date compilers, several on-going IDE projects, a growing multitude of libraries and bindings, etc.

As for VisualD, a lot of people - including myself - use it without issue. It has never crashed for me. I recommend you report your problem to the developer, or join development yourself. If you just want a stable production environment, start by disabling the clearly marked *experimental* auto-complete feature if you have it enabled.

Your swipes at Linux are ignorant and non-constructive. Besides, D has its roots on Windows, it's not "designed for Linux" in any way.

Your issues with compiling DFL are rooted completely in your own ignorance of the C/C++/D compilation model. You have a lot to learn and you should know that by now. Maybe tone down the aggressiveness a little; you've been generating a lot of noise lately.
July 31, 2012
On Tue, 31 Jul 2012 01:48:04 +0200
"Stuart" <stugol@gmx.com> wrote:

> Let me be clear: I have no problem with the language of D. It looks quite decent. It's just not feasible to actually write a PROGRAM in it. Sure, if I want a quick-and-dirty commandline tool or something, no problem; but a Windows application? Without an IDE or GUI designer? No way. Even MFC has a dialog designer.
> 
> The language is fine: Now the developers need to turn their attention to the TOTAL AND UTTER LACK OF RELIABLE DEVELOPMENT TOOLS.

FWIW, I think this is the problem:

The people who have been using D so far are mostly those who are perfectly happy, or prefer, command lines and lightweight code editors. So they've never been particularly motivated to work on such things since they don't need them and have plenty of more immediate concerns.

Then the people who demand fullweight IDEs, GUI designers, zero command line, etc., see that D doesn't have much in that regard, and they don't improve the situation either, they just leave in disgust instead.

So neither side is doing it and we have a chicken and egg situation :/

Of course, that's not *entirely* true. Things like VisualD and Mono-D *are* very actively maintained. They just don't have very many people helping out (which of course is where the chicken and egg comes in).

As far as reliable dev tools, Programmer's Notepad 2 + DMD has been *very* reliable for me. It's not "Trivial, a-baby-can-do-it, set everything up with one-click", you have to understand the command line, etc., but it's certainly been very reliable.


July 31, 2012
> It's not D itself I have a problem with. It's the complete lack of
> reliable tools for it. No IDE. No GUI designer. No nothing. Coding a
> real application in D is like using Cobra, or Nemerle - in short,
> frustrating and slow.

Mh, if this is *your* opinion, why are you using D then?

July 31, 2012
On 31/07/12 00:54, Stuart wrote:
> On Monday, 30 July 2012 at 21:40:35 UTC, Walter Bright wrote:
>>
>> A ModuleInfo is generated for each compiled module and inserted into
>> its corresponding .obj file. If the linker cannot find it, then it is
>> likely that you need to specify that .obj on the link command.
>
> Ah, it would seem that my problem is with DFL not compiling. Look guys,
> I'm about ready to give up here. I like the idea of D, but it's like
> using fucking Linux: Absolutely everything needs to be compiled before
> you can use it; and nothing will compile because you need to do fifty
> other goddamn things that aren't mentioned in the readme, so you have to
> post on dozens of sodding forums for a week hoping someone throws you a
> bone.

>
> All I want is to be able to write a GUI application using phrases like
> "button1.dock = Fill". Is that so much to ask? Apparently it is.
>
> DFL won't compile. D-IDE doesn't work at all. VisualD crashes all the
> time. The Eclipse IDE plugin doesn't work either. None of the IDEs have
> any kind of reliable intellisense. The optional "module" keywords aren't
> optional. The whole fucking thing's a shambles, just like everything
> else designed for Linux.
>
> It's really getting on my tits. Even using MFC is easier than this.

Yeah, we still have *miles* to go on the toolchain. As a community we've been putting most of our effort into getting the compiler stable, and to a lesser extent working on the the standard library. Most of the other things are one-man shows.
The Eclipse plugin and DFL have both been abandoned for years.
Mono-D and VisualD are progressing quite well but again they are only one-man shows.

We need more people.
July 31, 2012
David:

> Mh, if this is *your* opinion, why are you using D then?

Because its community is helpful and friendly :-)

Bye,
bearophile
July 31, 2012
On 2012-07-31 11:28, Nick Sabalausky wrote:

> FWIW, I think this is the problem:
>
> The people who have been using D so far are mostly those who are
> perfectly happy, or prefer, command lines and lightweight code
> editors. So they've never been particularly motivated to work on such
> things since they don't need them and have plenty of more immediate
> concerns.

I'm not happy with and don't prefer command line tools. I prefer using an IDE. I'm really jealous on Eclipse (JDT) and Xcode 4.

I'm trying to work on improving the development environment for D. But these things take time. Before starting with high level tools like an IDE we need proper tools at a lower level. I don't think we're there yet. No proper build tools, no package manager, no good way to run tests and so on.

> Then the people who demand fullweight IDEs, GUI designers, zero command
> line, etc., see that D doesn't have much in that regard, and they don't
> improve the situation either, they just leave in disgust instead.
>
> So neither side is doing it and we have a chicken and egg situation :/
>
> Of course, that's not *entirely* true. Things like VisualD and Mono-D
> *are* very actively maintained. They just don't have very many people
> helping out (which of course is where the chicken and egg comes in).
>
> As far as reliable dev tools, Programmer's Notepad 2 + DMD has been
> *very* reliable for me. It's not "Trivial, a-baby-can-do-it, set
> everything up with one-click", you have to understand the command line,
> etc., but it's certainly been very reliable.

I'm quite happy with my setup using TextMate and DMD, RDMD and DVM. I've added commands to run a single file using RDMD. I also have another command for building a whole project. It can parse the output of the builds and create links, which points back to TextMate, of any compile errors or exceptions thrown at runtime.

-- 
/Jacob Carlborg
July 31, 2012
On Tuesday, 31 July 2012 at 04:15:40 UTC, Bernard Helyer wrote:
> If they won't learn the compilation model, they won't be good programmers.
> I'm not saying that good messages are a bad thing, but if they don't
> understand the basic concept of source -> object file -> linker -> exe or dll,
> then they will have a very hard time with D, pretty error messages
> or no.

I understand the basic concept. What I didn't understand was why
omitting the optional keyword "module" caused linker errors; nor
did I understand why I couldn't use DFL after installing it
normally. It wasn't obvious that the DFL compilation had failed,
because the installer said "success!"
July 31, 2012
On Tuesday, 31 July 2012 at 09:26:42 UTC, Jakob Ovrum wrote:
> You're expecting the same diversity and quality of the toolchain of a small, relatively new (D2 is from 2007) programming language as you do from giants like C++ and .NET languages. This is unreasonable.

You have a point, and I have no business complaining about the inadequacies of a free project. But nevertheless, it's discouraging to try out a new language (D, Nemerle, Cobra, etc etc) only to find that I can't actually write any programs in it.

By which I mean there is no way to create a GUI short of using the API directly. Try getting a bunch of controls to resize when you maximise their parent window - in .NET, this is trivial. If DFL worked, it would still be trivial. In D (or any other language with no decent tools) it's mind-bogglingly difficult.

I'm really impressed with D, and was planning to start writing an application in it yesterday. And all I got was obscure compiler errors and a non-functional DFL. So I was a little disappointed.

> As for VisualD, a lot of people - including myself - use it without issue. It has never crashed for me. I recommend you report your problem to the developer, or join development yourself. If you just want a stable production environment, start by disabling the clearly marked *experimental* auto-complete feature if you have it enabled.

It was disabled until very recently, when I was advised to enable it. The crash - which I have already reported - occurs when opening the solution. Any D solution. Every time. When double-clicking the .sln file in Explorer (or using Win7 jump lists).

> Your swipes at Linux are ignorant and non-constructive.

Ignorant? I'm no expert, certainly, but ignorant? Hardly. I've used Linux. For example, I ran it on my server machine for a year. And one thing I learnt was that, until you start getting Linux driver discs when you buy hardware, it's useless. Who wants an operating system that doesn't work until you post on forums, hack config files, and recompile the kernel? No thank you.

> Besides, D has its roots on Windows, it's not "designed for Linux" in any way.

I was talking about the general mindset. The mindset behind DFL, to be specific. The mindset of: "Don't give 'em an exe - give 'em source, an obscure makefile, and undocumented dependencies. Let them WORK for it." That's the Linux mentality, and it drives me up the wall.

I never said D was crap. I said its tools don't work. I was disappointed that I couldn't use D to write an application. Does that sound like someone who doesn't like the language?

> Your issues with compiling DFL are rooted completely in your own ignorance of the C/C++/D compilation model.

Er, no. Before I used .NET, I used C++ almost exclusively for a number of years. I'm a little out of practice, but I understand the general principles involved. How about you stop making all these assumptions about my ignorance?

> You have a lot to learn and you should know that by now.

Oh, now, that's going too far. Do you think I'm some kind of programming newbie? A college student, perhaps? I have a BSc in Software Engineering, and I've been coding for 16 years. So let's have less of the condescension, hmm?

> Maybe tone down the aggressiveness a little; you've been generating a lot of noise lately.

Lately? I've only recently discovered D. What are you comparing my current noise level to? Besides, most of my posts have been constructive, to my mind. Granted, I got a bit frustrated yesterday, but so what?