On Tue, 1 Aug 2017 05:04:24 -0700 (PDT)
ecstatic.co...@gmail.com wrote:

> But D also gives you reference classes, genericity, function polymorphism, 
> conditional compilation, design by contract assertions, compile-time meta 
> programming, 

All things above to be avoided in _maintainable_ software.

Mantra: every working line of code is written once by one person
then it is read hundreds/thousands of times by dozens of people.

Go spares your pair, then supervisor, from manually enforcing on
you hard local rules: "We use C++ but you are forbidden to use:
exceptions, overloading, auto, weak ... ". Go language by itself gives
you all that -do-not-use-this-and-that- checks for free ;)

> and many other features that are severely lacking in Go.
Luckily. These and many other features _luckily_ lacking in Go.
Something that can't be used also can't be abused.

>From the software maintainer pov Go is both readable and debuggable.
In Go one may grasp execution path and functionality from the very
fragment of source s/he is reading now. With very few exceptions.

Throw in any level of meta programming, even simple function overload,
and suddenly reader of a fragment of code is forced to read entirety of
entangled sources then map it mentally - all that just to grasp importance
of that fragment s/he has read a while ago. Rinse and repeat on each level
deep.

Any business gain (man-hour wise) form higher level 'features' is null, void
and negative at first bug hunt on production code. More so if said code
authors are long gone from the team. Many businesses learnt this
hard way and now they know better; now they go for Go.

> But for your command line or desktop developments, I think D could be much 
> more appropriate than Go...

Unless your CLI/desktop is supposed to be easily maintained for years to come.

PS. If one want some joy and entertainment off writing, one may go for
Racket [https://racket-lang.org/]. Every program in it sooner than later
evolves into separate language of its own. Language only author can
understand. Even if just for a while ;).

-- 
Wojciech S. Czarnecki
 << ^oo^ >> OHIR-RIPE

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to