Over the past several months, I’ve been leveraging AI tools to write software, Rust libraries in particular. In two weeks, I created and uploaded 30 libraries to crates.io - the storage cache for Rust developers. These libs were aimed at solving real-world issues for Rust developers. It took a lot of troubleshooting and testing for some of the more complex libraries. But I take posting code that others are going to use very seriously and I made sure that each library worked. Two weeks later, these libraries are at 14,000 downloads and climbing.
I’m not writing this article to boast or try to further my reputation as a developer. Truth is, I'm not that good a programmer. This is about the AI - ChatGPT 4o with the Widenex Rust GPT and MS CoPilot were the two LLM's that I used. Maybe even more relevant is that in writing Rust code I had to pass it through Rust's notoriously strict compiler.
Honestly - I'm not trying to inflame anyone here. I just wanted to share this experiment — one that I believe proves AI’s effectiveness in coding and creating practical, high-quality software solutions. There’s been too much doubt and too much underestimating what AI is capable of. With human guidance and a commitment to a high standard in the resulting software, AI can code and it can do it well.
AI’s Potential—and the Skeptics
Let’s address the skepticism head-on: AI is no longer some vague, untested novelty in development. AI has evolved, and it’s here to help generate functional, efficient code. I’m aware of the usual criticisms — “AI can’t write robust code,” “AI-generated code is too simplistic,” and so on. But these critiques ignore the reality. The libraries I’ve built, with AI assisting, are out there working, delivering value, and saving developers time. AI is generating usable code at impressive speed, and for those who still doubt, the results speak for themselves.
Straightforward Transparency
I want to be direct about my use of AI. While AI provided the code, it was I who was researching what new libraries Rust developers might welcome. Many are simple converters - ms to secs, radians to degrees, hex to rgb etc. Some libs were written for RISC-V devs and hobbyists. A couple of my libraries dealt with the issue of Rust's ABI instability and interop issues by providing some simple forms of testing (crabi_test). Others provided data from Linux system processes, logging, etc. I spent all of this time creating these libraries for one reason - I wanted to contribute to the open-source community. I'm a Linux advocate and have used Linux and OSS for many years. I just wanted to give something back. I chose Rust because it's powerful. Because its compiler would do its best to prevent me from writing unsafe code - and because well, I LOVE using cargo.
Ethical Questions and Future Impact
For those raising ethical concerns about AI in programming, the truth is that the landscape is changing whether we like it or not. Yes, AI is contributing to development, and yes, it’s most definitely using code created by human developers, furthering and accelerating the coding process. But in my case, I have a defense - this is open-source - this software is meant to be shared, forked, improved upon - USED. Maybe some of the code on which these LLM's were trained was proprietary - it's likely. But I'm it's there and I'm using it to try and help developers in the open-source community - who are often under-funded and under appreciated for their great contributions. Even when using AI, accountability still rests firmly with the developers who guide, test, and validate. We’re not talking about AI “taking over”; we’re talking about AI augmenting our abilities as developers. Instead of fear and hesitation, it’s time to embrace what this tech is able do. I for one, love getting freed from a lot of the syntax and just finishing the product.
Recognition and Value
These libraries on crates.io that I’ve created with AI’s help have gained traction — proof that they’re effective and valued by the community. The fact that AI played a role doesn’t diminish their quality. Quite the opposite — it shows that AI-assisted development isn’t just viable; it’s impactful. AI has helped me deliver real, valuable tools to the people who need them. And that was my only goal.
To the Community
I’m not here for pats on the back nor for endless critique. I’m here posting this because it’s time we have an honest conversation about what AI brings to development. For those who’ve experienced the benefits firsthand, let’s share it. For the skeptics, the code is there for you to judge. This field is moving forward, and it’s up to all of us to stay open-minded and continue pushing the boundaries.
As more developers incorporate AI into their workflows, we need to be upfront and unapologetic about its role. Some will get it, and some won’t, but the results are undeniable: AI can code, and it can make a positive impact on programming. Don't worry, you'll still be working hard. But it's time to focus on what’s possible with AI in the mix, and how it can save time - maybe even your eyesight. Those who are ready should join this exploration.
bensatlantik - November 2024
SOCIAL SHARE CARD GENERATOR