Have you heard about Setanta? It’s a programming language aimed at people who use the Irish language and it was created by an Irishman. Meet Eoin Davey, a Sligoman and one of the many Irish people out there who are coming up with creative ways to foster the Irish language.
Eoin grew up on the outskirts of Sligo town and he describes himself as a ‘definitely a nerdy kid’ with his ‘room filled with LEGO, books and DS games’. Growing up Eoin always had an interest in maths and science and knew that he wanted to be a scientist though admittedly, he says, he had no idea what that really meant.
‘I cycled through a lot of hobbies throughout my childhood, I tried my hand at magic, origami, soccer, karate, kickboxing, hurling, art, cardistry, electronics, running and countless other things,’ he tells me.
‘I stuck with some things for only a few weeks, and other things I still do today. I always had a strong interest in learning, and my parents were always very supportive of that, answering all my annoying questions and bringing me in and out of the library. In primary school I had subjects I liked, and subjects I hated, but my standout favourite subjects were maths, Irish and science.’
Though Eoin is now the proud creator of Setanta, it was actually one of the things that he didn’t try growing up, that is until he reached Transition Year (TY).
‘My friend and I set up a mini-company making Android apps, and I took up the job of actually learning how to make them,’ he explains.
‘I threw myself into the deep end of programming and tried to figure out the basics. A few months into trying to learn how to program, Google ran a programming competition for second-level students, and I decided to give it a shot. Through a lot of luck, I ended up placing 3rd overall, which, trust me, came as a bigger shock to me than anyone else.’
Eoin set aside programming at the end of TY and didn’t think about it until his Leaving Cert year when during a practice Irish oral, the programming he had done came up. Eoin’s teacher mentioned that there was another programming competition coming up, the AIPO (All Ireland Programming Olympiad).
Eoin brushed up on what he had learned in TY and he ended up placing in a three-way joint first place.
‘At this point, I had no computer science courses down on my CAO choices list, I had only physics and maths courses, I hadn’t really considered computer science, but the experience at the competition inspired me to change my mind. I knew I didn’t want to transfer fully to computer science, I wanted to keep the maths. I decided on a course called Computational Thinking (CT), that had a mix of maths and CS. I went on to study CT in Maynooth in 2016.’
Eoin’s interest in Irish he says comes in peaks and valleys throughout his life but there was always a respect for the language at home.
‘My mum isn’t a native speaker, but she has strong Irish and admiration for the language,’ he says.
‘My younger brother attended a Gaelscoil for his primary school. None of us were fluent, and it wasn’t spoken that often around the house, other than occasional phrases and vocabulary slipping into conversation.’
Eoin says that he always enjoyed learning Irish.
‘I think I thought it was like a cool secret code. I also liked that it was ours, it was like our history or our myths and legends, it was something that identified Ireland,’ he explains.
‘In secondary school however, my interest waned a bit, I still enjoyed the language, and I kept up higher-level Irish. Even by the time the LC rolled around I was mostly focusing on other subjects. I ended up getting a B2 in higher Irish, and then I went off to college and didn’t think much more about it.’
It was while at Maynooth University that he found himself thinking about Irish more and more.
‘I was experiencing a certain guilt in having abandoned it in order to maximise my Leaving Cert points.’
In the summer of 2018, Eoin got the opportunity to move to Zürich and lived there for around 3 months. It was there that he met people from many different countries and he saw them all converse in their own languages, Spanish, Polish, Finnish, Russian, Mandarin, Hindi to list a few.
‘At one point I met another Irish person, and the group that we were with wanted to hear us speak Irish,’ he tells me.
‘We had a quick two sentence conversation and we stopped, as it was clear very quickly that neither of us had very strong Irish. I felt disappointed and disheartened by that experience,’ he says.
‘Despite so many years of learning Irish, I found it unnatural and difficult to talk to someone in Irish, yet every other culture, of the hundreds that were around, seemed so comfortable in their own tongue. It was eye-opening, I found myself feeling jealous of these other languages, they had a whole dimension to their own culture that was missing in some way from Irish culture. I decided that I should try and do something to improve my own Irish, at the very least, and if I could do something that would help others with Irish, even better.’
Eoin continued his studies and headed abroad to Toronto for his third year. The University of Toronto had a competitive programming team and Eoin tried out for the team and made it. It was here that he had the spark for ‘Setanta’, his Irish language code.
‘One of my teammates was Brazilian, and throughout the year I saw lots of code that was written in Portuguese, but one thing stood out to me. The actual code itself was in English, it was only the names and comments that were in Portuguese,’ he tells me.
‘This was something that stuck with me, you couldn’t really program in a non-English language, all the mainstream programming languages had English words and terminology baked into them. This is where I got the idea for making an Irish programming language, I thought it was the perfect opportunity to improve my own Irish and to take part in the modernisation of Irish.’
Eoin teased out the idea with people to see what their response was and started planning for when he could start developing the language.
‘Making a programming language was going to require a huge effort and a lot of time. I knew I wanted to make the language from scratch. In theory, I could have taken an existing language and replaced all the keywords with Irish words. This would have technically achieved the goal but it only patches over the problem, it doesn’t solve it,’ Eoin explains.
‘Replacing the keywords and names with Irish words doesn’t fix the real problem because you haven’t changed the structure of the code. The way that the code is written is still, beneath the translation, built on the English language. It’s comparable to writing a sentence in English and putting into a translator, versus writing the sentence from scratch in Irish.’
But what is a programming language? Briefly, a programming language is a way of giving a computer instructions to tell it how to perform specific tasks, such as how to display a video, or how to play chess.
Modern programming languages are advanced enough to be almost like just writing the instructions in English. The goal of Setanta was to achieve this, but with the Irish language at its core instead.
Eoin was struggling to find the time to work on Setanta but then remembered that as part of the final year of his degree he would have to complete a final year project. He saw it as the perfect opportunity to find the time to complete the project and have it count towards his degree.
‘It ended up being a lot more work than I expected. I put more work into this project than I’ve put into anything ever before, no question,’ he says. ‘It became basically a full-time job. It was definitely a passion project, the more I worked on it the more invested I became.’
Eoin says that the name ‘Setanta’ actually came about a bit unorganically.
‘I had gotten tired of calling it “The Irish programming language” or “my final year project” so I sat down one evening and decided to name it,’ he muses.
‘I wanted to name it something Irish, but simple and familiar. I thought that Irish myths and legends were a good place to start with familiar Irish names, and where better to start than with one of the most famous, Cú Chulainn. I had thought about calling it Cú, or something similar for a while, but eventually, I decided that Setanta was a better fit. It’s a word that strongly identifies it as Irish while keeping the name simple.’
Eoin worked long and hard on Setanta which most of its challenges he says stemming from two places.
‘There was a lot of technical issues surrounding creating a programming language that you can run in your browser, and it was an interesting challenge finding ways that the Irish language can have an effect on the design of a programming language,’ he says.
‘Irish has a lot of linguistic differences from English, so I had to find places where the structure of the language could be changed to match the structure of Irish.’
Setanta includes a simple graphics display panel, allowing the user to draw and move shapes and objects on the screen. The language can be used to do all manner of things, from simple calculations to games, animations, pictures, maze solving, anything you can think of. All entirely as Gaeilge.
‘I’ve written games such as snake in Setanta and used it to make simple animations for other projects,’ says Eoin.
‘It’s designed to be as user friendly as possible. An advantage of not writing it in English was that I could choose simpler terminology and names for things than the ones that have been adopted in English. The tutorials for Setanta are available in English and Irish, so you don’t have to be anywhere near fluent to use it – I should know because I definitely am not.’
Eoin hopes to keep on working on Setanta as he admits there is so much left to improve in it. Ideally he says he would love to get others involved in the project as well who have a shared interest in making programming accessible in the Irish language.
‘The dream is to see Setanta used in education, in Gaelscoileanna or Gaelcholaistí, or just by people teaching their kids,’ he says.
‘I think Setanta provides a unique opportunity to both learn how to program and to strengthen your Irish. The department of education is introducing some computer science into the curriculum of lots of schools, and if Setanta could find a home in that area I think the project would have reached its peak.’
‘Something I often see online is people arguing that mandatory teaching of Irish should be replaced with computer science as if they are mutually exclusive. I hope this project helps to show that Irish is not just a historical language, and that it has a place in the modern world.’
Huge respect, but not the best of ideas. Make no mistake, I love the Irish and believe they should be proud of their language. However, using this language means that the code can only be maintained by an Irish speaker. That seems like a huge risk to take for any company when developing apps. English is pretty universal in the coding world to ensure maintainability, even in countries where it isn’t the native language. Still, great that he decided to create it!
I’m pretty sure that this is aimed towards Irish speakers anyway and also there are plenty of Irish businesses as well who use websites in the Irish language.
I know that there are Irish Speakers who are very capable of maintaining app.
TA go leor Gaeilgeóiri ann atá i ndon an app seo a choinneal ag imeacht.
Ar fheabhas Mairin 🙂
Ní fheicim rud ar bith mícheart leis agus nár laga Dia é. Is maith an rud é go bhfuil teanga ríomhaireachta ann atá bunaithe ar ár dteanga féin, an teanga a mbaineann muid úsáid aisti go laethúil. Caitheann muid úsáid a bhaint as an mbéarla le maireachtáil sa saol mór ach dá mba rud é gur “I love the Irish” atá i gceist agat tugann sé tinneas cinn dom sin a chloisteáil ó dhaoine nár bhain úsáid as an nGaeilge riamh ina saol agus a thugann amach nuair a fheiceann siad rud ar bith a thabhairt dúinn, lucht labhartha na teanga.
This is not necessarily true. I’m developing a new language and it allows keywords in a variety of human languages. It is very easy for tooling to dynamically change the keywords from one language to another. An IDE could easily implement this, one could visualize and edit source code in any supported language.
One could edit a German source file, render it in English, make changes etc then simply save it as German again and there’d be no problems.
I’d agree with the first comment re the universality of English in the coding world.
You are correct in noting that there are plenty of websites in Irish, but… the code behind those websites, HTML, PHP, CSS, JavScript and others, are all English based.
I think it is very admirable what work that Eoin has done as so many are happy to do nothing. Ná habair é, déan é is a great motto.
Great idea! Especially the fact that Eoin tried to take the Irish language structure into account.
I disagree with the other comments about English. You don’t need to speak English to learn a programming language. Conversely, being a native English speaker doesn’t make you a programmer: to be able to use a programming language, you still need to learn it. It will definitely help, as a mnemonic, if the keywords are in a language you know, but it is not necessary.
Moreover, the goal of Setanta is not world domination, but it fits very well as an educational tool to introduce Computer Science to Irish children.
I’m not an English native speaker.
You’re totally right Romuald, I think people are losing sight perhaps of how great an achievement this is.
Ana-shuimiúil! Caithfidh mé triail a bhaint as!
Déan cinnte! 🙂
Ceapaim go bhfuil “Setanta” rúd an mhaith.
Tá cuma ana-mhaith air!