For decades, software development has been done manually.
From punching cards in FORTRAN to writing distributed systems in Go, the discipline has remained fundamentally the same: think deeply about a problem, come up with a clever approach (i.e., algorithm) and give the machine a set of instructions to execute.
This method, which could be called “explicit programming,” has been integral to everything from the mainframe to the smartphone, from the internet boom to the mobile revolution. It has helped create new markets and made companies like Apple, Microsoft, Google and Facebook household names.
And yet, something is missing. The intelligent systems envisioned by early Computing Age writers, from Philip Dick’s robot taxi to George Lucas’s C-3PO, are still science fiction. Seemingly simple tasks stubbornly defy automation by even the most brilliant computer scientists. Pundits accuse Silicon Valley, in the face of these challenges, of veering away from fundamental advances to focus on incremental or fad-driven businesses.
Technological progress used to change the way the world looked—you could watch the roads getting paved; you could see the skylines rise. Today you can hardly tell when something is remade, because so often it is remade by code. When you press your foot down on your car’s accelerator, for instance, you’re no longer controlling anything directly; there’s no mechanical link from the pedal to the throttle. Instead, you’re issuing a command to a piece of software that decides how much air to give the engine. The car is a computer you can sit inside of. The steering wheel and pedals might as well be keyboard keys.
Most programmers feel the same way. They like code. At least they understand it. Tools that write your code for you and verify its correctness using the mathematics of “recurrent systems”. They understand as well that this is only the beginning and as we continue to travel into the future, the more complex and software friendly the world will become. Thus manual and “dinosaur methods” will be obsolete and not compatible with everyday activity whether it be in business or everyday life.
Article source: Forbes