ChatGPT and Codeium: First Impressions Experimenting with Artificial Intelligence
The final examples can be seeing on the home page, under career timeline and Mars RoverGram.
The technologies used:
• ChatGPT and Codeium
• Next.js
• TypeScript
• Jest
• D3.js
• CSS / TailwindCSS
A Quick Overview of Artificial Intelligence (AI)
According to IBM, “artificial intelligence is a field, which combines computer science and robust datasets, to enable problem-solving.”
Artificial Intelligence (AI) was coined by John McCarthy in 1956, but its roots trace back to Alan Turing’s 1950 question, “Can machines think?” and his Turing Test, influencing AI development. AI spans weak AI, focused on specific tasks like Siri, and strong AI aspiring to human-like intelligence. Deep learning, a subset of machine learning, automates feature extraction, exemplified by generative AI models like OpenAI’s ChatGPT, revolutionizing natural language processing.
AI applications abound, from speech recognition and customer service bots to computer vision, recommendation engines, and automated stock trading. The history of AI highlights key milestones, such as Turing’s 1950 paper, McCarthy’s 1956 coinage, and IBM’s Deep Blue defeating a chess champion in 1997. Recent breakthroughs in generative AI models mark a significant leap forward, with potential for broad enterprise applications, emphasizing the importance of ethical considerations in AI development and use.
In this article, I will focus on ChatGPT and Codeium, two powerful generative AI tools that programmers can use today.
Prompting ChatGPT vs Codeium
ChatGPT3.5 and D3.js
After taking some crash courses on “Prompt Engineering,” I decided to see how I could use ChatGPT to help me develop a timeline with steps, symbolizing my career progression. Because I was using ChatGPT 3.5, the documentation that the AI was trained on was slightly outdated, but I still found good use of what it was generating.
ChatGPT gave me ideas on how to work with D3.js, like what methods I could use to achieve what I was looking for. From here, I began to use my experience and knowledge of working with data visualization libraries (see Visible), working with React, and the good old Stack Overflow community.
It might have been the way I was prompting it, or the outdated training dataset, but ChatGPT wanted to use inefficient React flows, where the timeline would re-render multiple times, hindering the user experience. Thanks to the Stack Overflow community, they suggested to “Reactify” the elements instead of using refs. After some refactoring, I was able to get a timeline that performed much better than what ChatGPT was suggesting, but I would still thank ChatGPT, as it helped me understand the documentation that D3.js has.
Codeium and Mars RoverGram
A family friend then reached out to me, suggesting the use of Codeium for projects. The difference between Codeium and ChatGPT is that Codeium is more like GitHub’s Copilot, where it is trained and refined specifically to aid programmers. It still requires carefully prompting the AI with context to get good results, except that it can integrate with IDEs like VS Code, and IntelliJ.
My development experience with Codeium has been remarkably better. Working on RoverGram, I began experimenting with features recently released in Next.js v14 and React 18 Canary, and while I faced a similar issue, with the suggestions being slightly outdated, Codeium adjusted accordingly.
When it came to using features that have been out for a while, Codeium excelled in all areas. This was all expected since it takes a lot of resources to train these tools, and their free tier datasets don’t get updated constantly. Based on my experiences, Codeium allows me to focus more on finding solutions to problems, and I can then let the AI focus on what code to generate, with occasional debugging and refactoring.
Conclusion
In this exploration of AI tools for programming, this article dives into the functionalities of ChatGPT and Codeium, both impactful in the realm of artificial intelligence. Tracing its origins back to Alan Turing’s foundational work in 1950, AI has undergone significant advancements, particularly with the recent breakthroughs in generative AI models. My engagement with ChatGPT 3.5 and Codeium not only provided valuable insights into various coding approaches but also highlighted the need for human expertise in debugging and refining code. As AIs might occasionally “hallucinate,” the intersection of AI capabilities and human experience becomes pivotal, especially when venturing into uncharted territories or pioneering new features.
All of this is subject to change and improve. 2023 was the year where AI became popular, and throughout 2023, AI improved significantly. I wonder what breakthroughs we will see this year!