Red Hat announced a multi-stage alliance to offer customers a greater choice of operating systems to run on Oracle Cloud Infrastructure (OCI).
Artificial intelligence (AI) has revolutionized almost every industry and few areas of life remain untouched by the technology. It has begun to shape the software development process and software developers can now use AI to write and review code, test software and detect bugs. Let's take a dive into just a few of the many areas of software development that have all been impacted by AI, such as DevOps, tooling and algorithms.
The shift towards AI powered tools is one of productization of the technology. These tools need to have the technology integrated in such a way that quality and oversight is not compromised, ensuring human developers having the ultimate control of the output.
Code completion or snippet suggestions are improving how productive we are with code. It also aids discoverability in coding which ultimately helps developers learn quicker and better.
On the more artistic end of the spectrum, AI powered physics and animation tools are beginning to make an appearance massively improving productivity for CGI or game development teams.
Algorithms Design and Development
AI is proving effective and efficient in areas where traditionally developers may have had to invent and implement their own algorithms.
For example, AI is being used in compression, noise suppression (in communications, images and video, or even graphics renderers), or pattern recognition (for example, neural networks rather than statistical algorithms being used to read MRI scans).
Having the output of powerful AI algorithms, even if they're impractical for the end-user computing environment, serves as a reference that helps deterministic algorithms to be developed more quickly and with better performance.
AI DevOps is a hot new buzzword in the space. The running, operating and early detection of possible faults in software infrastructure is a field ripe for AI. DevOps by its nature requires 24-7 attention. Humans have to sleep. AI has the advantage here.
Furthermore, analyzing the vast amounts of telemetry produced by a running application is practically insurmountable for human analysis, but AI is particularly well-positioned to this. This allows DevOps to extend beyond current constraints.
General AI APIs
APIs have been used to allow developers to use it to parse textual data. In addition, new language models have recently completely revolutionized this technological capability and are enabling applications that would previously have been impossible.
It is early but the power of a language model that uses deep learning has far reaching implications for developers, not just to improve existing applications and solve hard development problems, but also to build applications that would previously have not been possible.
Moving beyond the ability to handle human language, there is also the opportunity to automate actual development tasks — by training the mdel on programming languages instead, making it powerful enough to write its own web apps based on a human description. With a bit more progress it is destined to trivialize many otherwise complex development tasks.
It's safe to say that AI has changed the software development process will continue to shape its future as more and more businesses get curious about it. A 2018 Forrester study found that 37% of companies involved in software development were already using AI-powered coding, and this number is only set to rise. And the potential of its applications — if realized — will have far reaching consequences, lifting many of the restrictions that currently inhibit software engineers.