UPDATE: The jam registration is now open. Read the instructions.
We built Repl.it to make it easy to explore and learn languages and programming paradigms. We’ve grown a community that, like us, is excited by languages. We were, however, surprised by how slow-moving the programming language space seems to be. Given how fast software is growing, shouldn’t we see more innovation in programming languages?
But if languages are tools, shouldn't we see many more language variations to cover the ever-increasings niches that software is entering? Similarly, if languages are mediums of thought, and there are more and more people interested in expressing themselves digitally, shouldn't we expect to see many more types of languages?
One answer could be that programmers are not that interested in thinking about languages. Or that our languages today are sufficient and everyone is happy. But spend a few minutes on any programming forum, and it’ll become clear that a lack of enthusiasm and opinions on languages could not be the reason why we don’t see more programming languages.
Programming languages are undoubtedly hard to make. They require a combination of design skills and technical chops. But for some reason, language designers are typically solo hackers. But what if we made programming languages easier to make? If we showed that it is possible for anyone, even those with limited experience, perhaps especially beginners, can create and experiment with languages? Wouldn’t we get a lot more exciting and fresh ideas?
Well, here at Repl.it, we specialize in making hard things accessible, and we want to make creating programming languages easier, fun, exciting, and collaborative. Today, we're announcing the programming language jam and a $10,000 grant to a team that designs and prototypes a new language with emphasis on fresh and possibly wild ideas. The winning language will also get added to Repl.it, where anyone can quickly start using it to code. We’ll have prizes for individual category winners too.
The hackathon starts on August 10th and runs until August 31st. To enter, you have to create a Repl.it Team when registration opens with a minimum of two team members. Registration will open on August 1st. To be notified when registration opens, leave your email here.
Our Hackathon is judged by:
- Mary Rose Cook whose language experimentation spans toy Lisp interpreters to programming environments for kids
- Jordan Walke, the creator of React.js and the Reason programming language
- TBD: we're looking for more judges. Specifically people who are interested in wild programming language ideas
Can anyone participate?
Yes! You don’t even need to have any prior experience making languages. To help you get started, we created these tutorials and templates:
Here also also some links to other websites that can help you learn the basics of making your own languages:
What kind of language should it be?
Any kind -- it could be dynamic, compiled, or whatever. We’re particularly interested in fresh ideas. So the only criteria are that it’s a language you can program in :)
What do I get if I win?
You get $5,000 upfront, and $5,000 over two months to continue working on the language after the jam. We ask you to try to get to a usable version of the language three months after the jam and we'd be more than happy if we get to add it to Repl.it when you're ready.
Do I own the IP of the language?
The language is totally yours and in fact you can enter with your existing language as long as you make significant improvements to it during the jam.
We only ask it be open-source.
Do I have to code it on Repl.it?
During the jam, we ask all participants to code and submit their projects on Repl.it to make it easy for our judges to run your project, and for our users to interact and potentially fork and remix your language. We ask that you make one demo repl that it’s easy to run and try.
After the jam, it’s up to you where you want to finish coding the language.
Can I be a judge?
Yes -- reach out to us on Twitter or email, and we’d be happy to chat.
Can I remix or improve on an existing language?
Yes, as long as you're adding original ideas and putting an effort to meaningfully change or improve the language.
Can I make a Domain Specific Language (DSL)?
Can I make a non-turing complete language?
Yes, as long as it's useful and not purely academic.