The discipline has stayed substantially the same, from punching cards in FORTRAN to building distributed systems in Go:
- Think thoroughly about a problem.
- Come up with a clever technique (i.e., algorithm).
- Provide the machine with a set of instructions to execute.
This strategy, which could be called ” explicit programming, ” has been essential from the mainframe to the smartphone, from the internet boom to the mobile revolution, this strategy, which could be called “explicit programming,” has been essential. It has aided in developing new markets and enabled companies such as Apple, Microsoft, Google, and Facebook to become household names.
From Philip Dick’s robot taxi to George Lucas’s C-3PO, the intelligent systems envisioned by early Computing Age writers are still science fiction. But something is lacking. Even the most skilled computer scientists are unable to automate seemingly easy processes. Pundits accuse Silicon Valley of drifting away from fundamental improvements in the face of these hurdles, focusing instead on incremental or fad-driven firms.
Of course, that is going to change. Waymo’s self-driving cars recently reached a milestone of eight million miles driven. Despite not being fluent in six million modes of communication, Microsoft’s translation engine can match human levels of accuracy in Chinese-to-English activities. Entrepreneurs are breaking new ground in fields such as intelligent assistants, industrial automation, fraud detection, and many more.
Individually, these new technologies have the potential to change our lives. They represent a significant shift in how we think about software development and a substantial departure from the explicit programming model.
Deep learning, an artificial intelligence technique inspired by the structure of the human brain, is at the heart of each of these breakthroughs. What began as a specialised data analysis tool has evolved into something resembling a broad computing platform. It surpasses traditional software in a wide range of tasks, and it could eventually offer the intelligent systems that have long eluded computer scientists – feats that the media occasionally exaggerates.
Many onlookers miss the most important reason to be enthusiastic about deep learning’s future among the hype: deep understanding requires developers to write very little real code. A deep learning system automatically develops rules based on past examples rather than preset rules or if-then statements. To paraphrase Tesla’s Andrej Karpathy, a software developer needs to design a “basic skeleton” and leave the rest to the computers.
Developers no longer need to create a unique algorithm for each problem in this new world. Instead, most of the labour is focused on creating datasets that accurately depict expected behaviour and controlling the training process. As far back as 2014, Pete Warden of Google’s TensorFlow team noted out: He wrote, “I used to be a coder.” “Now I teach computers how to programme themselves.”
Again, the programming model that underpins today’s most significant software advancements does not necessitate a large amount of actual programming.