D growing pains (was Re: The Demise of Dynamic Arrays?!)

Lars T. Kyllingstad public at kyllingen.NOSPAMnet
Fri Dec 18 00:13:32 PST 2009


Kevin Bealer wrote:
> Walter Bright Wrote:
> 
>> Kevin Bealer wrote:
>>> To smooth this out, it would help to have the best practices for
>>> doing common things in D (e.g. serialization, logging) somewhat
>>> documented for the consumption of non-experts.  I wonder what a good
>>> way of doing this is?
>> It's really impossible to predict what the best practices would be. Only 
>> time and usage will tell. The "best practices" for both C and C++ have 
>> evolved significantly over time.
> 
> I think D2 is so different from D (and in some important ways, from everything out there) that a new usage style would have needed to be created even if D was already the lingua franca.
> 
> The question that I find myself thinking is -- is chaos better or is it better to try to establish a particular style of programming (however simply or poorly) in the original books and resources that a programmer will find upon discovering D?
> 
> Chaos has its appeal of course, but others would say that any initial style that will stick is better than no style.  In other words, that you cannot evolve until you cohere.  It's hard to choose...  On the other hand I suppose Phobos is consistent enough with itself that if people follow that they will have a launch point.

If naming guidelines are a part of the "coding style" you mention, then 
Phobos isn't very consistent. I think this needs to be fixed before TDPL 
comes out, even though the renaming will cause major breakage. This is 
the last chance to get it right.

Some examples:

  - function naming:
        std.file.isfile()
        std.math.isFinite()
        std.thread.thread_suspendAll()

  - enum naming
        std.file.SpanMode { shallow, depth, ... }
        std.getopt.config { caseSensitive, caseInsensitive, ... }
        std.json.JSON_TYPE { STRING, INTEGER, ... }
        std.thread.State { HOLD, EXEC, ... }

-Lars



More information about the Digitalmars-d mailing list