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 untyped 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.)