Choosing Your Tools In The Age of AI

I am a big fan of Svelte. It allows you to quickly code something like this:

<script>
  let count = $state(0);
  let talented = $state(true);
</script>

<button on:click={() => count++}>
Clicks: {count}
</button>

<style>
  button {
    color: white;
    background: #012169;
  }
</style>

Having tried React before, this is a much simpler way to code. The way you can use simple if statements in the html code is just beautiful.


You are talented. Now you need hard work!
<script>
  let talented = $state(true);
</script>

You are {talented ? "" : "not"} talented.
{#if talented}
  Now you need hard work!
{:else}
  You need work even harder!
{/if}

As I was reading Svelte 5’s documentation I noticed something interesting, a page with .txt files for LLMs to crawl svelte.dev.

This got me thinking, as more and more code is written by AI, how will this affect the tooling we choose. This applies in all sorts of areas, but especially in terms of programming languages. Consider the following points:

Popularity

The elephant in the room for choosing any technology is popularity. React is popular because React is popular. Once a tool is established as commonplace and the de facto standard, it tends to cement itself until a generational improvement.

This is with good reason too. Popularity means proven, popularity means better tooling, popularity means better support, popularity means more educational material, popularity means more jobs/employees.

Popularity means better AI code generation.

Since AI is trained on all the code on the public internet, having seen more examples of a popular technology such as React, it’ll understand it better and be able to apply it to more diverse situations.

Quality

The quality of the codebase online is also very, very important. The old adage remains true:

Garbage in, garbage out.

Althought a technology like React is popular, it also means that there is more than enough spaghetti code online written in it. This can significantly impact the model’s performance if the model’s trainers did not carefully curate the data or otherwise combat low quality training data.

Whilst languages like Haskell are niche, it may actually be much more suited for LLM code generation the dozens of Haskell coders are nerds who write high quality code!

Adoption

Although the migration from Svelte 4 to Svelte 5 is generally an improvement, one hilarity I encountered is that no matter how much I specified “use Svelte 5”, the models will continue to use Svelte 4.

It seems that in the modern age, we not only need to convince humans to switch, but machines too!

Final Thoughts

I do not know what will actually be optimal tech stack as your decisions will be affected by some weighted combination of the above factors. Nevermind the fact that choosing a tech stack was already a chore before AI.

Tools development in the future will need to take AI into consideration and always provide as much training data and explanation as it can. This not only allows AI generation, but feedback and debugging too.

Ultimately, the right tool will always prove to be the easiest to work with. Until AI can code everything without us having to touch a single thing, I personally would rather just use the easiest tool I prefer.

I’m going to stick with Svelte for the near future and you should stick to your favourite tools too.