Programming languages affect more people than professional coders. Although our technological civilization runs on software, the software doesn’t work very well. As our cover story by Scott Rosenberg puts it, “Everywhere you look, software is over budget, behind schedule, insecure, unreliable, and hard to use” (see “Anything You Can Do, I Can Do Meta”). Excessively complicated programming languages, of which C++ is one example, are a major reason for software’s confusion. This is because a useful programming language should be what computer scientists call an “abstraction” of the underlying complexity of control flows and data structures. C++ preserves for programmers the maximum possible freedom of expression; but as ”JLeslie” (another Slashdot commentator) admitted, “The cost was that it wasn’t much of an abstraction.”
There may be another way. Charles Simonyi, the former chief architect of Microsoft, who is now the chief of Intentional Software, wants to overthrow programming languages for something he calls “intentional programming.” Rosenberg’s profile of Simonyi explains how intentional programming might give developers a higher order of abstraction. Rather than writing software code in programming languages, programmers would gratefully relinquish the production of code to a “generator” that would swallow their designs, representing the intentions of computer users, and spit out working code in a language that computers could understand, compile, and run.
The best expression of ideas occurs in forms that are strict and simple. Could Charles Simonyi be offering programmers a new form that is at once easier and more rigorous than anything they have had before? Write and tell me at firstname.lastname@example.org