Automatic Programming Do What I Mean (not 100$ Line of code!, no programming bugs) The holy grail of programming languages & systems
Automatic Programming:
- Given a specification, build a system that implements the spec.
- Prove that the implementation matches the spec.
- Do it better than a team of programmers.
- Program Specifications are:
- Difficult to write
- Difficult to read
- Often incomplete
- Humans translate Spec to Program
- Fills in the gaps
- Otherwise mechanical
- Error prone and expensive
- Must start at a higher level
- Automatic programmer
- System “discusses” problem
with designer
- System builds prototype
- Customer evaluates prototype
- Its is a Turing test – imitate a programmer (staff).