On Wednesday, 18 April 2012 at 14:15:08 UTC, Somedude wrote:
Le 18/04/2012 14:34, Paul a écrit :
I bought the book and am trying to patiently learn this language. I follow various tutorials here and around the web that frequently won't compile. I suspect it has something to do with D1/D2/Phobos/Tango and not just really poor unvetted tutorials. It would really be helpful if those providing references, code snippets, tutorials, etc clearly identify the context (i.e D1/D2/Phobos/Tango). I just think it would help accelerate the spread and acceptance of this language if more of
the code worked as listed.

If people are out cruising the web and download a fresh copy of D with excitement (about a cleaned-up, updated c-type systems language) and then the first several things don't compile w/o errors, they're going to
move on.

Thanks so much to all who provide references, tutorials, etc! It is
great service in helping others learn.  I hope this is seen as
constructive criticism for that is what it is.


Hi !

It's simple: use D2, and forget about Tango.
D1 is deprecated and its maintainance will be stopped by the end of the
year. Noone should be starting with D1 now.

You can start here:
http://prowiki.org/wiki4d/wiki.cgi?D__Tutorial

I cleaned up this page a little bit, I hope this helps.

I tried one "file open" example from this site and one from another site and neither compiled w/o errors. I thought perhaps I had copied some code that might have been related to a specific version of D. I was just commenting that for people who are supplying exmaples/tutorials it would help if they specified more clearly what version/genre of D their code sample works with. I have no opinion on the Phobos/Tango or deprecated features/version stuff. I just think it would help the acceptance of the language if stuff compiled as listed.

As for the example from this site under std.stdio; it should compile. It's a simple program. This is the mother site.

A member helped me realize that it needs "import std.stdio;"


// test.d
void main(string args[])
{
    auto f = File("test.txt", "w"); // open for writing
    f.write("Hello");
    if (args.length > 1)
    {
        auto g = f; // now g and f write to the same file
                    // internal reference count is 2
        g.write(", ", args[1]);
        // g exits scope, reference count decreases to 1
    }
    f.writeln("!");
    // f exits scope, reference count falls to zero,
    // underlying FILE* is closed.
}

Reply via email to