What is this?

this is an essay for one of my collage classes i turned it into a blog post

Intro

In Software Engineering, Artificial intelligence, or AI, has been shoved into every facet of our lives. Even our dishwashers. Ever since 2022 when OpenAI released chat GPT-3, AI has gained massive hype. Especially in software engineering, with whole IDEs being built around it. Some people go as far as to completely just use AI to program their entire projects. While AI might make you a faster coder, you might understand less about your codebase and affect your programming abilities in the long term.

Definitions

IDE, or integrated development environment, think of it basically as a word processor for programming. There are similar features like spell check to help you find errors in your code before running it. Another important term to know is codebase. A codebase is the entirety of code for a given program. Think of it as An entire essay in a Word document.

How we got here.

Before 2022, there wasn’t much talk about artificial intelligence or machine learning. OpenAI really set it off with their large language model GPT-3, more commonly known as ChatGPT. Programmers realized they could generate code with ChatGPT and get surprisingly good results. Many companies thought they could just get rid of their junior software developers. They thought AI was just going to take over everything. In the past three years, they really haven’t done what many companies promised or predicted.

Vibe coding

A negative aspect of using AI in programming is a trend coined by Andrej Karpathy called vibe coding. This is the act of using AI to completely write everything. All the user does is prompts the AI until they get the final product. There have been a few projects made like a flight simulator. However, it is a slow and buggy mess. What we’re seeing today is that AI is not very good at debugging, so leaving it completely to the AI. This can and usually does create bugs, you can only prompt it, and eventually you will fix the bug. Since the user has prompted the AI and has not written any of the code themselves, they have no actual understanding of the codebase. Which leads the people who have never touched programming before to believe they can program anything with almost no effort. Which is simply not the case. In reality, they create slow and unoptimized code They would have simply been way better off by learning the basics and building from there.

Advantages

Speaking of learning the basics, AI can be a great learning tool when treating the AI more like a tool or a teacher rather than the entire author of the program. It can greatly help you learn how to code. While the AI is not very good at debugging, it can help you learn the concepts so you do not run into bugs as easily. And if you already have a great understanding of a concept and, you know how to code yourself, but it would take forever. You can get AI to do it in seconds, and know if it’s a good piece of code or not.

Why we code And why the human aspect is important.

There is this common saying, if it is too good to be true, then it probably is. The saying is usually used when getting scammed or something similar. But with AI People believe that they can just create these great works of art, literature, and even programs. Great things don’t come From thin air. It is more often than not hard work and a lot of time. Programmers don’t just become great programmers overnight. If that were so, everyone would be great at everything. Often the fun in coding is writing the code. It’s the process that makes it fun. It gives you that sense of gratification when you’re done and finished and created a successful project that gives you that feel-good feeling of being proud of yourself. While AI might make you a faster coder, you might understand less about your codebase. And effective skills long term. AI can benefit programmers in many ways. But if you use too much, then it can be a detriment to your skills as a programmer. While AI might make you a faster coder, you might understand less about your codebase and affect your programming abilities in the long term.