Skip to content
Get a Demo
All Field Notes

We taught an A.I. to write Magik code.

We taught an LLM the programming language behind Smallworld. The Magik developer pool keeps shrinking; the tooling shouldn't.

From the archive: republished from the original Cliffhanger blog, December 2023. Lightly reformatted; the words are as they were.

We have trained the popular LLM (Large Language Model) ChatGPT in the programming language Magik, taking conversational AI to another level in the world of software development.

Magik is a powerful, object oriented, dynamic, and versatile language that plays a significant role in the development of highly customizable GIS applications. With an ever decreasing pool of talented Magik developers available, we decided to do a proof of concept. Can an AI assist in writing code and boost productivity? While we didn’t have any illusions of completely replacing developers (at least not yet :-) ), can such tool act as a co-pilot? Or can it help in teaching new developers mastering the Magik language?

Let’s see how capable it is. After training the model, we gave it the following task:

Write a method to take an arbitrary number of elements and return the sum, and add some comments.

It produced this:

The above example was quite simple, but for the model it needs to understand several things:

While this might look impressive (and it is by itself) other examples were less successful and produced buggy code. But with more training these kind of shortcomings can be fixed, we think. You could potentially teach it different Smallworld versions, and use it as a migration assistant: “rewrite deprecated methods from 5.0 to 5.3”. The possibilities are endless, from troubleshooting code issues to exploring more advanced Magik concepts.

Embrace the future of AI-enhanced software development and make Magik coding more productive.

#ChatGPT #AI #MagikProgramming #SoftwareDevelopment #ConversationalAI #Coding #ArtificialIntelligence #Innovation #Tech

Pilot to Production

See it on your network.

If this note sounds like your shop, that's a good place to start: one workflow, your systems, and a baseline captured on day one.