crisis in computer programming

Computer programming has NOT advanced in ~60 years!

[2019/07]

The last significant advance in (main-stream) computer programming was object-oriented programming, introduced or formalized by the programming language SIMULA. But that was back in 1962.

Now in 2019, computer programming hasn't advanced, not fundamentally. Software is still written primarily in SIMULA-inspired C++ which itself has aged ~40 years.

The object-oriented syntax of C++ has certainly facilitated developing more complex programs. But that in itself is a problem -- programs have become far too complex. The innovation of OOP was a syntax for encapsulating code with an interface. But interface is only a fraction of total code, bulk of most objects is actually written in low-level imperative C, an error-prone way of programming. Writing, or not writing, one silly ampersand & in C++ can easily cause failure: f( obj ) vs f( &obj ). C/C++ were never meant for writing highly reliable software, they were developed on research computers where mistakes were harmless and funny. But inevitable bugs in C++ software that controls "self-driving cars" absolutely won't be harmless nor funny. Hence a crisis.

next advance in computer programming

This author predicts the next advance in computer programming will involve:

  • The end of writing lines of static code.
  • The end of step-by-step (imperative) programming.
    (No variables, no loops, no if/else, no functions, etc.)
  • Result-oriented programming.
    (What-to-do, rather than how-to-do.)
  • Dynamic graphical representations of a program.