Some things will always be written in the "1.0" fashion.
Some things will always be written in the "1.0" fashion.
Do you have a clear specification and expect exact results? "Software 1.0" is the best choice.
Do you have problems that are computationally intractable, or simply a huge amount of data and you can accept an approximate solution? This is where "Software 2.0" makes sense. It's already being used and it will keep expanding.
The factors that will determine the ration between "Software 1.0" and "Software 2.0" will likely be: * how much we will be willing to accept approximate solutions * how easy it will be to collect the training data and to train a neural network.
I can totally imagine an hybrid model where there is going to be a lot of "Software 1.0" with some black boxes trained using machine learning techniques.
I'm not very convinced we will have many 100% "Software 1.0" applications. That works well for some specific problems (like AlphaGo Zero mentioned in the article) but many other domains don't map that well to a machine learning problem.
Like the article clearly stated.