From the course: AI-Powered Software Development: Coding, Testing, and System Design

Code generation and completion: What are my options?

- [Instructor] Alright, well, the first question that you probably have here, and this is a big question that I get on a regular basis, is what options are actually available to us if we wanna start using AI as part of our software development? Well, the first thing to know is that these offerings are changing very, very rapidly. And so what I wanna focus on here is not so much the exact technologies, right, like GitHub, Copilot or Cursor, or some of the specific tools provided by ChatGPT and Claude. I wanna focus more on the broader paradigm, that these different tools make available to you. So here's what I mean by this. With GitHub Copilot, which I'm sure you've heard of by now, the main idea with GitHub Copilot is that it's automatically integrated into whatever IDE you're already comfortable with. So for example, I have Visual Studio Code here. You might see the same thing if you're viewing this on code spaces where GitHub Copilot is automatically installed, and we can immediately start doing AI assisted software development just by creating a new file. We'll just give this file a name, something like test.py, right? And if we start typing, what we'll see is that because we have this GitHub Copilot extension installed, it will automatically try and complete whatever it is we're writing. So if we start saying something like, define, calculate, median, like the median average of a list of numbers, let's say, then as you'll see, GitHub Copilot's going to automatically try and complete that for us. And accepting that is as simple as hitting the tab key. Now obviously GitHub Copilot is capable of a lot more than this, but that's really the main idea with GitHub Copilot and related technologies, is that they kind of meet you where you're at. So you don't have to learn a new IDE, you don't need to copy and paste code back and forth. Basically, they're just part of whatever flow you're currently used to, and it will automatically help you do that faster, which is pretty cool, right? Now, if we go a little bit further along that spectrum, you'll find tools like Cursor and instead of just being a plugin that you can add to whatever IDE you're currently working with, Cursor actually is its own IDE, and have the same directory open in both VSCode and Cursor here. And the advantage of having a custom IDE, whose sole purpose is to help you start doing AI powered software development is that it has a lot of extra tools that go beyond what plugins are normally allowed to do in IDEs like VSCode. So for example, up here in the top right corner, we have this open agent pane. And again, this is just an example. Things probably look a little bit different by the time you're watching this video, but this allows you to actually build projects just from typing in a prompt, which again, is something that at least right now, GitHub Copilot isn't fully capable of. So we'll go into a little bit more detail on that later in the course. But again, that's sort of a different paradigm. So, so far we have just an AI powered plugin that can be integrated into whatever IDE you're currently used to working with as a developer. You can go off the deep end and use an IDE that's been designed with really the main purpose of AI powered software development. Or one thing that you can do that's really the easiest way to get started for many people is you can simply use tools that I'm sure you're already familiar with, like ChatGPT, Claude, as well as Gemini, or Microsoft Copilot, if you're used to using those as well. And you can quite simply ask this to generate code. So going back to the same example that we had, you could just ask ChatGPT, create a python function that calculates the median of a list of numbers and it will be able to write that function for you pretty easily. And you can simply copy that and paste that into your IDE. Now, there are actually other tools that are more specifically aimed at code. For example, right now OpenAI has a tool called Codex, and you can think of this as like a more specialized version of ChatGPT that you can connect to GitHub as well as integrate in your IDE. So this is kind of like OpenAI's response to GitHub Copilot, and Claude has similar capabilities as well. So anyway, those are really your three main options here. You can either just ask a generative AI assistant to generate code for you and then just copy and paste that code. You can use an IDE that's been specifically built with AI powered software development in mind. Or you can kind of meet halfway and add a plugin to whatever IDE or tool you're currently used to working with.

Contents