Is Coding Dead? (AI's Takeover)

Matt Wolfe, Emad Mostaque, and McKay Wrigley debate whether AI will eliminate coding jobs. Mostaque claims there will be no programmers in five years and that much of GitHub is already AI-generated. A live demo shows an AI assistant building and deploying a full Next.js app from a natural-language prompt.
Questions this video answers
February 28, 2024.
Emad Mostaque.
"41% of all code on GitHub right now is AI generated" (transcript claim).
A Next.js app with Tailwind CSS (basic social networking app: profile creation, profile viewer, list of users) and deployed to Vercel.
Chapters
Is AI going to completely replace coding? The CEO of Nvidia seems to think so.
I want to say something and it's. It's going to sound completely opposite of what people feel over the course of the last 10 years, 15 years. Almost everybody who sits on the stage like this would tell you it is vital that your children learn computer science. Everybody should learn how to program. And in fact, it's almost exactly the opposite. It is our job to create computing technology such that nobody has to program and that the programming language is human and everybody in the world is now a programmer. This is the miracle of artificial intelligence. The countries, the people that understand how to solve a domain problem in digital biology, or in education of young people, or in manufacturing or in farming. Those people who understand domain expertise now can utilize technology that is readily available to you. You now have a computer that will do what you tell it to do. It is vital that we upskill everyone. And the upskilling process, I believe, will be delightful. So surprising.
Ahmad Mustach, the CEO of Stability AI, also has similar thoughts on this.
There are no programmers in five years.
No programmers in five years. So those of you with kids who you are having, you know, with Python lessons and so forth, maybe it's instead helping them to understand how to ask great questions or give great directions or prompts.
I think we always have to look at the unchanging versus the inevitable. So an inevitable is 41% of all code on GitHub right now is AI generated chat. GPT can pass a glue level 3 programmer exam and it will run pretty.
Much on a MacBook or of. And that's this year. This year, right now. Yeah. And to some degree, I personally agree with these guys. I don't necessarily agree with the fact that people should stop learning how to program. I think there is still value, there is still merit to that. And I will get to that a little bit later in this video. But I do believe in the future, probably even sooner than the five years that Ahmad is talking about here, probably within the next year or two, most code will be written with AI and not by a human typing it. Not only do I think that humans won't need to write code in the future, I also believe that this was inevitable and was always the direction coding was heading in. Throughout the history of programming languages, every new language that came along was designed to make it easier and easier and easier for people to create code. If you look back in the 1950s, we had Cobol, Fortran, Lisp, these were all very, very complex programming languages. That were a very, very specialized skill in order to create code with this. In the 1960s, there was Algol 60 and Basic, which made programming a little bit easier. Now, I'm not personally a programmer myself, I've learned a little bit of code. The first coding language I ever learned to play around with was the BASIC programming language. And I was actually able to figure out little bits of it and code a little bit myself with it, where I was not at all able to code when I messed around with Cobalt or Fortran. Then in the 1970s, we got SQL, we got C, we got Pascal, and we got small talk. One that I'm not really that familiar with. But these three right here all made what came before it even easier to use. And you can kind of see the lineage here on this graph of how both C and Pascal both came from this. Algol 60 and basic eventually led to Pearl, and there's sort of a trackable lineage. But then in the 1980s, we got objective C and C and Pearl, which simplified these programming languages even more, making it even easier for a larger amount of people to get involved in creating code. And then in the 90s, we got an explosion of new programming languages as more and more people were starting to use the Internet. But these languages were also slightly easier to use than the models that came before it. We got JavaScript, Java, Ruby, Python, PHP, and these were all so much easier to code with than the languages before it. I've actually taught myself a little bit of php, I know a teeny bit of Python, I know a teeny bit of JavaScript. And without ever taking any coding classes, I can do some fairly basic level things with these languages. And then in the 2000s, we got Scala, C Sharp, Go, and then in the 2010s, Swift, TypeScript, Dart and Rust. And again, each one of these languages were sort of simplified versions of the languages that came before it. Programming languages over the years have been designed to get easier and easier and easier so that more people can actually code with them. And it takes more and more of the complexities away, further democratizing coding, so more and more people are able to do it. Here we are in the 2000 and 20s, and now we're getting AI code assistance, which is essentially the next natural progression of all of this. It's just a simpler way that further democratizes coding so that more and more people are able to code. But then we also have the concept of layers of abstraction. This is what layers of abstraction look like in computers. You've got your hardware layer and Your software layer. So down here you've got your physics devices, transistors, gates, registers, micro architecture, instruction set architecture. This is all of the stuff inside of your computer. This is the hardware in your computer that is doing little things, making your computer operate. Now, the software that is telling the hardware what to do is called machine code or machine language. This is often binary represented in zeros and ones, or hexadecimal, just numbers and letters that, if you just try to look at it, it pretty much makes no sense to the human brain. But this is what is telling the hardware underneath what to do. We then have a layer on top of machine code called assembly language. This is still a very complex language, but it tells the machine code what to do. It's another layer of abstraction on top. Then you have the programming language. These are the things we just got done talking about Your C, your JavaScript, C sharp, Rust, et cetera. These are all the programming languages that sit on top of the assembly language. So when you're writing like a C code, the C code is basically telling the assembly language what to do. The assembly language is telling the machine code what to do. The machine code is then basically telling the hardware what to do. And I'm really, really oversimplifying this, but this is layers of abstraction. Every layer that sits on top of the previous layer is designed to sort of hide and eliminate some of the complexities of the layer below it. Over time, computers have built up layer after layer after layer after layer to make it easier for humans to explain what it wants the computer to do. So if we're looking at this from the angle of layers of abstraction, an AI coding assistant is essentially just another layer of abstraction on top of the programming language. In the future, I don't even think we're going to be using AI code assistance. I think we're basically going to be telling the computer with voice or a simple prompt, with what we actually want a piece of software to do. And then the AI is going to ask questions about the software to make sure it understands and then just go and write the code. So it is just another layer of abstraction on top of what we've already got. Hence why I believe this is where it was always headed. Throughout history. We've always added new layers of abstraction on top of the sort of more complicated thing below it to make it easier and easier for users to actually work with. In fact, here's a quick clip from McKay Wrigley, who basically built a bot where he can explain in words what he wants and Then the AI underneath goes and just does it.
Run Jarvis.
Yes.
I need another Next app with Tailwind.
You want me to create a new Next JS app with Tailwind css?
Yes.
One moment. What would you like the app to do this time?
I want a basic social networking app, and it needs to have three things. It needs to have a profile creation form. It needs to have a profile viewer, and I also want a way to see all the users on the network.
You want a basic social networking app that includes a profile creation page, a profile viewer, and a list of all the users. What would you like the profiles to have?
Let's keep it kind of simple. Let's just do a name, an email, and a username.
I'll add those fields to the profile schema. What else can I do?
I want you to optimize the site so that it works with mobile and desktop devices. And I also want you to style it in, like, a dark mode.
Okay. I'll optimize it for both mobile and desktop and style it in dark mode. Anything else?
Start building.
Okay, I'll start working. I created a new repo called Basic Social Network. Continuing. I initialize the app. Continuing.
I also optimize some speed things.
I'm creating a profiles table in your database. Continuing. The app is building correctly. Would you like me to deploy it?
Oh, yeah.
Okay. Deploying to Vercel. Continuing. I deployed your project to Vercel on mackay Personal. Continuing. I'm all done. Wasn't that fast? You should give me a raise.
Boom.
Dark mode. See if it's responsive. Okay. That looks fine. It shows the profile. You see, we have an all profiles list. Let's click that. This is showing us the profiles now. Let's go. Let's make sure this is responsive.
It is. It is.
And if we go to our database, it is in our db. The game has changed everyone.
Now, I did speed that up a little bit. I cut out some of the gaps. It did take a little bit of time from the time he gave it a prompt to the time it responded. So just to keep the video flowing, I cut some of that out. But he was able to use a voice assistant that he created to create code without ever actually typing a line of code. The same person, McKay Wrigley, shared this video over on X is pretty crazy. He actually got Gemini to debug his code by recording videos of bugs. So he would use a tool, screen capture his computer of the bugs that were popping up while he was using the tool, feed the video into Gemini and and Then Gemini would fix the bugs for him. Now, I'm not going to play this whole video. It's another three minute video, but I will link it up in the description if you want to see him go through this process. There are also more and more AI coding assistants popping up every day. And it seems like with almost every single new AI coding assistant, it's getting better and better at creating and debugging code for people. We've got tools like GitHub Copilot, which was the original AI code assistant, and to this day probably still the best AI code assistant. Amazon entered the game with their Amazon CodeWhisperer. You've got Tab 9, you've got Kodi from Source Graph, you've got Codeium, of course, you've got Gemini, you've got Chat GPT, and all of these are really, really good at coding. And there's more popping up constantly. And if you check out FutureTools IE and select the Generative Code tab, there are a hundred different tools to help you in your coding and more being added all of the time. I actually came across this video here from Connor Aardman. I'll link it up in the description if you want to watch the whole thing. But he did a breakdown comparison of a handful of the tools put in GitHub Copilot as the essentially S tier in the chart here. Chat GPT and Gemini would be, I guess, a tier or actually useful, as he calls it. He put tab 9 in decent, Amazon, codewhisperer in acceptable and Kodi in acceptable. Now, don't get me wrong, there are still a lot of issues with AI coding. I still obviously think that coders are necessary right now. I actually still think coders will be necessary in the future as well. We do run into a lot of issues when it comes to writing code with AI. Being somebody who's not a very proficient or very good coder myself, I run into a lot of issues trying to generate code using AI. For instance, when I try to have something like Chat GPT write code for me, it's usually pretty buggy on the first try. I will tell ChatGPT what the bug is. ChatGPT will try to fix that bug and oftentimes break something else in the process. And if you continue to code more and more and more, a lot of these tools sort of lose the memory of the things that you talked about earlier on in your chat. So if you're going back and forth trying to code something up, some of that early conversation of what you wanted the code to do might actually get lost and Chat GPT or whatever code assistant you're using will start to kind of accidentally remove features that it originally put in. As of right now, it's still not great. You also have the issue of context windows. Most of these chatbots have context windows that aren't suitable for very, very large chunks of code. You can upload a large document with code in it, and if it's beyond the context window of the chatbot, it's not going to be able to read a large chunk of that code. You also have the issues of stuff getting lost in the middle of the code. A lot of times these chatbots, when you feed them long documents, they're really good at at reading what's in the beginning of the document and the end of the document. But stuff in the middle tends to get lost for some reason, which isn't great for code because you need it to use all of that code for context. However, things like that are getting even better with things like Gemini 1.5 coming out, which is capable of working with 1 million tokens or 750,000 words, making it more and more likely that you're going to be able to plug in huge chunks of code and have it read it all. They also did what's called a needle in a haystack test inside of Gemini, where they gave it a huge amount of text and then somewhere in the middle gave it like a little sentence and then asked it a question about that sentence to see if it would find that sentence located in this huge, massive amount of text. And it performed at 99%. It was able to find the embedded text 99% of the time. Which means that issue of things getting lost in the middle is going to be a thing of the past pretty soon. Where we stand today, AI is a great coding assistant. It's going to help you write a lot better code, it's going to help you debug your code, it's going to help write a lot of the monotonous code that's been written over and over and over again that can be found on places like GitHub and Stack Overflow, but it's not really great at creating a huge piece of software from scratch for you yet. But I do think it's going to get there, and I think it's going to get there a lot sooner than most people realize. Now does that mean I think nobody should learn coding ever? Absolutely not. I have a nine year old son. He actually is in coding classes right now and I've been pushing him to continue to learn code and he really loves it. In a similar way that if you love art and you love painting or drawing, you shouldn't give up painting or drawing because AI art can do it as well. I think a lot of people learn to code because it is enjoyable to understand what is going on underneath and to feel like they built something using their own brains as opposed to an AI's brain. I think we're going to get to a point where AI is really dang good at coding and it's going to be able to code the majority of a piece of software for you, but I still think there's probably going to need to be humans in the loop to help debug code. You know, if you're a game developer, you still need humans to create a fun game loop if you want a good user interface and user experience. I still think humans are going to be the best at determining what a good user interface and a good user experience is. My view of the future of coding is yes, I do believe AI is going to do the majority of the coding work, but I think humans still need to have the ideas for what to code. I think humans are still going to need to help problem solve and help guide the AI to fix issues with the code. I think humans are still going to steer the ui, the user experience of the code, and I think there's going to be almost like a craft element to it as well. I think people are going to value things that humans coded versus an AI coded in the same way that that seems to be playing out in AI art. People are more impressed by an amazing piece of artwork that was created by a human than they are an amazing piece of art that was created by AI. I think coding will be the same. When Jensen Huang made his quote about how he thinks people should stop learning coding, John Carmack, the creator of ID software, a programmer himself and one of the creators of Oculus, had this to say about it and I think he nails it. I think this is a spot on representation of where I think coding is heading. He says coding was never the source of value and people shouldn't get overly attached to it. Problem solving is the core skill. The discipline and precision demanded by traditional programming will remain valuable transferable attributes, but they won't be a barrier to entry anymore. Many times over the years I've thought about a great programmer I knew that loved assembly language to the point of not wanting to move to C. I have to fight some similar feelings of my own. Around using existing massive code bases and inefficient languages. But I pushed through. I had somewhat resigned myself to the fact that I might be missing out on the final abstraction, where you realize that managing people is more powerful than any personal tool. I just don't like it. And I can live with the limitations that puts on me. I suspect that I will enjoy managing AIs more, even if they wind up being better programmers than I am. So when he's referring to that final abstraction, he's talking about, what's that next layer on top of code? Because over history, we've always added new layers to make things easier and easier and easier. And all the people that are super resistant to letting AI help them with code or letting AI write the code for them are essentially saying that, yes, there's a new layer of abstraction that makes it easier, but I'm going to ignore that and stay at the layer for it. And that's my thoughts on AI coding. That's where I think coding is going. I think it's the next layer of abstraction for coding, and I think it's always kind of been headed in that direction. It wasn't AI that added that next layer of abstraction to make it easier for humans to write code. Something else would have been that next layer of abstraction, and people would have been just as frustrated and upset and resistant to whatever that was as well. But again, not a coder myself. This is just the perspective of somebody who pays very close attention to AI and has some of that foundational knowledge of how computers and operating systems and software work. I just feel like this was always the direction things were headed. What do you think? Let me know in the comments. I know this is a very hotly debated topic. There's a lot of negativity, there's a lot of fear. But I do want to know your opinion. Where do you think coding is heading I and what is the timeline you think? I actually believe we're going to get to the point where AI is really proficient at writing good code within the next 18 months, possibly even sooner. That's where I stand. What are your thoughts? Thanks for tuning in. I'll see you in the next video. Bye Bye.
More from Matt

AI News: Dots, GPT-6.1 Sol, Sonnet 5.5, Gemini 4, and everything you need to know









