JM put it very well ( JM on August 30, 2007 06:32 AM )regarding C++ for technical programmers, but possibly not for business programmers.
What he described is a technical language for professional technical programmers, as contrasted with business programmers. Technical programmers create technical software, e.g. OS’s, drivers, libraries, utilities, compilers, middleware, and maybe even sophisticated applications such as the components in an “office” bundle.
Business programmers create line-of-business domain-specific applications. Their main professional competency is knowledge of the business domain.
If one obligation of all programmers is to, “Do no harm,” then the expectation for these two groups and the languages they use are different.
It is fair to expect technical programmers to operate at the level of having read and absorbed the books JM described.
However, I think that business programmers can validly prefer languages that are easy to learn and easy to use. I have always valued the characteristic of some languages (and libraries) that let you start with a minimal amount of knowledge and use as much more as you learn. APL, Compiled Quick BASIC, spreadsheet tools and many others have this characteristic.
I also appreciate simple syntax. Compiled QuickBasic meets that characteristic. Yet it is almost as powerful as c, except for function pointers. VisualBasic added even more powerful capabilities over the years, reaching a peak with VB 6 but going downhill from there.
For business programming, it is reasonable for programmers to NOT attain full assimilation of the entire syntax and library. With a good IDE, they can exploit the help and online doc for anything they think should be doable, but never learned or don’t recall how.
Even for technical programmers, with so many categories of API’s within the operating system, application frameworks, communications, graphics, database etc. you cannot expect to know everything you will need on the next project. In a web services XML world, you cannot expect to know all the schemas and services, even those documented at http://www.oasis-open.org/
David Kra