Version 10 of programming in 2050

Updated 2004-05-16 15:32:40

(or why is no good software available ?)

this is just an discussion about the future of programming including visions and reality based expectations


Andreas Otto, 16 may 2004


how will a programmer in 2050 work?

I expect that a classical programmer will disappear because doing programming by humans is far to expensive

who will write the software needed?

it will be a combination of a programming robot and a human who will act as a testing/quality engineer

how will programming in fact look like?

every software-project starts with a need. the interface between the tester and the programming robot will be designed to accept needs. needs are just restriction in form of test-cases.

every software-project is defined as a round-trip between writing test-cases and testing the application.

  1. every software starts with a basic set of test-cases
  2. the programming robot creates a runnable application which evaluates all test-cases without error
  3. the human test the application and checks if additional needs (test-cases) are useful
  4. back to step 2.

example 'tcl':

tcl is a programming languages with a set of ~12000 test-cases.

1. programming view

tcl is a tool who acts as input output machine and is valid if all test-cases evaluates without error

2. testing view

every tool which evaluates all test-cases without error is called a valid tcl-interpreter

 => question: what is the difference ?
 => answer:   you only need the test-cases to define the tcl interpreter 
              and 'not' the interpreter itself

RS Interesting... But I can sketch a trivial 'programming robot' that creates a compliant application for any given test suite (except if it contains contradicting tests):

 set f [open test.cases]
 foreach {case expected} [split [read $f] \n] {
    set outcome($case) $expected
 }
 close $f
 proc eval args {return $outcome($args)}

:)