(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 does a programmer in 2050 will 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 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