Death or evolution. What is the future of programming?

Or another article about ChatGPT. This AI chatbot writes code in many programming languages, optimizes code, converts code from one programming language to another, writes scripts from scratch, etc. Although ChatGPT is unlikely to ever fully replace a software engineer or developer, this the tool can help solve many of the problems that programmers perform, as well as be the beginning of new possibilities in the field of programming.

If there’s one thing ChatGPT is good at, it’s coding. ChatGPT has “read” more documentation than anyone will read in a lifetime. That’s why it can easily write scripts in a short amount of time and also provide step by step instructions on what it does. The user only needs to give the correct command to this chatbot.

ChatGPT is a cool coder, but not a software engineer or developer. This AI will not be able to design software from an engineering perspective with business needs in mind or fix bugs other than those on its training inputs. This tool cannot replace those whose work goes beyond writing code. But this one can open up a wide variety of other possibilities for those who work with the code.

At least for now!

There are many tools that help programmers be more efficient. For example:

Real encoder

ChatGPT goes much further than this. He’s not perfect. It does not always give the desired result. But when he clearly “understands” what they want from him, he is a real “machine”.

Let’s say you’re building a sales website. You can simply ask ChatGPT to write the HTML and CSS code for you, specifying which sections to include. You can even specify whether it will be an e-commerce or portfolio website to further customize the output.

Here is an example:

Below is the code generated by ChatGPT:

<!DOCTYPE html>
<html>
<head>
  <title>My Online Store</title>
  <link rel="stylesheet" type="text/css" href="https://habr.com/ru/post/709310/styles.css">
</head>
<body>
  <header>
    <h1>My Online Store</h1>
  </header>
  <nav>
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">Products</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </nav>
  <main>
    <h2>Featured Products</h2>
    <div class="product-grid">
      <div class="product">
        <img src="https://habr.com/ru/post/709310/product1.jpg" alt="Product 1">
        <h3>Product 1</h3>
        <p>$19.99</p>
        <button>Add to Cart</button>
      </div>
      <div class="product">
        <img src="https://habr.com/ru/post/709310/product2.jpg" alt="Product 2">
        <h3>Product 2</h3>
        <p>$29.99</p>
        <button>Add to Cart</button>
      </div>
      <div class="product">
        <img src="https://habr.com/ru/post/709310/product3.jpg" alt="Product 3">
        <h3>Product 3</h3>
        <p>$39.99</p>
        <button>Add to Cart</button>
      </div>
    </div>
  </main>
  <footer>
    <p>Copyright 2021 My Online Store</p>
  </footer>
</body>
</html>
body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
}

header {
  background-color: #333;
  color: white;
  padding: 20px;
  text-align: center;
}

nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  justify-content: space-between;
  align-items: center;
}

nav li {
  display: inline-block;
}

nav a {
  color: #333;
  text-decoration: none;
  font-size: 18px;
  padding: 10px;
}

.product-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.product {
  width: 30%;
  margin-bottom: 30px;
  text-align: center;
}

.product img {
  width: 100%;
}

This is what the finished site looks like with this code.

Not bad.

ChatGPT may change responsibilities for entry level positions. Since he can perform some tasks faster and better than junior developers. For example, maintain an existing project by troubleshooting or debugging code. No need to waste time and resources on learning, because the chatbot is already good at programming. What can not be said about junior developers.

But here’s the thing: tools like ChatGPT need a “boss” that gives the right commands to get the desired result. In addition, someone is needed to interpret the results and identify errors in the chatbot.

Accelerating Programming Learning

There might be an opinion that ChatGPT can turn anyone into a programmer simply because now everyone can generate code using a chatbot. Actually not. It will be difficult for a person who does not have programming knowledge to work with such a tool. But it’s safe to say that ChatGPT can speed up the process of learning to code. This tool will help solve coding questions and give a detailed explanation of what it did.

When ChatGPT becomes paid (which is likely), it can be much more efficient than StackOverflow or Google because:

The Future of Programming

Artificial Intelligence (AI) is changing the way we work. New tools and systems create powerful algorithms that allow machines to learn to optimize processes without a team of programmers. Social media management, email marketing tools, and text-to-image generators are some of the AI-enabled features that open up new horizons for companies. AI is no longer the preserve of PhDs and specialized programmers. These people have developed interfaces and platforms to allow others without these specific skills to access the results of their work.

For now, AI is still a programming specialty. But the use of AI in the workplace is becoming more common. We are seeing more AI tools in integrated development environments (IDEs). Now advanced IDEs are starting to complement what programmers code. Not only suggesting how to complete one line, but also suggesting multiple lines of code at once.

These tools do not have to lead to the death of programming. General purpose models and tools such as the OpenAI Codex and GitHub Copilot give software developers greater access to systems that use AI to write code, saving time and energy. However, the programmer will have to do higher-level work by thinking about what the code will do and how to organize the code, instead of writing every line of code in their programs.

But programming, in the classical sense, is becoming obsolete. The traditional idea of ​​”writing a program” has been on the brink of extinction for several decades. For all but very specialized applications, most software as we know it will be replaced by AI systems that are taught, not programmed. In situations where a “simple” program is needed, these programs will be generated by AI instead of hand-coded.

Once upon a time, computer science pioneers firmly believed that all future computer scientists would need a deep understanding of semiconductors, binary arithmetic, and microprocessor design in order to develop software. Today, nearly 90% of software developers have no idea how a processor actually works, let alone the physics behind transistor design. And the computer scientists of the future will be so far removed from the classic definitions of “software” that it will be difficult for them to unroll a linked list or implement quicksort.

All software in the future will eventually be written by AI, with humans in a controlling role. Anyone who doubts this prediction need only look at the very rapid progress being made in other aspects of AI content creation, such as image creation. The difference in quality and complexity between DALL-E v1 and DALL-E v2, announced just 15 months later, is staggering. Things that seemed like science fiction just a few months ago are quickly becoming reality.

Not only CoPilot on Github or ChatGPT will replace programmers. We are talking about replacing the entire concept of writing programs with training models. In the future, computer science students will not need to learn such routine skills as adding a node to a binary tree or programming in C++. Such education will become obsolete, like teaching engineering students to use the slide rule.

In a few keystrokes, the engineers of the future will launch an instance of a four-quintillion-parameter model that already encodes the entire body of human knowledge, ready for any task required of a machine. The bulk of the intellectual work to get the machine to do what it needs to do will be coming up with the right examples, the right training data, and the right ways to evaluate the learning process. Powerful enough models that can generalize through multiple learning steps will require only a few good examples of how the task is done. People will learn by example, and the machine will do the rest.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *