Software developers have plenty to keep them awake at night. Their top concern is no longer how to express the latest algorithm in their favorite language (C, C++,Erlang, Java, etc.). Instead, It’s being replaced by artificial intelligence(AI).
Here
we take a look at the process for AI writing code and answer the question: willAI replace programmers?
The Future of AI Technology
In
a survey conducted by Evans Data Corp,
550 software developers were asked about the most worrying aspects in their
career. 29 percent said, “I and my development efforts are replaced by artificial intelligence.”
A
team of researchers at the U.S. Department of Energy's Oak Ridge National Laboratory agrees. By
2040, machine learning and natural language processing technologies will be so
advanced that they will be capable of writing better software code. And they’ll
do it faster than the best human developers.
Oxford
University’s "The Future of Employment" study warns that software
engineers may become computerized as machine learning advances. And software
design choices will be optimized by algorithms.
Software development, particularly in safety-critical industries, needs to ensure high
code quality that delivers on functional requirements.
So,
if AI is developing code, the code should be error- and issue-free. This also
includes AI in software testing, as it should be able to detect coding
errors “with a reliability that humans are unlikely to match.”
Is AI Writing Code Possible?
AI can write code.
In
2015, Andrej Karpathy ran a project that used Recurrent Neural
Networks to generate code. He took GitHub’s Linux repository
(all the source files and headers files), combined it into one giant document
(it was more than 400 MB of C code), and trained the RNN with this code.
AI
generated code — including functions and function declarations — overnight. It
had parameters, variables, loops, and correct indents. Brackets were opened and
later closed. It even had comments.
However,
the AI produced code had syntactic errors. It didn’t keep track of variable
names. Sometimes variables were declared but never used. Other times
variables were used but not defined. The second function in the code example
compares "tty == tty".
The
project is available on GitHub. It uses the Torch7 deep learning library. Here is the
whole output file produced by Karpathy’s exercise.
So, Will AI Replace Programmers?
AI
won’t replace programmers. But AI might write code one day.
Of
course, it will take time before AI will be able to create actual,
production-worthy code that spans more than a few lines.
Here’s
how AI will impact software development in the near future.
AI Will Improve
It
will become effective at helping developers understand their options. And it
will then let the human decide how to optimize for circumstances beyond AI’s understanding.
AI Will Become a Coding Partner
Software developers will use AI as a coding pair to write better software.
But Programmers Will Remain Important
The
true value of a programmer is not knowing how to build it. The value is in
knowing what to build.
It
will take even longer before AI learns how to interpret the business value of
each feature and advise you what to develop first. There will always be a role
for the human programmer.
What If AI Writes Reliable Code?
That’s
a big "if". Most humans can’t write reliable code. And AI is just an application
that analyzes vast amounts of human written code. So, it’s unlikely that AI will write reliable code.
So, AI isn’t the answer to improving code quality.
About us: TMA Solutions was established in 1997 to provide quality software outsourcing services to leading companies worldwide. We are one of the largest software outsourcing companies in Vietnam with 2,500 engineers
Visit us at https://www.tmasolutions.com/
No comments:
Post a Comment