Categories: Industry Trends, Technologies
Tags: AI, Myths
Artificial Intelligence: New Challenges
The topic of artificial intelligence (AI) is perhaps one of the most conversational and controversial topics of the modern world. There have been relatively impressive results from the use of artificial intelligence. However, there are also serious concerns about how humanity will change with its widespread use in all spheres of life. There are even fears that sooner or later, AI might turn against humanity and lead to its disappearance. Without going into such pessimistic forecasts, it is important to find out how the programming realm will change with the upcoming era of artificial intelligence.
What is Happening with AI?
According to the predictions of many involved in the development of artificial intelligence, the combination of machine learning and artificial intelligence with code generation technologies will improve so much in the near future, that most code will be written by machines, instead of people. This is due not only to scientific developments but also because of the high demand in developed markets. Customers in these markets want to automate processes that help them increase the scale and competitiveness of their business. When there is demand, there should be a niche in the economy that will satisfy it.
Will traditional software development disappear in the near future? Will the profession of the computer programmer no longer be needed?
Man vs. Machine: Where Machines Fall Short
Artificial intelligence has not yet developed enough to completely replace human capabilities. In fact, it’s not clear whether such a change will be possible at all.
Of course, artificial intelligence will increasingly be used in programming, but at present, we can only talk about the automation of so-called “routine”, repetitive code. Artificial intelligence will be able to perform some very simple types of work. This will allow developers to reduce time on routine work and thus increase their development performance. When creative solutions are needed, it requires a higher level of “understanding” than what can be provided from the machine. It requires the use of abstract thinking, the need for understanding concepts, and the interaction of technologies with functional components. Machines are unlikely able to handle these types of tasks. After all, the solution to such problems will be very difficult to replace with algorithms.
If we analyze the future implementations of artificial intelligence technologies in the programming realm, it will be somewhat similar to the process of the development of programming languages. The development of these new languages has been directed and is still aimed at the introduction of structuring and using additional automation in order to accelerate the development process.
For example, the appearance of Smalltalk and C ++ made a revolution in the industry by using a new paradigm of object-oriented programming. Then the appearance of visual environments such as Visual Basic and Delphi allowed programmers to simplify and accelerate the development of user interfaces. The emergence of Java with the built-in mechanism of “garbage collection” has significantly accelerated development compared with C++, and so on. All these implementations did not lead to a decrease in the number of programmers. Instead, they led to an entirely new level of development.
Technologies that are based on artificial intelligence will help solve a number of problems. Many of these are problems that people cannot solve themselves in the field of traditional programming.
Man vs. Machine: Where Man Falls Short…… Machine Can Fall Short Too
The reality is that, as human capabilities are limited, artificial intelligence technologies have their limitations as well. Of course, machines see more than people because they can cover 360 degrees at once. Additionally, unlike people, they see more details at a time, while people do not notice most of the details. However, artificial intelligence does not yet have a holistic perception and the ability to take a path other than the already existing path. In addition, AI faces the difficulty of correctly stating the problem and the complexities that come with finding an acceptable solution.
It is difficult to trust the AI technologies that generate the code without passing through a verification process. The types and pre / post-conditions for verification still must be described by the programmer.
It is easy to assume that “machine” programming and “traditional” programming will successfully coexist together for a long time.
Man vs. Machine: If Machine wins, does Man win too?
Even if the development of artificial intelligence reaches the level where it will be able to perform complex programming tasks, that still doesn’t translate into the disappearance of traditional programming, but rather its evolution.
In this case, a change in the next life cycle of technologies will occur. This will bring a set of new technological challenges that will need to be addressed. The role of a programmer will change. There will be a need for the training and maintenance of artificial intelligence. This might include an assessment to ensure that the correct decisions were made, which will require an understanding of the principles of their design, development, testing, and support. This, in turn, will require a higher qualification from the programmer engineers.
We would love to hear your thoughts on AI. Do you think the continued development of artificial intelligence will be a good thing? What are some challenges you think it might bring? If you are interested in reading about more interesting topics be sure to check out the rest of our blogs!