Last update March 7, 2012

Doc Comments /
Intro



Table of contents of this page
Introduction Comments   
New book on D Programming Language   
Note at the bottom   
Searching the Specification   
WC example   
Specification Page   

Introduction Comments    

New book on D Programming Language    

The new book called "The D Programming Language" By Andrei Alexandrescu needs to be added to the list of books on the D home page - it was just released on June 14, 2010.

Note at the bottom    

Question: What does this mean?

Note: all D users agree that by downloading and using D, or reading the D specs, they will explicitly identify any claims to intellectual property rights with a copyright or patent notice in any posted or emailed feedback sent to Digital Mars.

Answers

  • I think it means that if you send Walter an email with suggestions regarding D, you must notify him if those suggestions include a concept or technique that is patented or copyrighted... assuming you know that, of course. -- Sean
  • Right. The idea is simply to keep D unencumbered by submarine patents and other belated claims of copyright ownership. I've been following the SCO v. Linux dispute, and don't want any of that nonsense infecting D. If you want to claim ownership of, say, a contribution to Phobos, clearly say so with that contribution. -- Walter
  • I think, as a convenience, we should add to this note the time-stamp of when this message first appeared on this wiki, or some such measure. Additionally, we must store all IP-address logs. The words "...reading the D specs..." are very much valid. See http://publictimestamp.org.
  • Wow, this message sounds waayy scarier than it actually is, then. I had no idea how to parse it; it sounded to me that by downloading or using D we were withdrawing some rights to Digital mars for some reason. I strongly recommend you re-word this please

Searching the Specification    

The documentation would benefit from a search button that only includes the official spec pages. The current Search button at the top of the page is for the entire website, and invariably gets hits mostly from the archives. I would often find it helpful to have another button that was restricted just to the spec pages.

For example, I wanted to check on how OutBuffer works. I have to know to look within the phobos page. It doesn't help to Ctrl-F on the main page.

See Searching Tips for some suggestions. -- JustinCalvarese

WC example    

If I read your example on the page http://www.digitalmars.com/d/index.html then I get doubts about D, I think it is a showcase how powerful D is. But it is a bit overwhelming for the curious. just make it simpler like below (which in it self introduces a lot already). This example will be obvious and interest people to look for more about D,

As to the wc example the use of std.unicode would show it's commitment to UTF-8 and the ease it can be used obvious! (other then my first name René (U+00E9) would end up being the word Ren

Thanks for your effort in making D

René de Zwart

#!/usr/bin/dmd -run
/* sh style script syntax is supported */

/* Hello World in D
   To compile:
     dmd hello.d
   or to optimize:
     dmd -O -inline -release hello.d
*/

import std.stdio;

void main(string[] args)
{
    writefln("Hello World, Reloaded");

    // auto type inference and built-in foreach
    foreach (argc, argv; args)
    {
        // Object Oriented Programming
        auto cl = new CmdLin(argc, argv);
        // Improved typesafe printf
        writefln(cl.argnum, cl.suffix, " arg: %s", cl.argv);
        // Automatic or explicit memory management
        delete cl;
    }

}

class CmdLin
{
    private int _argc;
    private string _argv;

public:
    this(int argc, string argv)	// constructor
    {
        _argc = argc;
        _argv = argv;
    }

    int argnum()
    {
        return _argc + 1;
    }

    string argv()
    {
        return _argv;
    }

    string suffix()
    {
        string suffix = "th";
        switch (_argc)
        {
          case 0:
            suffix = "st";
            break;
          case 1:
            suffix = "nd";
            break;
          case 2:
            suffix = "rd";
            break;
          default:
	    break;
        }
        return suffix;
    }
}

This example seems to be on the webpage now, but with one typo; writeln is used instead of writefln. gdc complained that writeln didn't exist.

Specification Page    


FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: March 7, 2012 20:25 (diff))