The Robots That Will Put Coders Out of Work
snydeq writes Researchers warn that a glut of code is coming that will depress wages and turn coders into Uber drivers, InfoWorld reports. "The researchers — Boston University's Seth Benzell, Laurence Kotlikoff, and Guillermo LaGarda, and Columbia University's Jeffrey Sachs — aren't predicting some silly, Terminator-like robot apocalypse. What they are saying is that our economy is entering a new type of boom-and-bust cycle that accelerates the production of new products and new code so rapidly that supply outstrips demand. The solution to that shortage will be to figure out how not to need those hard-to-find human experts. In fact, it's already happening in some areas."
This time was different :(
Well, someone will have to write the detailed specification, and list of instructions for the system to use to know what the humans want it to code. We could call that person a 'Programmerator' and the system a 'Compileatron'.
Jokes one them. Uber's robot cares are going to put Uber drivers out of business.
I read the article, and I'm not buying it.
I can see programmers in some small, well-understood niche markets replaced by complex applications (which require more programmers to write!) and causing some programmers to go looking elsewhere for jobs. But new technologies for computer-aided software design are not going to cause structural unemployment any time soon in the IT profession.
Some reasons include the cost of miracle software-building robots will be at a premium, which means only the biggest players would be able to afford them. And after they purchase them, they will only be able to work well within a limited number of tasks.
Imagine how many more programmers would be needed if we didn't have compilers. Or automatic code generators. And the whole point of machine learning is that you write software that teaches itself how to do something, rather than program it directly.
Software developers have been quite good at moving up into higher levels of abstraction each time we multiply our productivity. There's so much work to do that I doubt our tools will ever "displace" us.
Any good software architect or engineer should have the goal of minimizing the needed code / work for a project. If it takes metaprogramming, then fine. If it requires creating general purpose run-times (such as auto optimizers, such as simple hill climbers or as advanced as large neural nets) thats fine too. If the general purpose runtimes can code and thus are meta programs, great.
The idea of declarative programming for specialized run-times is nothing new. If you apply it to a general runtime that can do programming, you then have a system that makes functions that meet specs: programming moves to producing what ever declarative specs such a system consumes. Once again its just a move to a higher level language and abstraction. If (and thats a big if) its trivial to write in such a language, and all us coders no longer need skill or experience to develop new applications and we all become unemployed, well, thats the goal right: make developing your applications trivial?
Every advancement we make, assemblers, higher level languages (like C), and all those language paradigms (OOP, functional, generics/templates etc) are supposed to help with this. So are libraries. We make software hundreds of thousands of times more complex than we used to because of these advances. Much of the software of today may become trivialized by the coming advancements just as much old software has been since we started programming. Maybe we will just keep making software more complex, or maybe well will create more different applications, or maybe we will just have time to catch up, optimize and fix all the broken shit? Or most of us could become unemployed because we have enough complexity, and new tools will make the work needed go down not up.
This is a "we'll all have flying cars" sort of paper by people who could not make flying cars but were convinced that they'd be here any moment.
Strong AI is the first "computer program" that has the potential to automate the act of creativity. Everything less can be a compiler, a pattern recognizer, an Uber driver, and in general a tool that does what it is told .
And we are not particularly closer to Strong AI than when it was first theorized.
I would be more impressed with a paper by people who could actually make the software these guys theorize about, rather than sophomoricaly discussing it.
Bruce Perens.
Let's see them work with PHB's and clueless users to nail down "requirements". Automating logic is easy, automating prediction of random idiots is not so easy because randomness is by definition not predictable.
You have go to lunch with and sit in boring meetings with them to figure them out, and the robot will be booted out of the room because it will ask good but embarrassing, ego-shattering questions; and not get the design analogies that use Kardashian asses as reference points, asking silly questions in an attempt to figure it out. The business world is bunches of social institutions much more than it is think tanks.
You are trying to replace humans, not Vulcans. Kirk ran the missions better than Spock because he could identify better with illogical and petty aliens.
Table-ized A.I.
The solution to that imaginary shortage will be to figure out how not to pay those easy-to-find human experts. We call part A of this solution "offshoring", and part B the "H1B Scam." And it's working just fine.
FTFTFS.
I've fallen off your lawn, and I can't get up.