I have decided to stop working on Oden.
Why? Building a programming language, even a small one as Oden where I can piggy-back on the success and engineering efforts of Go, takes a lot of time. A lot of time. I currently work professionally at a startup called Empear where we develop products for analyzing and understanding large software projects based on their history. The work is a lot of fun, but also takes much of my time and energy. Working with something as demanding as Oden on nights and weekends, at least in the long run, is unrealistic for me. I managed to keep a good pace during the spring of 2016, but since this summer the tempo has steadily declined into spurious efforts every other week or so. While that may be fine in many open-source projects, I think Oden needs a far better momentum if it is to be usable in any forseeable future.
I have wrestled with these thoughts for some time now, trying to find ways not to put the project on the shelf. Gathering and building a community of people is not easy. Neither is having the stamina to work on a project alone for an extended period of time. If I cannot build it alone, and if I cannot rally the group of people needed to build it together, then I should focus my efforts elsewhere. In other words, I should find something to work on that fits my current work situation and private life better.
Summarizing the year of 2016, it has been a hell of a ride. I went from only having talked at internal company events, to presenting at a local user group, and finally being a speaker on PolyConf in Poznań, Curry On in Rome, and Lambda World in Cádiz! I have learned a lot about programming language design, compiler implementation, open-source project management, project marketing, and blogging. Regardless if you build something that “succeeds”, whatever that means, I can highly recommend building your own language and compiler. It such a joy seeing your own little creature taking shape, running the first Hello World, writing the documentation, and meeting people that are excited about your work. There are negative sides as well, at least if you publish your work. The haters will find you and do their best to bring you down. I was shocked by that experience, loosing sleep and feeling really bad about myself. Eventually, though, I got out of it and started seeing all the wonderful reactions and encouragements from people around me, especially at conferences. That almost became a shock in itself! “Are people really this excited about my little language project?”
All of this has come together as a challenging balance for me - a balance between doing Oden for my own sake, a way of learning more about designing and building a programming language, and doing it for other people and for the Go community. I have reached a turning point and I will stop here. This post may seem as an attempt of creating some drama, which is not the point. I think it is reasonable for me to be clear why I am doing this, and to avoid any false expectations on the project’s future.
The Oden source code will remain at GitHub, with a big disclaimer that it is no longer in active development. I will shut down oden-lang.org and associated sites this week as I am paying for the servers myself. I might transfer the latest User Guide to a GitHub Pages site for free hosting.
As a final note, I still think the Go ecosystem deserves a decent functional programming language. Maybe some new language will emerge and fill those shoes, or a backend for PureScript or OCaml can win some ground. What ever the turnout, if Oden played even the smallest part in that story, I would be very happy.