Gary Willoughby: "Why Go's design is a disservice to intelligent programmers"

w0rp via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Mar 27 12:34:37 PDT 2015


On Friday, 27 March 2015 at 19:11:58 UTC, Walter Bright wrote:
> On 3/27/2015 5:48 AM, Dejan Lekic wrote:
>> That `source.byLine.join.to!(string);` line for example, takes 
>> much
>> longer time to understand than 20 lines of Go code. Any D 
>> newbie with knowledge
>> of some modern language will struggle understanding (and being 
>> 100% sure that
>> he/she understands!) that line of D code.
>
> This style of programming does take some getting used to for 
> one that is used to traditional loop programming (like me). But 
> it is like learning a new language - once you learn what 
> byLine, join, etc., do, it is pretty simple to see what is 
> happening.

Sean Parent's advice for "no raw loops" comes to mind. 
https://channel9.msdn.com/Events/GoingNative/2013/Cpp-Seasoning 
With that rule, basically a one-line body for foreach becomes 
acceptable.

Your own description of component programming was also very good. 
Also Andrei's description of generic algorithms as being 
something like the final destination of programming, etc.

You start with the same old code you might be used to from other 
languages, and then slowly learn to write generic code and 
propose new algorithms.


More information about the Digitalmars-d-announce mailing list