Rising above the mechanics of computation
This essay started with a short talk I gave for the local developer community, where I demonstrated that most programming languages are based on primitives of the mathematical models of computation, but that it instead might be worth basing it on the concepts that programmers need . That got me thinking: does this have real consequences? If so, what can be done? Studies have indicated that language ability is more important than mathematical ability for programming. Recruiters have long since realized that a computer science degree is neither necessary nor sufficient for a good software engineer. In contrast, the models of computation that current programming languages are based on are mainly mathematical in nature. This creates an intent-to-implementation gap where an intent has to be translated into a code structure that may look very different from the intent. This essay explores how programming languages are stuck in the primitives of the models of computation, how that impacts the...