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.