Writer: Cameron Serkland
Contributors: Ryan Baldwin, Luis Bencomo

Programming and Artificial Intelligence
Whether you are just beginning as a programmer or have a vast knowledge of the practice, artificial intelligence can provide a great boost to the productivity and functionality of your projects. Artificial intelligence can be used both inside your code using APIs and in the process of coding itself through a variety of tools. Knowing when to use these tools alongside your own skills as a programmer is essential when dealing with the modern landscape shaped by tools such as large language models.
Using APIs
Using application programming interfaces (APIs), programmers can implement the vast capabilities of massive AI projects researchers have spent years tinkering in the comfort of their own projects. Different APIs can offer functionality previously unavailable to the average programmer, including image and video generation, image processing, sentiment analysis, voice recognition and text prediction. Requiring a vast technical load and truly massive data sets, these functionalities are only practical to the average developer using such APIs.
As the possibilities of AI powered APIs are immense, one should analyze the needs of their project and their budget to see which APIs are right for their implementation. APIs scale well with the size of individual projects, requiring little investment to start using and flexibility in pricing based on the requests made to the API. Finding the right API in terms cost, functionality, compatibility should be done before a project is started in earnest, as the implementation should be built around a given AI and its capabilities.
Within Large Language Models, the fundamental form of data, tokens, can often be translated into a sort of currency for their APIs. The more tokens a task requires, the more it will cost for the API to perform that task for you. Keeping in mind this cost and working within your budget is necessary when analyzing the feasibility of a project when using these APIs. An API being used solely by you and your team will likely incur much less of a cost compared to the usage of an API anyone has access to. Token usage can also scale exponentially from simple formats like text to complex formats like images and video.
Sources and Further Reading:
https://www.tavus.io/post/ai-apis
https://blogs.nvidia.com/blog/ai-tokens-explained
Vibe Coding
The practice of vibe coding, creating code through dialogue with an artificial intelligence agent rather than writing if oneself, can be an effective way to build and prototype applications if done with care. The practice of vibe coding begins with an initial prompt detailing the concept you wish for the AI agent of your choice to build. From that point, the iterative process of testing code and refinement through continued prompts is used to create your project. This allows even those with little experience coding to create applications through a conversational process intuitive to all.
Tools within this paradigm can vary. Some focus on users with little or no experience in programming, such as Google AI Studio, starting the process from nothing with the promise of a no code environment. Others, like Gemini Code Assist, focus on implementing vibe coding into an existing workflow, rapidly iterating and finding issues in code that has already been written. By analyzing the environment of your project and through experimentation, you can often find the perfect vibe coding tool to suit your needs.
Vibe coding, however useful as it is, has its pitfalls. As the AI is creating the code for you rapidly, your understanding of the underlying code and its structure can be limited. Without knowledge of the inner workings of your code, the core functions of maintainability and security needed in large ongoing programming projects can fall to the wayside. With each iteration, the code written by the AI becomes foreign to you, requiring review with each generation of new code. Your understanding of the code generated will always be less than if you wrote the code yourself with intention, and debugging can often be at the mercy of the AI used to find issues within the code.
Current vibe coding platforms should primarily be used within the process of prototyping your project. The ability of large language models to rapidly produce iterations on any idea presented to them cannot be understated. By going through this process, you can visualize the outline of your project easier. A guiding hand is necessary though in keeping these generations within your intentions. Vibe coding does not replace best practices in programming; it merely speeds up the process. It is always on the programmer to ensure their code is maintained and secure.
Sources and Further Reading: