Berlin

November 4 & 5, 2024

New York

September 4 & 5, 2024

11 generative AI programming tools for developers

There has been an explosion of generative AI tools hitting the market this year, many of which are free to use. Here are 11 of the best for software developers to try today.
June 12, 2023

You have 1 article left to read this month before you need to register a free LeadDev.com account.

There has been an explosion of generative AI tools hitting the market this year, many of which are free to use. Here are 11 of the best for software developers to try today.

In the past few months, ChatGPT and other generative artificial intelligence (AI) tools have shown that they can fit into software developers’ workflows and provide an instant productivity boost. 

These apps, which leverage large language models (LLMs) to understand language, imagery, and code, can answer questions, reorganize information, and provide writing or code snippets. Of course, these tools aren’t perfect yet, and still require a lot of supervision to get the most from them, but it’s hard to deny that they can be useful when deployed under the right circumstances. 

As with any tech boom, there are suddenly dozens of different tools vying for engineers’ attention. Here are a few you should know about.

ChatGPT

OpenAI’s ChatGPT is the free app that made the world aware of what generative AI could do. While the chatbot might not be the best app for programming tasks specifically, it is still able to generate boilerplate code, translate or refactor lines of code into different languages, and automate rote tasks.

You don’t have to pay (there is a Plus version for $20 per month), install anything, or give it access to your codebase to see if the suggestions are good, or if it can explain what complex functions do. This makes ChatGPT a good starting point when it comes to exploring what a generative AI tool can do, but there are better coding tools out there.

Google Bard

Bard is Google’s response to ChatGPT. Google developed the transformer architecture that has underpinned the recent boom in LLMs, so it has a huge amount of AI expertise, but it has been slow to leverage that into consumer products. 

As a coding assistant, Bard can code in 20 programming languages, including Python, Java, C++, and Javascript. It can generate code from your prompts and comments, explain code you paste in, and help you refactor any code you’ve already written.

While Bard is also free at the moment, it’s unavailable across much of Europe.

Auto-GPT

Auto-GPT has been described as “ChatGPT on steroids”, and is a tool that attempts to make GPT operate independently by using one GPT instance to oversee additional GPT instances or agents. 

The top-level instance can be prompted to create a simple web app. It will then break the overall task down into a list of subtasks. Instead of just telling you what those subtasks are, as ChatGPT would, it hands each one off to another GPT instance to perform. This allows it to continue to iterate through complex jobs.

There are two main ways to use Auto-GPT: You can install the open-source version from the GitHub repo yourself, or you can use the AgentGPT web app.

GitHub Copilot

GitHub Copilot has been designed to be an AI pair programmer. Unlike ChatGPT, Google Bard, and Auto-GPT, it’s not built using a general-purpose LLM; instead, it uses OpenAI Codex, which was trained on billions of lines of code and explicitly designed to be capable of writing functional code in languages like Python, Javascript, Go, PHP, Ruby, and Swift.

On top of that, because Copilot has full access to your project, it is able to generate specific code suggestions based on architecture, style conventions, and context. If you ask it to create a function it won’t just give you boilerplate code – it will do it using the variables, classes, and methods you’ve already defined.

Right now, Copilot integrates with a small number of popular integrated development environments (IDEs), including Neovim and Visual Studio.

Amazon CodeWhisperer

Amazon CodeWhisperer is Amazon’s answer to GitHub Copilot. It was trained on billions of lines of publicly available code, as well as Amazon code. It similarly works with multiple programming languages like Python and Java, integrates with your IDE, and suggests complete functions based on your prompts, comments, and project code.

The key difference is that CodeWhisperer is optimized for AWS APIs, including the popular EC2, Lambda, and S3 infrastructure types. If you’re trying to build on top of Amazon’s cloud platforms, it can suggest code using the relevant services that meet AWS best practices. While it can also suggest non-AWS code, it’s less likely to get things perfect.

Tabnine

Tabnine is another AI coding assistant that uses OpenAI Codex to generate code suggestions. It can auto-complete whole lines of code or full functions, as well as match the style and conventions of your existing codebase.

Where Tabnine stands out is with its availability. GitHub Copilot and Amazon CodeWhisperer are only available in a handful of major IDEs, like VS Code, whereas Tabnine is also available in a wider variety of apps, including Sublime, Emacs, Vim, and Android Studio. 

CodeWP

WordPress is the most popular content management system (CMS) in the world, powering more than 40% of the world’s websites. If you’re one of the developers who has built a career on top of WordPress or any of its popular plugins like WooCommerce, then CodeWP might be exactly what you’re looking for. 

CodeWP has been designed and trained explicitly to generate PHP, Javascript, and jQuery that’s compatible with WordPress, its plugins, and its database. Like most AI coding assistants, it’s a relatively new app, so it might not have all the capabilities you’d expect, but it is under active development, with new features rolling out regularly.

CodeSquire

CodeSquire is another tool that brings an AI coding assistant to different apps. In this case, it uses a Chrome Extension to bring its AI features to Google Colab, BigQuery, and JupyterLab.

Aimed at data scientists, CodeSquires makes it possible to turn comments into code, write structured query language (SQL) requests using natural language prompts, and intelligently complete single lines and generate complex new functions. It doesn’t do anything wildly different from the other tools on this list, but it enables you to use them in apps that aren’t otherwise supported. 

What the Diff

What the Diff is designed to help teams review code and create better documentation

What the Diff integrates with your GitHub and GitLab repositories. When someone on your team commits a pull request, it analyzes the difference between the new and old code – and automatically creates a natural language summary. 

Instead of a pull request comment just saying “bug fixes”, there will be an accurate summary of what code has changed and what it’s done. It’s a great way to keep non-technical team members in the loop, and just make documentation neater for everyone.

As well as improving documentation, What the Diff can also directly refactor code based on a prompt or comment, and create weekly reports summarizing all the pull requests your team has made.

AI Query

Not many people enjoy writing database queries, and those are the people AI Query is trying to help. It can turn plain English into SQL queries, as well as translate complex SQL queries back into English. Right now, it supports PostgreSQL, MySQL, MariaDB, and Microsoft SQL Server, though there are plans to support Google BigQuery, Amazon Aurora, MongoDB, and other database engines. 

While other apps can also generate SQL queries, AI Query has the advantage of easily allowing you to define your database structure so that the code it generates is specific to your project. If you just need an app to help with SQL, it’s worth a look.

DALL-E 2, Stable Diffusion, and Midjourney

It’s not just back-end developers who can get the benefits of the current generative AI boom. Text-to-image tools like DALL-E 2Stable Diffusion, and Midjourney allow you to generate any image you want from a simple, written prompt to quickly generate app icons, interface elements, and placeholders for any front-end design elements.

If you don’t have the time – or the design chops – and need something workable right now, even just as a placeholder, they’re surprisingly effective.

Stay cautious

As powerful as all these tools appear to be, there are still plenty of reasons to be cautious. Enough major enterprises are legitimately concerned about how GPT and other LLM-powered tools handle important data to have banned them from the workplace, and these apps are nowhere near reliable enough to be left to their own devices just yet.

They might be able to help engineers work faster – but they can’t do their job for them. Yet.