Jerry Feldman wrote:
But, my point about C++ and assembler is missed. While a well written and commented assembler program can be highly maintainable, a program PROPERLY written in a higher level language should be more maintainable and more portable.
Completely agree. The one thing with C++ - in my experience that is - is that many programmers seem to loose track of the objective, and start writing code just for the sake of the code. You can do a thousand really elegant things with C++, but they're not always necessary.
However, the assembler code should perform better. In terms of maintainability, assembler is generally no taught in most schools where C++, C and Java are.
Whether a topic is taught in the schools I see more as a question of productivity - ie. can you hire a new graduate and have him do productive work right away. In the few places where assembler would still be warranted, a new graduate wouldn't be much good e.g. due to lack of OS knowledge.
In the case of the programming staff at the bank, I was probably the only programmer analyst who knew IBM assembler (a couple of the systems programmers did).
I would never advocate writing applications in assembler, only system-level software. Not even in TPF (where everything is about speed) do they write apps in assembler (well, not anymore). /Per Jessen, Zürich