I tried using GitHub CoPilot for writing a simple Elm application.
I used Vite and deployed it on Vercel.
The experience was quite pleasant. It managed well the task of writing Elm code and connect to JavaScript ports. My focus shifted more to telling it want I want rather than using energy on how things are done.
It is a simple Markdown editor that shows the result as you type. It stores the thing in local storage and you can download it.
The inital prompt was:
Create a basic markdown editor in Elm with the following features:
Create model for markdown with default text ātype markdown hereā
A text area where users can write markdown
Show a live preview of the markdown text as I type
Support for basic markdown syntax like headers, bold, italics
The markdown text and resulting HTML should be saved in the model.
I use Codeium, which is free for individual users and itās been a nice experience so far for autocompletion at least (never tried full prompt-coding).
The comparison chart with Copilot is wrong though, there is āin IDE chat and searchā for Copilot, the chart says otherwise. Itās one of the things I really like about Copilot, if Iām not sure about something, I can ask - made StackOverflow redundant for me.
I also find it really useful for boilerplate stuff, like if youāre creating a ToString function for an Enum type, Copilot will understand and complete the code block once youāve started it.
Iām not a fan of AI in general, but bit the bullet with Copilot. Sometime in the not too distant future Copilot and friends may make a lot of devs redundant.
Exactly my point, and itās still a whipper snapper that weāre training. Iām 53, and Iām willing to bet that in my lifetime the overall demand for devs will reduce as a result of AIā¦
If I remember correctly, after I installed the Codeium plugin for VS Code, on the right of the bottom status bar āCodeiumā was written in orange to signal something. When clicking on it a popup appeared and asked something like ādo you want to enable Codium for Elm (experimental)?ā. I chose āyesā and it works not too bad since. For JS/TS and CSS or even markdown it works really well.