Fortunately, the real
disadvantages are relatively easy to get around. The lack of
pointer arithmetic and
dynamic arrays can be hacked around using some ugly
typedef-ish code and turning off
range checking (unfortunately, that adds one of C++'s disadvantages back in), and
TP et al have had an option to add in un
typed
references for quite some time, though there's no good reason to turn it off (since untyped references (aka
void *s) are one of the hallmarks of why C and C++ suck).
I'd personally like a mix of Delphi (good object model) and C++ (good compilers). A simplified C++ which is actually object-oriented would be most appreciated. Unfortunately, the only real efforts in that regard have resulted in almost-but-not-quite languages such as Java.
(Wharfinger: I agree with you totally. That's part of why I stick to UNIX. I can't remember the last time I did any sort of unsafe typecast period. Oh, and I code exclusively in C++ now too, I just still like Delphi's object model better.)