List of 4,248 open source programming languages
codelani.com
codelani.com
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.
It's a list of...things.
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".
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
I am just remarking that it has a lot of entries that you would not necessarily see elsewhere.
e.g. it is very unlikely that all the Basic variants listed here are open source.
There are definitely proprietary languages on that list.
They need to pick a theme at least, to make this useful.
Almost. It's sure not Turing complete, though...
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.
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
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.
And it misses 2 of 3 of mine. Which are not eso nor toy languages.
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!).