Linked by Thom Holwerda on Wed 25th Jun 2008 14:47 UTC
Thread beginning with comment 320340
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
News
Linked by Thom Holwerda on 05/25/13 0:45 UTC
Linked by Thom Holwerda on 05/24/13 23:59 UTC
Linked by Thom Holwerda on 05/24/13 22:33 UTC
Linked by Howard Fosdick on 05/24/13 21:41 UTC
Linked by Thom Holwerda on 05/24/13 14:44 UTC
Linked by Thom Holwerda on 05/23/13 23:22 UTC
Linked by Thom Holwerda on 05/23/13 22:04 UTC
Linked by Thom Holwerda on 05/23/13 22:01 UTC
Linked by Thom Holwerda on 05/23/13 17:52 UTC
Linked by Thom Holwerda on 05/22/13 22:23 UTC
More News »
Sponsored Links



Member since:
2007-12-18
C++ may have some syntactical and library annoyances, but when used intelligently it is an incredibly effective and elegant (yes, elegant) language. It carries over C's major strength of being wonderfully cohesive with the von Neumann architecture and memory model.
C++ goes further than C in natively supporting a number of programming paradigms that, in skilled hands, can produce code that is minimal, understandable, correct and fast. But in that is its weakness. It is not Basic, it is not COBOL, and it is not JAVA. To use C++ really effectively requires many years of experience working with good people, not just in coding, but in design, in order to recognize and to optimally choose the mix of implementation paradigms that best suit the problem domain.
An understanding of the commonality and variability, both within the problem domain and in the implementation domain does not come easily, and if you are working with a single-paradigm language, your thinking itself is constrained. C++ helps out in this area by being a mature multi-paradigm language, although nowhere near to the extent of something like Oz. Thinking about things such as structural commonality and type variability, type commonality and structural variability, safe deterministic resource management, compile-time metaprogramming, etc. in C++ is now quite natural.
C++ is not a static language, it is evolving intelligently albeit slowly. However, C++ is not a language that enables you to deal easily or safely with the a numbers of CPU cores, yet this is the direction the hardware world is heading towards. It will be interesting to see if C++ can evolve and survive as a major language when thousands of cores become the norm.
Edited 2008-06-27 03:54 UTC