A new year. A new approach to programming.
Folks: It is 2012 (well over here it is)—and it is time to refresh and renew the Art of Programming a little.
In some ways, programming is quite far advanced as of today—yet in some other ways it pretty curiously lags behind. Here are some examples:
- Error reporting, repairment and, finally, solving is an awkward process in very many systems. Errors are lost in obscure logs (or in no log at all). Continuing a program that was halted due to an error is not possible in typically used languages.
- Migrating programs from one machine to another is usually cumbersome.
- Influencing or augmenting a program while it runs is typically difficult or impossible.
- Combining two programs into a larger one is strangely complicated and often causes a lot of errors.
- The processes of programming, running a program, writing test cases and solving the test cases are separated from each other and incur a lot of duplicate work.
New Programming aims to introduce a number of new concepts into well-known programming languages that solve those problems. Establish new standards in important areas.
Because there is more—than what we have today. We can build new standard services right into the runtimes and thus greatly simplify our day-to-day programming jobs.
The quality of these ideas is, in a funny irony, probably the very reason why they have not been introduced before—at least not practically (large-scale).
People, strangely, did not want to make their lives too easy.
Because if their lives were too easy—then they might not "have work" anymore. And since they had this weird idea of "work" as a necessary component in their lives (God only knows why they thought that!), they were afraid to let go of their burden.
But now is the time to shed that burden. Let us make programming a natural, flowing task again. We want to be programming—yet not: "working".
Not 'working' in the tedious sense anyway.
So let's get started with those improvements, shall we?
(To be continued...)