To read all comments associated with this story, please click here.
While Stroustrup's comments are consistent with the high barriers of his baroque creation, C++, in the big picture programming is too important to be reserved for a narrow elite. The diversity of programming languages, the fun that people of all ages can experience programming, and the unique notion of manipulating a universal tool that is a computer -- these are but a few points at odds with his vision.
The danger that Stroustrup claims varies wildly across the enormous and growing variety of contexts involving programming. E.g., if so many office workers are allowed to do word processing, why should they not be allowed to program in the appropriate context? I recall that spreadsheet manipulation may be considered to be most prevalent form of programming. Of course, we can imagine far more than these trivial scenarios, especially given a more progressive education system.
Edited 2007-02-14 01:23
"The danger that Stroustrup claims varies wildly across the enormous variety of contexts to which it may be applied. E.g., if so many office workers are allowed to do word processing, why should they not be allowed to program?"
Well, believe it or not even that seemingly harmless programing can become a huge problem.
I know far to many business that handle a lot of task with "hacked" Excel spreadsheets, with poorly put together macros done by employees with zero prior programming experience (and who didn't want the responsibility but didn't have a choice).
The result? Hundreds of hours lost each year because of a combination of macros failing in edge cases, "minor" modifications done "just for this month's report" that become permanent, incomplete workflows involving several manual steps that can easily be done wrong, and a long number of etc.
Here's another response to Stroustrup, written by "ssargent" in the comments section of the Stroustrup article:
BS has answered many criticisms of C++ simply by saying that most people shouldn't use it. It designed for maximum freedom and expression and requires specialized skill to operate. I agree, we need languages that offer specialized abilities for special programmers. But where I take issue is where BS claims that we have highly specialized and skilled people as bankers and lawyers and what not. Likewise, we need skilled programmers and that amateurs should not program. Seems like a bad idea according to his own principle and argument:
For someone who is most specialized at finance or law, time spent learning how to be a specialist at programming trades off with their ability to learn how to be specialist in finance or law. Likewise, the specialist in programming may not know all the nuances of finance and may not create the perfect program for the financial specialist. If the laity could program, so could those overspecialized in other areas. They could create applications custom tailored to their specialized knowledge in the field that goes beyond the functions of a multi-purpose one size fits all program. But this would be vision of the user knowing best what the user wants instead of the specialist programmer...seems like there should be some room for both. Hopefully Simonyi in "anything you can do, I can do meta" will help create that meeting place.
Couldn't have said it better myself.






... It would just make it easier for that programmer to modify their software on the spot and show the customer the results.
Member since:
2006-12-31
"Code should be ... easier for end customers to visualize and to modify."
I'm not so sure that's a good idea.
See Stroustrup's comments:
"The idea of programming as a semiskilled task, practiced by people with a few months' training, is dangerous. We wouldn't tolerate plumbers or accountants that poorly educated. We don't have as an aim that architecture (of buildings) and engineering (of bridges and trains) should become more accessible to people with progressively less training. Indeed, one serious problem is that currently, too many software developers are undereducated and undertrained."
http://www.techreview.com/Infotech/17868/page2/