We've decided that we like the idea of a "Language of the Month" event. The main idea is to get more exposure for less-frequently used languages, and to have fun learning and golfing them together. The next question is, what languages shall we choose? And that's where you come in.
A language can be nominated for Language of the Month by posting an answer to this thread. We all vote on the languages we'd like to see featured. At the beginning of each month, the nomination with the highest net vote total is chosen as the Language of the Month. (This nomination process is modeled after Lit.SE's reading challenges.)
The chosen language will have a chatroom created for it, if it doesn't already have one. We could have a community ad to promote it, changing the ad each month to reflect the new featured language. (Does someone want to volunteer to create an ad?) It can also be featured as a site-wide event in the Community Bulletin Board sidebar; a mod would need to create the event.
During the month, everyone who wants to participate will:
- Learn the basics of the language (if they don't know it already)
- Answer challenges in it (new ones or old ones, doesn't matter)
- Try to outgolf each other's answers
- Discuss all of the above in the language's chatroom
Past languages of the month will be added to a list at the bottom of this post. Their nomination posts should be deleted (preferably by the person who made the post) to reduce clutter.
What sort of languages should I nominate?
We hope to see a wide variety! But not every language is a good choice for Language of the Month. Some things to consider before nominating, and when voting on nominations:
- It should be somewhat general-purpose and possible to program in. Bubblegum isn't a good choice, because it's only capable of solving a small subset of challenges. Neither is Malbolge a good choice, because it's prohibitively hard to create a working program in it at all.
- It should have a freely available implementation. This can be TIO, some other online source, or a downloadable interpreter/compiler.
- It should be fairly stable. Most languages change over time, even well-established ones, so this is a subjective criterion. But if a language is likely to experience significant modifications in the next month, don't nominate it yet.
- It can be either esoteric or practical. Of course we like our esolangs around here, but it would also be cool to study some lesser-known "real" languages.
* Better rules of thumb are welcome. I made this one up after thinking about it for ten seconds.
What should I include in a nomination post?
At a minimum, your nomination must include:
- The language's name.
- A link to a free implementation (or more than one, if available).
- A short description of the language, for those unfamiliar with it.
- Why you think this would make a good Language of the Month.
Ideally, your nomination should also include:
- Some links to documentation and other good resources for learning the language.
- A link to the language's tips question, if it has one.
- Ideas for one or more language-specific challenges that will provide an interesting experience beyond answering regular challenges in this language. These can be code-golf, fastest-code, king-of-the-hill, answer-chaining... you name it. Good language-specific challenges will focus on some aspect of the language that makes it unique, such as an ability or a weakness that most other languages don't have.
List of past and current Languages of the Month
- March 2018: Brachylog
- April 2018: Brain-Flak
- May 2018: MATL
- June 2018: QBasic
- July 2018: Japt
- August 2018: Self-modifying Brainfuck
Don't forget to keep nominating and voting on languages for next month!