24 comments

[ 3.0 ms ] story [ 53.0 ms ] thread
The title is misleading. I don't see "open source" mentioned anywhere on this page.

e.g. it is very unlikely that all the Basic variants listed here are open source.

There are languages you could write open-source applications with /s

There are definitely proprietary languages on that list.

To be clear, the HN title is misleading. The page itself isn't claiming to list "open source" anything.
The title is misleading. The list is about languages, of any kind, no matter if open source or not, or even if related to computing or not.

So much so that some entries that initially appeared weird to me are:

- morse code

- arezzo notation (a musical notation system)

- Balanced ternary

Then you look better... and you realize it's about languages in general, not about open source or programming at all.

Weirdly, the list itself is shared source (visible, encouragement to fork & PR, no license to be seen)
Not even just languages. atom-editor is not a language.
Some of them aren't even languages. Like another commenter mentioned, it's just a list of things. Which makes me wonder: why is it on HN
This list is very random. You can’t lump in musical notation from the year “1033” and call it programming.

They need to pick a theme at least, to make this useful.

I could almost stretch my mind that far. You could kind of think of a song as a program, and the musical notation as the programming language, and the performance of the song as executing the program.

Almost. It's sure not Turing complete, though...

Super cool! This list is very comprehensive and includes languages that aren’t on many other lists. I’m wondering how the author collected all of these. I’ve been building a list of programming languages posted to HN in my favorites list — it’s fun because everyone has their own idea or angle on what a programming language should look like and what features it should have.
It's a bit off, plenty of not-a-programming-language entries, & it isn't comprehensive

Anyways, if you want lots of silly languages https://esolangs.org/wiki/Language_list

I'll list some languages I've implemented which aren't on this list:

https://github.com/serprex/Rue I implemented Rue based off of https://esolangs.org/wiki/Thue but with the idea to extend it with regex & modules

https://github.com/serprex/oilrs https://esolangs.org/wiki/OIL someone shared an esolang they'd been implementing in Python, I decided to implement it in Rust. Making a second implementation made for good discussion, such as "how strict is integer format?" where it was decided 007 shouldn't be accepted, that empty cell vs empty-string cell being semantically different be kept, & the stdlib was moved to its own repo

https://github.com/serprex/NULL I decided to port https://esolangs.org/wiki/NULL to Rust. If there were more programs in NULL I'd consider digging for a faster bignum implementation

Bonus: https://esolangs.org/wiki/Three_Star_Programmer is an interesting one-instruction machine. One instruction is a neat space, a somewhat different dimension of minimalism from brainfuck, see also https://esolangs.org/wiki/Jot

They aren't consistently open source or programming languages (only categories “pl” and “esolang” seem to be programming languages.)

It's a list of...things.

Even among "pl", even a quick sampling shows that these aren't necessarily correctly categorized. For instance, "advice-taker" according to the site is "an actively used programming language created in 1958". But Wikipedia, which I would take to be more credible in this context, says it "was a hypothetical computer program" and explains the philosophical point put forth by the idea. So it was not a language, not even a real program, and certainly not actively used.
"open source" only appears in the editorialized HN title.
I like how comprehensive this is. Some of these are super obscure, including some systems that seem to only be referenced in a scholastic paper.

I don't like how disorganized/mis-characterized this is. As others have pointed out, there is little mention of open source (have to go into the language page for that), and these aren't all programming languages. Seems like it started as such and then scope crept to include...formal languages? What is CSV even?

Don't get me wrong, I think it's awesome that there is some abstraction in which Arezzo notation, matplotlib, CSV, and a bunch of esolangs are in the same category. But saying it could benefit from focus is an understatement.

The website, for being as sparse and web 1.0 as it is, takes a long time to first interactive scroll on mobile.

I think both problems could be solved, or mitigated, by breaking it into separate lists. Programming languages, libraries, markup languages, encoding formats, and "misc".

Can you really call a list comprehensive if it contains a ton of incorrect entries?

Just because someone talks a lot doesn't mean they know a lot, just like a long list isn't necessarily comprehensive just because it's long

Comprehensive is not the same thing as accuracy.

I am just remarking that it has a lot of entries that you would not necessarily see elsewhere.

Want to plug in my favourite https://github.com/kanaka/mal basically make a lisp in lot of language.

Really give you ther idea of what is needed in build a programming language. Soemthing won't quite obvious. until you I down and write code. Example the ability to rewind, go back to a few earlier token.

Excuse me for being an idiot, but are programming languages not...always open source? How else are you supposed to learn and use them?
It's usually the source code for the compiler or interpreter we're referring to when we say a language is open source or not. As you say, though, it is a misnomer of sorts. Many languages have both open and closed source compilers.
Law: Only an idiot thinks anybody else will use their new language.

Corollary: All languages are created by idiots.

We have been very lucky that a few languages created by such idiots have turned out to be usable. I doubt the ones that happened not to fizzle would have been the best a priori choices, but by the Law we are lucky that any are usable at all.

It's nice, but there are no tags for compiled/interpreted/influences.
It doesn't seperate language implementations from languages.

And it misses 2 of 3 of mine. Which are not eso nor toy languages.

Wow, alerted by a few pull requests and then pleasantly surprised to see this here.

As tyingq pointed out, this is not a list of "open source" languages, though I don't think it was too off for the OP to add that since indeed most of them are. It's also a bit broader than "programming languages". The list is termed "computer languages". That is the main category and ~75% of the langs, but formats and other things are counted as well (see table below). Even musical notations make an appearance, as I find those relevant to people interested in designing computer languages for music, or visual languages in general. While the focus is on computer languages, I think it's helpful to have a light touch of some of the earlier developments in language in general. So I didn't draw explicit lines, rather the strategy is to keep focus on programming languages with a peripheral view of the bigger picture.

    type                        count
    pl                          3096 
    application                 111  
    queryLanguage               82   
    textMarkup                  67   
    grammarLanguage             65   
    xmlFormat                   61   
    editor                      57   
    packageManager              56   
    binaryDataFormat            51   
    metaLanguage                50   
    template                    49   
    library                     40   
    textData                    39   
    protocol                    37   
    esolang                     37   
    notation                    36   
    assembly                    34   
    ir                          20   
    compiler                    20   
    isa                         18   
    standard                    18   
    idl                         17   
    schema                      14   
    visual                      14   
    computingMachine            13   
    plzoo                       12   
    filesystem                  11   
    framework                   11   
    jsonFormat                  11   
    hashFunction                10   
    os                          10   
    ...
As to accuracy, in general, there are ~420,000 cells in my "spreadsheet". My initial target accuracy was ~98% or so. Gathering the cells was a mixture of manual curation, crawlers, simple NLP models, and contributions from the community.

This project sadly fell by the wayside. I need to decide whether to 1) abandon it and instead just contribute facts as I find them to the relevant pages on Wikipedia or 2) determine if there's a good reason to build a fact site like this outside Wikipedia and if so get it into gear.

Sorry about any inaccuracies and thank you for the feedback (and especially the pull requests!).