(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.
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)}
:)