@kamelito
I have seen that you are using C++ isn t plain C faster? Code generation and datas alignement aren t optimal in C++ except if you know your compiler and check what is produced no?
That's all myth and nothing of this is true. Thomas already said most, but let me add some more:
1. C++ has much more features to tell the compiler more closely what you actually want to achieve, which in turn helps the compiler to produce better code.
2. there are certain C++ features that are considered to be "slow". But in general, if you want to achieve the same in plain C you'd actually have to come up with sth. similar to what the C++ compiler would create for you automatically - and in 99% it is much more likely that the C++ compiler is better than you.
3. some C++ "special" features may result in significant overhead (e.g. RTTI or exceptions). But then again, see (2). I usually don't need those beforementioned two features and tell the compiler not to create support-code for them (original T57 uses RTTI, but it's actually unnecessary there, so I got rid of it for the Amiga versions).
4. Regarding alignment Thomas already said pretty much everything. However (and all of the following is true for both C and C++) it's often worth to take a closer look at what the compiler creates when it comes to your structures. Bit-fields, for example, may, depending on compiler, not be lay out as you probably hoped they would (which is why I usually implement those "manually").
Anyway, those are facts. C++ is without doubt the superior language and the generated code is in no way slower than a C equivalent would be, actually it is likely that the contrary is true if you use the features C++ offers wisely.
If you
like C++ is a different question. Certainly you'll find lots of devs who dislike it. And you will find lots of devs who like it.
But who cares what others like or dislike.
I like it and I know how to use it to get real fast code.
Using C++ as a better C or going the OOP road?
C++ gives you the freedom to do chose any of those paths or just mix them.