13
\$\begingroup\$

We've decided we'd like to give the "Learn You a Lang for Great Good" chat event \${}^*\$ a go. As a brief overview, this event would be:

For around an hour (or as long as participants want) every two weeks, discussion in The Nineteenth Byte is primarily about a specific programming language. This includes CMCs that are relevant to the language in some way, discussion and questions about that language, and anything else that directly relates to the language in some way

This would also include having a couple of users around who are familiar with the language to help others learn and provide some basic information. Exactly what role these users would have (hands on teaching, just watching and answering questions, etc.) is up to them.

Currently, the plan is to add two new events to The Nineteenth Byte's schedule for this event, on every second Wednesday, alternating between 00:00UTC and 12:00UTC, staggered with BMG. This would mean the first event would happen at 00:00UTC on the 18th of August. If there is opposition to this schedule however, please leave a comment below with a better suggested time/day and we can change it if necessary.

However, this thread is mainly to collect nominations for languages. Unlike Language of the Month, this event isn't primarily intended to showcase languages. Instead:

  • Please nominate languages that either you'd like to learn more about, or that you'd think others would like to learn about, and
  • Please vote on languages you'd like to learn

This in an effort to avoid the most popular languages on the site "dominating" this event, and to give space to languages that have been overlooked or underused. That said, ultimately, please vote how you feel is most appropriate.

Please also include some justification for why you believe the language would be a good language for people to learn, and why they'd be interested in learning it.


\${}^*\$: Name chosen in this poll

\$\endgroup\$
2
  • 2
    \$\begingroup\$ I think instead of having a voting system like BMG, it might be good to just randomly select from all positively suggested languages. Maybe have a weighting based on how upvotes it has \$\endgroup\$
    – Jo King Mod
    Aug 13 at 1:12
  • 3
    \$\begingroup\$ @JoKing I somewhat deliberately didn't include anything like "The highest voted answer will be used in the event", so that when the event happens we have more freedom to decide which language we'd like, and that decision can be part of the event. This would also allow people who want to be "teachers" to say "Oh, I won't be free for that one, could we do it next time instead?" I think upvoting answers you like is a good way to show preference, and we can include that when we decide, but that the final decision should be made at the time, rather than in advance \$\endgroup\$ Aug 13 at 1:16

16 Answers 16

12
\$\begingroup\$

><>

><> was learned for great good during the event on September 14, 2021


A quite interesting esoteric 2D language, and it's quite fun to fiddle with.

\$\endgroup\$
11
\$\begingroup\$

Quipu

Quipu was Learned for Great Good during the event on 1 September 2021


An esoteric language inspired by the knotted strings used by the Inca for bookkeeping. The program consists of one or more "threads," each of which is composed of "knots." Each thread is laid out vertically, so programs look like this:

1& 1& 1&
[] ++ []
/\    1%
\n    --
/\    3&
      ==
      0&
      ??

I don't know this language, but it looks fascinating and I want to learn it.

\$\endgroup\$
1
  • 2
    \$\begingroup\$ Easily my favourite of all the picks. Looks very interesting, unexplored and the original developer also has some other very interesting projects. \$\endgroup\$
    – Razetime
    Aug 13 at 8:25
10
\$\begingroup\$

Underload

One of the classic tarpits. It's programs are in bijection with those in Unlambda, another classic tarpit, see here for details.

Underload is a stack-based esoteric programming language that works along similar lines to Muriel. It was created by User:ais523 in 2006. Although not technically speaking a functional language, its evaluation operator ^ (which is the only form of flow control) makes programming in it functional in practice.
~~ Esolangs.org

\$\endgroup\$
10
\$\begingroup\$

Cascade

Cascade was Learned for Great Good during the event on 28 September 2021

Cascade is a 2D language based on branching trees that is intuitive to understand but hard (and therefore fun??) to golf. If you've ever seen an ASCII art diagram like:

    ^
   / \
  ^   c
 / \
a   b

Then you're already halfway to knowing the syntax

\$\endgroup\$
8
\$\begingroup\$

BQN

BQN was Learned for Great Good during the event on 13 October 2021

As a practical language, it might be best to only work with some of it for time reeasons.

\$\endgroup\$
7
\$\begingroup\$

///

A minimalist language based on string substitution. The only command is repeated string substitution with /pattern/replacement/. And yet... it's been proven Turing complete!

Resources

\$\endgroup\$
6
\$\begingroup\$

Stack Cats

All programs in Stack Cats are horizontally symmetric and each command either undoes itself or has another command that undoes it, which is pretty cool, although it makes nontrivial programs hard to write (although <(code)*(edoc)> can be used, I think (corrected by Aiden4)).

\$\endgroup\$
2
  • 1
    \$\begingroup\$ The construct is <(edoc)*(code)>, or some similar abuse of (). \$\endgroup\$
    – Aiden4
    Aug 13 at 0:06
  • \$\begingroup\$ @Aiden4 Fixed, thanks. \$\endgroup\$
    – user
    Aug 13 at 0:14
5
\$\begingroup\$

Zsh

Zsh is a Bourne shell derivative which apparently specialises in having far too many ways to do some things, of which the shortest is always inconvenient, and no obvious way to do a lot of other things. Thanks to its liberal forgiveness of errors, it is very abusable, which is a great feature for code golf and makes competing in it particularly fun.

  • An awesome and practical interactive shell and scripting language, not just useful for golfing
  • Often among the most concise of the practical languages used on CGCC, with an ELO of about 1050
  • It's also very good at restricted source, especially for a non-esoteric language
  • Documentation is occasionally hard to find, so I will be teaching you :)

See also my post in the Showcase of Languages.

\$\endgroup\$
5
\$\begingroup\$

Lost

Lost is a 2-D programming language where the start position and direction of the ip are entirely random.

Lost wouldn't make a very good LOTM, since it is really hard to use and can only solve particular challenges. However it's perfect for this event.

Lost is an "easy to learn, hard to master" sort of language. It only has a few commands and the way it behaves is easy to follow. However the twist of lost makes writing even basic programs a challenge and gives the language a lot of depth. There are techniques and strategies to learn, and pitfalls to avoid.

Plus it's just fun to play around with such a unique language.

\$\endgroup\$
4
\$\begingroup\$

Vyxal

Ideally, we'd focus on the more prac-lang features (such as defined functions, control flow, variables, that sort of stuff) instead of the golfing features (such as compressed strings, niche elements, golfing tips, that sort of stuff).

Also it'd have the added bonus of annoying Redwolf and Caird :p

\$\endgroup\$
4
\$\begingroup\$

BitCycle

A 2D, queue-based language where programs manipulate streams of bits flowing around the playfield. Think ><> meets Bitwise Cyclic Tag. Since it's so low-level, it makes all but the simplest challenges tricky to solve, which I think fits well with the CMC format of this event. And boy is it satisfying to watch the bits flow through your code once you get it working!

So far, Jo King and I are the only ones who've posted answers in BitCycle. (Jo King is much better at it than I am.) I'd love to introduce it to more people.

\$\endgroup\$
1
3
\$\begingroup\$

Desmos

It's an online graphing calculator, but you can still solve many mathematical/graphical coding challenges with it. It's interesting to play around with, that's for sure.

Also, only a few people use Desmos in code golf; I think more people should definitely try it out :D

Not actually too sure if Desmos should be nominated for LOTM or for this, so I decided to do both.

\$\endgroup\$
2
\$\begingroup\$

Jelly

\$\endgroup\$
1
  • 4
    \$\begingroup\$ One concern I have about Jelly (and APL) is that there are already rooms dedicated to learning the languages. That's not to say they're a bad idea, but just something to consider \$\endgroup\$ Aug 12 at 19:20
2
\$\begingroup\$

F#

Its syntax is pretty lightweight, like Haskell's (although it looks like it's less concise). Looks like it'd be an interesting language to golf in, but there aren't a lot of F# answers here.

\$\endgroup\$
2
\$\begingroup\$

tinylisp

A minimalistic Lisp dialect. It has only 16 builtins, which makes it easy to pick up for a one-day chat event. But because Lisp is powerful, this small set of builtins can be combined to solve a wide variety of tasks. tinylisp is particularly good at functional programming and list manipulation.

\$\endgroup\$
1
\$\begingroup\$

Flobnar

Flobnar is the lesser known sibling of the Befunge family of languages, described by the creator as "[getting] Befunge-93 drunk to see what would happen". It is a semi-functional 2D language that is many respects similar, but not quite the same as Befunge. It is more akin to my own language Cascade (previously featured on LYAL), in that many operators will split the execution and evaluate their respective branches separately.

A Rust interpreter is available on TIO.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .