Linked by Thom Holwerda on Tue 4th Sep 2012 20:04 UTC, submitted by MOS6510
General Development "Computer programming is the art, craft and science of writing programs which define how computers operate. This book will teach you how to write computer programs using a programming language designed by Google named Go." Freely available book on Go.
Thread beginning with comment 533999
To view parent comment, click here.
To read all comments associated with this story, please click here.
jgfenix
Member since:
2006-05-25

What do you mean? I think D2 is very interesting and solves the majority of C++´s problems.

Reply Parent Score: 1

Neolander Member since:
2010-03-08

Well, one of the main particularities of C++ is that it tries to integrate every programming language feature known to man in a huge bundle. As stated multiple times by Stourstrup on his website, this was done on purpose, so as not to enforce a particular coding standard upon developer. However, it causes several problems :

-Teaching students about the whole language within a reasonable time frame is impossible. Even if it was possible, they would not remember it all anyway. Therefore, every C++ dev uses a unique subset of the languages' features, and may not be familiar with the subset of other devs even with years of coding experience behind him.

-Compilers have a hard time keeping up with the flow of new features. This is especially apparent today with C++11, since features whose inclusion in the standard was decided almost a decade ago are still not properly supported by most commercial compilers.

-Design effort is spread between all the features, thus there is little manpower available to polish individual features. Rough edges are frequent because of this, and fixed slowly if ever (think about all the intricacies of operator overloading, or how long it took for the language to gain fixed-size integer types).

-Library compatibility with other languages is minimal unless people use a very small subset of the available features in them (essentially coding all interface code in C)


D seems to follow the same path as C++ on this front. It individually adresses every gripe that people have with C++, but does not even attempt to do so in a clean and small package. Thus, if D got the popularity of C++, it would likely suffer as much issues in the long run. The fact that the language has already went through a first incompatible revision of the spec in its short existence is especially telling on this front.

Reply Parent Score: 3

moondevil Member since:
2005-07-08

This complaint can also be addressed to Ada, Modula-3, Delphi, C#, Scala, Lisp, Haskell, ML...

Programming is a complex subject and invariably all languages that start as a movement against complex languages, end up getting complex as people realize that the features the designers left out actually exist for a reason.

The way Go throws out the window two decades of language research made me change from a initial contributor to the language, to a D/Rust fan.

Reply Parent Score: 2