Linked by Thom Holwerda on Mon 13th Aug 2007 17:57 UTC
General Development "A good programming language is far more than a simple collection of features. My ideal is to provide a set of facilities that smoothly work together to support design and programming styles of a generality beyond my imagination. Here, I briefly outline rules of thumb (guidelines, principles) that are being applied in the design of C++0x. Then, I present the state of the standards process (we are aiming for C++09) and give examples of a few of the proposals such as concepts, generalized initialization, being considered in the ISO C++ standards committee. Since there are far more proposals than could be presented in an hour, I'll take questions." Dr. Bjarne Stroustrup is the original designer and implementer of the C++ Programming Language.
Permalink for comment 263161
To read all comments associated with this story, please click here.
RE[3]: C: Esperanto
by falemagn on Mon 13th Aug 2007 20:57 UTC in reply to "RE[2]: C: Esperanto"
falemagn
Member since:
2005-07-06

"Macros are bad."


Not necessarily. Macros provide for a way to transform text into other text, what's bad is the usage of macros that some people do.

With macros you could do this, in C++:

synchronized(object)
{
// Atomic operations here
}

Just like in java, and it would be totally legal C++, provided the macro synchronized expanded to something like this:

#define synchronized(o) for((o).Lock(); (o).isLocked(); (o).unLock())

Where o would be an object of a class exposing the Lock/isLocked/unLock methods. If a class inherited from a, say, synchronizable class implementing those methods, you would be able to do

someclass::somemethod()
{
synchronized(*this)
{
// bla bla bla
}
}


Which would be the equivalent of a synchronized method in the Java language.

"Range checking is good in all but the most performance-critical code."


You can have range checking in C++, you just need to either implement it in a class of your own or use some of the already existing classes.

"I'll add that manual memory management is usually (but not always) unnecessary.!"


You can have managed memory handling in C++ as well.

Reply Parent Score: 3