Linked by Hadrien Grasland on Wed 15th Jun 2011 07:32 UTC, submitted by ebasconp
General Development "The recently finished C++ ISO standard, with the working name of C++0x, is due to be published this summer, following the finishing touches to the ISO spec language and standards wonks agreed upon in March."
Thread beginning with comment 477430
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: Basically, awesome
by FealDorf on Thu 16th Jun 2011 22:47 UTC in reply to "RE[3]: Basically, awesome"
FealDorf
Member since:
2008-01-07

Type safety has nothing to do with nominal typing. OCaml and Haskell have a (more powerful) version of the type system in Go. For most part, C++'s class system is mostly restricted VTables. Greater flexibility and consistent type system has nearly always been better for languages..

PS: I have only cursory knowledge of most of these languages. I love C++ for the templates, not so much a fan of the class system

Edited 2011-06-16 22:51 UTC

Reply Parent Score: 2

RE[5]: Basically, awesome
by vodoomoth on Fri 17th Jun 2011 08:36 in reply to "RE[4]: Basically, awesome"
vodoomoth Member since:
2010-03-30

The "class system", whatever meaning you intended to put into the phrase, in C++ is exactly the same as in Java with one glaring difference and another less obvious: multiple inheritance and friends.

I don't know any other OO languages but, as I understand it, a "class system" is only about inheritance, abstraction and encapsulation. I can't see how these basic bricks of OOP can be implemented in such a strikingly better way that you would be "not fan of the C++ class system".

Could you elaborate on what you call "class system" and C++'s shortcomings as to that class system?

Reply Parent Score: 2

RE[6]: Basically, awesome
by FealDorf on Fri 17th Jun 2011 11:15 in reply to "RE[5]: Basically, awesome"
FealDorf Member since:
2008-01-07

What makes you think I'm talking about Java as being in any way superior?
Class System is done (almost) right in Eiffel. Method Renaming and Deleting.
The deficiencies? Diamond Inheritance and Constructor Chaining can make easy mistakes. The argument given is that "good practices and patterns will obviate this" but most of them exist only to overcome the shortcomings of the type system.

PS: And to clarify, the reason i say "class system" is because I don't wish to include templates into it, which are a lot more awesome

Edited 2011-06-17 11:16 UTC

Reply Parent Score: 1