January 10th, 2003, 7:58 pm
mkholm,I'm starting to like these debates. Sitting within view in my office I have a niceSOLARIS box, an INDY, an NT box, a laptop and my XP machine that I'm writingthis stuff on.C++ is probably the worst language ever for portability. Did you realise thattoday, there is still not a single compiler that can handle all of the it? If you'veever had to port code over from pre-iostreams and the STL you would not makethese silly claims.Templates are a complete abortion for portability. EVERY template implementationis choked full of pre-processor macros and crap to even make the library build.As you've quite rightly pointed out, in *THEORY* you can probably do anythingin any language and you point out reflection as one feature that you can easilydo. Hence I provide you with a challenge to present in ISO C++ a chunk of code that enumerates the sub-classes of a specified class from a library. Also provide some code to call even a simple function for which you do not have a prototype.In C++, these will require assembly language, but I look forward to your solution.Like you, I used to believe in portable code and within the realms of academiaeven managed to sometimes achieve it. In the real world, where languagesand systems change constantly there's no such thing - and nobody cares.The only truly portable code is code that's been ported.