4 ms·
The future of computing is design by contract and intentional programming. You define your goal, and that's about it. Most technicalities will be delegated to m
by miguelrochefort 13y ago
The future of computing is design by contract and intentional programming. You define your goal, and that's about it. Most technicalities will be delegated to machines.
Most programmers will develop smart agents that will manipulate a decentralized and unique semantic data source. All of this is quite obvious.
- chad_oliver 13y agoWe've been making this prediction for decades, and it still hasn't arrived. I think the problem is that as our software tools become more capable, we tackle larger projects. As time goes on we'll be able to solve a greater number of problems by 'defin[ing] your goal, and that's about it', but we won't be able to solve a larger proportion of problems. That said, I still see a lot of potential for this sort of programming. One of my side projects is an attempt to bring intentional programming to embedded hardware design.
- Sven7 13y ago>it still hasn't arrived Have you seen wolfram alpha in action?
- Peaker 13y agoFor me, Wolfram Alpha has always just worked on the examples given by them, but when I try my own inputs, it fails on almost all of them. Even though my inputs are just variants of the same queries.
- chad_oliver 13y agoYeah, that's part of the reason why I said that "we'll be able to solve a greater number of problems by 'defin[ing] your goal, and that's about it'". Progress will happen at a steady rate, but the problem space will expand even faster.
- antrix 13y agoCurious to know, other than SQL, are there any other examples of successful technologies that achieve this intentional, goal-driven programming?
- primaryobjects 13y agoThis sounds like genetic algorithm programming (see my other comment below https://news.ycombinator.com/item?id=6080492 https://news.ycombinator.com/item?id=6080492). Writing a program consists of defining the end state. The GA then runs through thousands of epochs, getting closer and closer to the end state (determined by a fitness score for each program), until the solution is found. I was able to achieve automated programs for printing text, simple math operations, string manipulation, and conditionals. After that, programming the fitness methods started getting complicated.
- dualogy 13y ago"Answer Set Programming" or more generally, Constraint Programming.
- count 13y agoThis sounds suspiciously like PROLOG...
- hexagonc 13y agoI agree with you, but all you've really said is that we will rely on general AI to accomplish our goals. The stupider the AI, the more you have to define yourself. You'll have to define the terms used in the description of your goal as well as terms used by those terms. This sounds like defining requirements. The problem with this is that, lacking general AI, the effort it takes to define your goals precisely will probably be equivalent to writing a program anyway. The only difference between defining requirements and coding is people writing requirements can rely on a lot of background knowledge by the reader. Most of us that have worked in the corporate world know how poor technical requirements can be.