The $LANG Programming Language

This afternoon I posted some tips on how to present a new* programming language to HN: https://news.ycombinator.com/item?id=46608577. It occurred to me that HN has a tradition of posts called "The {name} programming language" (part of the long tradition of papers and books with such titles) and it might be fun to track them down. I tried to keep only the interesting ones:

https://news.ycombinator.com/thelang

Similarly, Show HNs of programming languages are at https://news.ycombinator.com/showlang.

These are curated lists so they're frozen in time. Maybe we can figure out how to update them.

A few famous cases:

The Go Programming Language - https://news.ycombinator.com/item?id=934142 - Nov 2009 (219 comments)

The Rust programming language - https://news.ycombinator.com/item?id=1498528 - July 2010 (44 comments)

The Julia Programming Language - https://news.ycombinator.com/item?id=3606380 - Feb 2012 (203 comments)

The Swift Programming Language - https://news.ycombinator.com/item?id=7835099 - June 2014 (926 comments)

But the obscure and esoteric ones are the most fun.

(* where 'new' might mean old, of course - https://news.ycombinator.com/item?id=23459210)

117 points | by dang 4 hours ago

9 comments

  • chuckadams 2 hours ago
    For a moment I thought there was actually a new language called $LANG, which would have been wonderful.
    • Lammy 1 hour ago
      There's a language called SLang inside Goldman Sachs used for their SecuritiesDB, and that's how I read it at first glance even with the dollar sign lol https://en.wikipedia.org/wiki/Michael_Dubno#SecDB
      • dang 20 minutes ago
        I wonder what a program written in that language looks like.
    • trollbridge 2 hours ago
      I was thinking how it would be odd to have a programming language called en_AU.UTF-8.
    • null_onset 45 minutes ago
      The $LANG programming language, where the keywords are all just in-jokes that change from week to week.
    • cvoss 43 minutes ago
      Likewise. Thought it'd be pronounced "slang", and thought the semantics would be you define LANG=<name of a language> at the top of the file (like a hashbang) and then write in whatever language you please. $LANG is a neato language because it has all the coolest features rolled into one unified design: polymorphic lifetime borrowing, endofunctor monoid monads, (stacked) coroutines, and even quantum data types.
  • johnfn 3 hours ago
    This is a fun false positive :) https://news.ycombinator.com/item?id=34675259
    • dang 2 hours ago
      Whoops! I tried to catch those but yes.
  • dang 4 hours ago
    Yikes, I tanked HN's performance by posting this! Probably because of loading all those old threads over and over.

    I've moved the URL out of the link at the top, which seems to be helping for now.

    (now I have to decide whether to go down another rabbit hole and fix that)

  • zahlman 1 hour ago
    That reminds me, I really should blog my design ideas for my spiritual successor to Python....
  • macintux 2 hours ago
    I feel like there’s an Advent of Code challenge lurking here.
  • GaryBluto 4 hours ago
    Very useful! Thanks for the addition.
  • wizzwizz4 4 hours ago
    So these are just static pages, not new entries for https://news.ycombinator.com/lists?
    • dang 4 hours ago
      Alas, yes, at least for now. Seems like an LLM could be good at finding them though. A regex is probably too crude.
      • wizzwizz4 3 hours ago
        The old lesson from the Wizard of Oz experiment says that a regular expression probably isn't too crude, if you're willing to take the time to design it. Though you could probably get away with running a regex golf algorithm (e.g. https://nbviewer.org/url/norvig.com/ipython/xkcd1313.ipynb) over the list of matching titles, and the union of some list of non-matching-but-close titles (chosen to get good discrimination) with some list of way-off titles (to avoid overfitting). (You could treat the whole HN title database, other than the ones you've identified, as losers, but that risks hardcoding the absence of a post you accidentally missed, and would also take slightly longer – though Peter Norvig's first algorithm takes time linear in the number of losers, so it might not be too expensive. I don't know how expensive his improved versions are, given large lists of losers: https://nbviewer.org/url/norvig.com/ipython/xkcd1313-part2.i.... Better algorithms are surely available.)
  • jeswin 2 hours ago
    I did a Show HN for a language called Tsonic yesterday, which is a variant of TypeScript (all tsonic is valid typescript) requiring stronger typing which compiles to x64/ARM native code via .Net/NativeAOT. https://news.ycombinator.com/item?id=46604308

    It didn't appear in Show HN at all. Perhaps because another user posted it as a regular topic just a few minutes earlier, which drops off very quickly (within minutes) - but I think the issue is wider.

    For a while now, I've felt that the new topics stream requires you to promote the topic outside of HN to be seen on HN - sometimes by adding a "Discuss on HN" link in the blog, or on social networks etc. The problem is quite fundamental: the "Show" link gets a small fraction of clicks. The "Show New" (two clicks away) probably gets tinier, miniscule fraction of clicks. The intersection of people who are interested in the project and those who have clicked "Show New" would be very nearly null. So upvotes will have to come from outside.