Quote from CalTrader:
If you want to learn the profession and actually understand how to do high performance and mission critical systems you are going to need to learn the details. You can start off fairly quickly doing object oriented work with modern languages and dig yourself deep into a hole.
Most of the modern tools have incorporated the technical details and abstracted them so that "programmers" dont need to be be concerned with them - and often dont know them.
use the tool that matches the problem and project goal - the latter is really what drives the implementation language choice.
Nope, you're stuck in the 80's mindset here, although I respect the true programmers who understand tight memory requirements and code for performance. I can't think of many instances where the project has driven the implementation language choice, unless you're writing a device driver or an embedded application. Programmers always want to use the latest and greatest language and development environment.
Regarding object-oriented design, you contradicted yourself. On one hand, you say that it's easy to learn, but then you say that you can "dig yourself deep into a hole." That's exactly my point - it ain't easy to do it right. I'll take a solid design over a slightly messy implementation any time. Hell, give 'em garbage collection. I don't want to see the programmers spending hours debugging stack dumps or corrupt pointers, especially if it's a trading application where one needs to see results quickly.