Artificial intelligence can compose songs, paint pictures, help in cancer therapy, drive cars and play games. It’s also starting to write code.
Does it mean that the days of human programmers are already numbered? Will software engineering be automated?
3. 3
What can AI do?
In 2011, an IBM computer - Watson - took part in the television quiz show “Jeopardy” to compete against its former
winners. Watson had to listen to questions and give answers in a natural human language.
It was not connected to the internet.
However, it learned from 200 million pages of structured and unstructured content that took up four terabytes of disk
storage. Watson won the first prize of $1 million.
⋅ Beat humans in quizzes
5. 5
What can AI do?
In 2013, Artificial Intelligence was tasked with detecting breast cancer. A neural network was trained to find signs of
cancer using tens of thousands of mammographic images of the disease.
But the neural network has learned that it is not so important to look for the tumors themselves, but rather some other
modifications of the tissue which aren’t in the immediate vicinity of the tumor cells.
This was a new and important development in breast cancer detection. .
⋅ Make medical discoveries
6. 6
What can AI do?
Magenta is a Google Brain project, and its objective is to figure out whether machine learning can be used to create
compelling art and music, and how we should go about it.
The team that created Magenta used TensorFlow, a Google machine learning library.
⋅ Compose songs
8. 8
What can AI do?
In February 2016 in San Francisco, Google sold 29 paintings on a charity auction. All of them were made by Google’s
Artificial Intelligence.
The event was called “DeepDream: The art of neural networks.” The paintings went for more than 8000$, as The Wall
Street Journal reported.
⋅ Paint pictures
10. 10
In December 2015, Google released the TensorFlow library to the public. Now it’s an open-source software for
machine learning.
A few weeks after Google's release, Microsoft open sourced their Computational Network Toolkit AI, a deep learning
framework now called the Microsoft Cognitive Toolkit.
After another few weeks, Facebook open sourced their own artificial intelligence library called Caffe2.
AI for everyone
12. 12
AI is writing code
Microsoft and Cambridge University researchers have developed artificial intelligence that can write code and called it
DeepCoder. The tool can write working code after searching through a huge code database. It then tries to make the
best possible arrangement for the harvested code fragments and improves its efficiency over time.
This doesn’t mean the AI steals code, or copy-pastes it from existing software, or searches the internet for solutions.
The creators of DeepCoder expect that it will participate in programming competitions in the near future.
⋅ DeepCoder
13. 13
AI is writing code
According to Marc Brockschmidt of Microsoft Research, who is a part of the project, such system could be very useful
to non-coders. They'd only have to describe their program idea and wait for the system to create it.
‘We might end up having such system in the next few years. But for now, DeepCoder’s capabilities are limited to programs
consisting of five lines of code,’ he said.
You can find DeepCoder’s documentation here.
⋅ DeepCoder
14. 14
AI is writing code
A company called Diffblue released a tool that allows developers to harness the power of AI to generate unit tests.
Diffblue’s use of AI allows it to mimic the way human developers carry out tests to make sure their code performs
correctly. Moreover, the tool takes just seconds to generate the tests, and requires no extra effort from the user.
This allows anyone, from an aspiring programming student to a highly-qualified professional, to save time while
generating tests and rely on the AI-powered tool to do all of the legwork for them.
⋅ Diffblue: automating unit tests
15. 15
AI is writing code
Microsoft's Visual Studio IntelliCode is the the next-generation version of IntelliSense, the highly popular code
completion tool. It was made generally available in May 2019.
While IntelliSense would provide the user with an alphabetical list of recommendations, scrolling through which could
prove troublesome and time-consuming, IntelliCode recommends the most likely method or function based on the
developer’s previous usage. The more it’s used, the more accurate its predictions become.
⋅ Code completion with IntelliCode
16. 16
AI is writing code
In November 2017, Andrej Karpathy published a blog post titled Software 2.0 in which he argued that there has been a
fundamental paradigm shift in how humans build software. According to Karpathy, there is a new trend in software
development that is able to rapidly advance the process, minimize human involvement and improve our ability to solve
problems.
The emergence of Software 2.0, Karpathy argued, means that developers will no longer need to write code. They will
just find the relevant data and feed it into machine learning systems which will then write the required software.
⋅ Software 2.0
18. 18
Will AI replace programmers?
In 2016, Microsoft released a Twitter bot called Tay. It was designed to mimic the language patterns of a 19-year-old
American girl, and to learn from interacting with human users of Twitter. After just 16 hours following its launch,
Microsoft was forced to shut Tay down because the bot began to post offensive tweets.
In early 2017, Facebook had to shut down its bots, Bob and Alice. They were created to perform conversations
between human and computer. But when the bots were directed to talk with each other, they started to communicate
in a way that was impossible for people to understand.
⋅ Can AI be controlled?
19. 19
Will AI replace programmers?
Elon Musk is known for his scepticism
towards AI. His worry is what will
happen when the machine becomes
smarter than the human.
20. 20
Will AI replace programmers?
There is no doubt that computers will be much better at programming in the near future than they are now. Which
brings us to a quite scary conclusion.
"It’s just a matter of time until neural networks will produce useful code. So things are looking bleak for computer scientists like
me," believes professor Bauckhage, from Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme,
Germany (IAIS).
21. 21
Will AI replace programmers?
But is the future really that dark?
According to Armando Solar-Lezama of MIT, tools like DeepCoder do have the potential to automate code
development, but AI isn’t going to take away the jobs of developers. Instead, a system based on program synthesis can
be used to automate the tedious parts of code development while the developers focus on complex tasks.
22. 22
Will AI replace programmers?
Nearly a third of software developers fear that AI will eventually take their jobs. In an Evans Data Corp. survey, 550
programmers were asked about the most worrisome thing in their careers. The most common response (29%) was:
"I and my development efforts are replaced by artificial intelligence."
According to Janel Garvin, CEO of Evans Data, the thought of obsolescence due to A.I. "was also more threatening than
becoming old without a pension, being stifled at work by bad management, or by seeing their skills and tools become
irrelevant."
23. 23
Will AI replace programmers?
There is no doubt that the technology will continue developing and growing smarter. Eventually, it might become
smarter than humans. How can we handle such a possibility? Stephen Hawking also saw a real danger that computers
will develop intelligence. But he also offered advice:
"We urgently need to develop direct connections to the brain so that computers can add to human intelligence rather than
be in opposition," Hawking said.
25. 25
What’s next for software development?
It will take some time before AI will be able to create actual, production-worthy code spanning more than a few lines.
Software development is an inherently complex endeavour. The process of creating code from scratch consists of a
number of elements that need to blend together seamlessly to form a functional product.
Although advances in AI have been plentiful and far-reaching, the technology on its own certainly isn’t enough to
replace humans, and it doesn’t look like it will be able to any time soon.
26. 26
Thank you for reading!
If you have a machine learning project in mind, we can help you out.
And, if If you'd like to start developing your skills in machine learning, check out this article.