But how long will this idea of 'fusing thoughts and intellectual processes' remain the sole domain of humans? Besides from some creative leaps, a lot of this has to do with logic: knowing what works where and when.
I'm working on an idea tied to literate programming where someone can tell a story of what they want a program to do, put it in a wiki, and then programmers can edit the wiki to add in the actual software to make the program work. How hard would it be to use NLP parsing, feed it into something using the priciples from BDD, take something that turns that into UML the run it through a code generator and you have an MVP. Software engineers may then end up like manufacturing engineers in that their job is to tweak and fine tune the output. But even then that part of the job may fall to ML which recognizes similar patterns between software implementation and optimum utilization (there are only so many ways to write a user login page on a web app for example)
I think thinking will never become mass-produced, but Mass-producing turning thoughts into software may happen within my lifetime.
Edit: missed out the main point from my last sentence.
Turning thoughts into software is what software engineers do every day. At every point along the technology trajectory technologists have created more and more powerful abstractions. When transistors where first created: print "Hello World" would have seemed a magical melding of the minds of machine and man, whereas today we can create customized eCommerce social networks with a few keystrokes.
However, as powerful as the tools get, you still have to tell the machine exactly what you want it to do. Depending on the tool, sometimes that is easy, sometimes that is hard. I feel like there should be a fundamental law of "ability to easily express" vs "flexibility of expression." I'm not sure how much machine learning can serve as our savior in this regard, even if we can eliminate "make an Amazon clone" posts on cheap-outsourced-developer.com by just using ML to classify it and spit out the boiler plate.
In order for something to be profitable it has to be customized, and when this happens the abstractions inevitably seem to break down. Based on this I think turning thoughts into software will happen around the same time thinking becomes mass-produced. How can you create, "eBay, but for car buying, with a twitter messaging component built for the Brazilian market" without first beating the Turing test as a sub-problem?
So, I want to check my diary and see what I need to do today. Anything really important should flash, so I know I need to take care of that. But, I know that my boss is waiting for me to finish that puff piece on our new acquisition, so double flash that. Also let me know I need to buy cat food. Stat.
Make a program that can parse that piece of text and you're onto a winner. (I'm trying)
It's a neat idea, but I don't think it's particularly useful. Natural language is an unnecessary abstraction that will not help you solve the problem, unless the problem in itself is about grasping the syntactic peculiarities of your language of choice. From your examples, it seems like it would just be a very verbose way of defining a solution to a problem in basically the same way you do in any imperative language.
Syntax should be the least of concerns, and even if it wasn't, involving the subtleties and ambiguities of english language wouldn't be the solution.
EDIT: I don't mean to say that a natural language programming language couldn't be useful, but I'm arguing that it won't be unless you can use natural language to move closer to the problem domain, rather than abstracting the solution description further.
I'm working on an idea tied to literate programming where someone can tell a story of what they want a program to do, put it in a wiki, and then programmers can edit the wiki to add in the actual software to make the program work. How hard would it be to use NLP parsing, feed it into something using the priciples from BDD, take something that turns that into UML the run it through a code generator and you have an MVP. Software engineers may then end up like manufacturing engineers in that their job is to tweak and fine tune the output. But even then that part of the job may fall to ML which recognizes similar patterns between software implementation and optimum utilization (there are only so many ways to write a user login page on a web app for example)
I think thinking will never become mass-produced, but Mass-producing turning thoughts into software may happen within my lifetime.
Edit: missed out the main point from my last sentence.