July 30, 2012
On Monday, 30 July 2012 at 23:31:14 UTC, Andrei Alexandrescu wrote:
>
> I empathize. The one thing that may be different is that the forums at forum.dlang.org tend to be a bit more responsive and to the point.

Well, perhaps someone can explain why I can't compile DFL?

I'm getting the same problem as [http://www.digitalmars.com/d/archives/digitalmars/D/DFL_167579.html]. This forum post is over two months old, and yet nobody has fixed the problem.

The suggested solutions either [a] didn't help or [b] didn't make sense, depending.

>> It's really getting on my tits. Even using MFC is easier than this.
>
> The irony there is that dmd has started as a Windows program.

I have no problem with DMD. DMD is a perfectly reasonable Windows executable. I am objecting to the frustrating way DFL is compile-it-yourself and doesn't work; and also the frustrating way there isn't a single working IDE or GUI designer for D.
July 30, 2012
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.
July 31, 2012
On 7/30/12 7:32 PM, Stuart wrote:
> On Monday, 30 July 2012 at 23:07:35 UTC, bearophile wrote:
>> Take a look at the Rebol language.
>
> I took a quick look. It didn't look like anything suitable for creating
> native GUI applications. It looked totally insane.

Yah, that came outta nowhere. I've also had a "wtfits" reaction.

Andrei
July 31, 2012
On Monday, 30 July 2012 at 23:40:02 UTC, Stuart wrote:
> I have no problem with DMD. DMD is a perfectly reasonable Windows executable. I am objecting to the frustrating way DFL is compile-it-yourself and doesn't work; and also the frustrating way there isn't a single working IDE or GUI designer for D.

If you're willing try yet another IDE, I use Code::Blocks on both windows and linux, and while the intellisense or whatever C::B calls it is usually a waste of time it is at least completely stable and integrates OK with ddbg (which itself is not perfect, but...). It recognizes D syntax and it doesn't take 5 minutes to start-up. People also seem to like Mono-D.

Like Dmitry said, rdmd can be a big help, since you just compile your main and it will find the dependencies.


July 31, 2012
On Tuesday, 31 July 2012 at 00:06:43 UTC, cal wrote:
> On Monday, 30 July 2012 at 23:40:02 UTC, Stuart wrote:
>> I have no problem with DMD. DMD is a perfectly reasonable Windows executable. I am objecting to the frustrating way DFL is compile-it-yourself and doesn't work; and also the frustrating way there isn't a single working IDE or GUI designer for D.
>
> If you're willing try yet another IDE, I use Code::Blocks on both windows and linux, and while the intellisense or whatever C::B calls it is usually a waste of time it is at least completely stable and integrates OK with ddbg (which itself is not perfect, but...). It recognizes D syntax and it doesn't take 5 minutes to start-up. People also seem to like Mono-D.

I couldn't get C::B to compile anything - either D or C. Mono-D didn't work for me either. I guess I'm just cursed.

July 31, 2012
On Monday, 30 July 2012 at 23:40:02 UTC, Stuart wrote:
> On Monday, 30 July 2012 at 23:31:14 UTC, Andrei Alexandrescu wrote:
>>
>> I empathize. The one thing that may be different is that the forums at forum.dlang.org tend to be a bit more responsive and to the point.
>
> Well, perhaps someone can explain why I can't compile DFL?

Compiling from here,

https://github.com/Rayerd/dfl

the problem is winapi.d, wincom.d utf.d (not internal\utf.d) are all obsolete, and won't compile. Remove those and don't use them in your code. Other than that, all I did was

    dmd -lib -ofdfl *.d internal/*.d -I..

From win32/dfl in a MinGW bash shell, because DMD doesn't expand wildcards.

Then I tested my new dfl.lib with

import dfl.all;

int main()
{
        Form myForm;
        Label myLabel;

        myForm = new Form;
        myForm.text = "DFL Example";

        myLabel = new Label;
        myLabel.font = new Font("Verdana", 14f);
        myLabel.text = "Hello, DFL World!";
        myLabel.location = Point(15, 15);
        myLabel.autoSize = true;
        myLabel.parent = myForm;

        Application.run(myForm);

        return 0;
}

with

dmd test.d dfl.lib gdi32.lib ole32.lib oleaut32.lib comdlg32.lib comctl32.lib

This took me about two minutes to figure out with no prior experience with DFL.
July 31, 2012
On Tuesday, July 31, 2012 01:40:02 Stuart wrote:
> Well, perhaps someone can explain why I can't compile DFL?

Is it even maintained? The page that appears to be its home page ( http://www.dprogramming.com/dfl.php ) doesn't appear to have been updated since 2008.

- Jonathan M Davis
July 31, 2012
Oh, and if there are complaints of LoadLibraryA or whatever not being nothrow, remove any trace of nothrow from those modules.

July 31, 2012
Andrei Alexandrescu wrote:
> On 7/30/12 7:32 PM, Stuart wrote:
>> On Monday, 30 July 2012 at 23:07:35 UTC, bearophile wrote:
>>> Take a look at the Rebol language.
>>
>> I took a quick look. It didn't look like anything suitable for creating
>> native GUI applications. It looked totally insane.
>
> Yah, that came outta nowhere. I've also had a "wtfits" reaction.

It's a language born in 1997, and it's sometimes used as a more modern replacement for TCL to create small programs with GUIs:
http://en.wikipedia.org/wiki/Rebol

It semantics is clean, it has everything built-in, its syntax is readable and very short. There are many persons that don't think of it as insane. I have used it to quickly create GUIs for programs written in other languages too.

And it doesn't spit mysterious linker errors. It's far simpler to understand than D.

Bye,
bearophile
July 31, 2012
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.

The lack of reliable D tools is only partially caused by changes in D, another important cause is the small size of the D community.

Giving good ways to manage deprecations is a good way to help. Giving the programmer ways to fix or solve the problems is another way to help.

Recently I have suggested to change the signature of the third std.algorithm.count from:
size_t count(alias pred = "true", Range)(Range r);

To:
size_t count(alias pred = "a", Range)(Range r);

But Andrei has refused this tiny change because it breaks old code. Introducing ways to manage change & deprecation is going to help the development of D more than freezing everything :-)

Bye,
bearophile