In the second article of this series, we describe the problems caused by vibe coding and the steps to follow to implement a much better alternative. In this article we will talk about Artificial Intelligence-based tools for programming that have versions for Linux.
What we've been arguing in these articles is that, contrary to what course vendors claim, Artificial Intelligence tools don't eliminate the need to learn programming. On the contrary, they make it even more essential. Since these are more powerful tools, they require a greater understanding of what is being done.
If you want to create a simple application without a graphical interface, like a program for your child to practice multiplication in the Linux terminal, you can manage with the web version of your preferred model. However, if you're going to include a graphical interface, interaction with external services, and user registration, things get more complex. Luckily, we have tools that can help.
Artificial Intelligence-based tools for programming
Artificial Intelligence-assisted programming involves a combination of specific knowledge and tools that interact with the developerThis allows the individual to focus on what's important and delegate the routine tasks. By what's important, we mean identifying the problem and determining the best solution.
The tools we are referring to can be part of locally installed programs, standalone tools that assist with specific functions, or cloud service platforms that provide complete solutions. From writing the code to hosting the application. While they all use a Large Scale Language Model (LLM), they do so in different ways.
Models, agents, skills and MCP
Before we begin with the list of tools, let's clarify some terms that will be useful in understanding the function of each one.
- Large-Scale Language Models: They are systems based on Artificial Intelligence trained with large amounts of data to understand and respond using human language.
- Agents: In the context of Artificial Intelligence, an agent is any entity with the ability to act autonomously within an environment. It is capable of making decisions based on the information it receives from that environment and acting to modify it.
- Skills: It is a specialized and reusable set of instructions that tells the agent how to perform a specific task.
- MCP: The acronym for Model Context Protocol is a standard for communication between a model and external data resources.
In the first article, we discussed the case of a vibe coder who created an application that displayed an image to show what a restaurant dish consisted of. Let's use that example to explain the function of each item we mentioned.
Let's say we see Boeuf Stroganoff on the menu. The app should
- Read the menu.
- Find the ingredients.
- Generate the image.
The model can
- Understand the question.
- Find the answer.
But he cannot:
- Read the menu.
- Find and display the image
The agent determines that he needs
- Perform optical character recognition.
- Find the image of the dish.
- Show it.
That defines the necessary skills
- OCR.
- Connection to food databases.
- Show images
For each of these tasksIt is necessary that libraries and/or application programming interfaces have a common language.in the agent. This is where the MCP intervenes.
The advantage of using an agent instead of interacting directly with the model is that we avoid ambiguities and save time on the specific instructions for a particular activity.
Types of tools for AI-assisted programming
Integrated Development Environments
Integrated Development Environments (IDEs) include, either directly or through extensions, a wizard that provides real-time assistance for completing, debugging, and reviewing code. Among its features:
- Suggest which line of code to write next.
- Answer questions.
- Correct errors
- Show examples.
The most popular of the integrated development editors with and without Artificial Intelligence is Visual Studio Code.
It was the first Microsoft product to have a Linux version and can be installed from the Snap store with the command
sudo snap install code --classic
Or if you want to try the latest products before anyone else.
sudo snap install code-insiders --classic
Although this is a development version that may contain errors.
Visual Studio Code's Artificial Intelligence assistant is GitHub Copilot. It's kind of like your phone's autocomplete, but supercharged. It not only suggests how to finish the line of code you're writing, but it also completes the function you started writing based on the context, or even writes it for you. It can also generate the function directly if you type what it should do (for example, "OCR the menu").
Although it doesn't allow conversation in human language like LLMs, GitHub Copilot has the advantage that It adapts to your programming style. For example, if you decide to name the variables after the Smurfs characters, it will follow that pattern.
GitHub Copilot has a free version with limited features and a paid version for $10 a month that lets you use OpenAI's (ChatGPT) and Claude coding agents.
In addition, Visual Studio Code has extensions that allow you to interact with other Artificial Intelligence assistants. You can install them from
File ➡️ Preferences ➡️ Extensions and search for them by name in the search window.
Continue.dev
It's an open-source extension that has two advantages over GitHub Copilot.
- We can choose the model we want to work with, whether local or in the cloud.
- We can chat in natural language just like we do with the web interface of any model.
For example, "Change the variable names to characters from The Flintstones." If we don't like the names chosen by ChatGPT, we can try Claude.ai.
This extension analyzes the project files and, according to our instructions, proposes specific changes or generates code appropriate to the context.
In the next article we will continue listing the tools available for doing AI-assisted programming on Linux.


