8 ms·
A list of computer languages with release year and category
- ent101 7y agoHow does it estimate the number of users?
- mcormier 7y agoOr jobs?
- milesvp 7y agoI don't know, but looking at ADA, 20 jobs seems very low. I was under the impression that ADA is still a required language for a lot of military hardware. My guess would be that he's scraping jobs sites for listings numbers, and I suspect something like ADA development is using different channels to find devs.
- tom_mellior 7y agoProlog has 402 claimed jobs: https://codelani.com/languages/prolog.html https://codelani.com/languages/prolog.html but looking at any Prolog implementation lists 0. I cannot imagine that there are this many (available?) Prolog jobs in the world, nor that no advertised job would specify the implementation the company uses. I think the numbers are generated using some sort of garbage in, garbage out system.
- codelani 7y agoYes, a year or two ago I grabbed job listings from sites like Indeed and LinkedIn and trained a very crude basket of models. No one ever seemed to use it so I hadn't touched it since then. Time to refresh that, thanks for the feedback! Interesting points about ADA and I'll try and bring in some of those back channels.
- codelani 7y agoSee answer above. A very crude model. Will ship a new one with an explanation shortly.
- sim_card_map 7y agoLooks like it uses github stars for that.
- codingdave 7y agoThat would exclude many users for languages that are in legacy systems, which are rarely tracked in github.
- ent101 7y agoIt could be alright for a rough/relative estimate...
- ska 7y agoPoorly, it seems.
- codelani 7y agoA very basic decision tree/random forest model. I haven't updated it since the first version I did about a year or two ago, because I didn't have users myself and no one provided any feedback. Thank you for the feedback! I've made a todo item to refresh/explain the model.
- droidist2 7y agoWish it was sortable by date
- bendiksolheim 7y agoThis is doable with some JavaScript. Paste the JavaScript from this gist [1] in your console while on the web page, and the table will be sorted descending by year. Swap `bValue - aValue` on line 4 with `aValue - bValue` to sort ascending. [1] - https://gist.github.com/bendiksolheim/307a6af9aba2c4360c75b900e484dd58 https://gist.github.com/bendiksolheim/307a6af9aba2c4360c75b9...
- fireattack 7y agoIt breaks/stops at rows with blank "appeared".
- tuespetre 7y agoFloop document.querySelector('tbody').append(...Array.from(document.querySelector('tbody').rows).map(row => ({ row, year: parseInt(row.cells[2].textContent) || 9000 })).sort((a, b) => a.year < b.year ? -1 : a.year > b.year ? 1 : 0).map(x => x.row))
- sim_card_map 7y agoAnd by users.
- ravenstine 7y agoClosest I could get: `Array.from(document.querySelectorAll('table tbody tr')).sort((a, b) => { const yearA = parseInt(a.querySelector('td:nth-child(3)').innerText) || 2019, yearB = parseInt(b.querySelector('td:nth-child(3)').innerText) || 2019; return yearB - yearA; }).forEach(tr => { tr.remove(); document.querySelector('table tbody').insertAdjacentElement('afterbegin', tr) });`
- stephen82 7y agoYeah, I find it quite difficult to navigate without sorting them in chronological order...
- jdlyga 7y agoIn case you can't find it, c++ is on the list, but under cpp like the file extension.
- kevin_thibedeau 7y agoThe name is C++. The extension could be cpp, or it could be C, or cxx, or cc. The C preprocessor is also cpp.
- coldcode 7y agoShortCode from 1949 is the first one with a date.
- m1117 7y agoBased on it, jquery is a language lol
- zosterops 7y agoIt is listed as type library.
- FlorianRappl 7y ago... in a table / page called "Languages".
- zosterops 7y agoWhich also includes thinks like xml, css, csv, abacus, abnf, apacheconf, hcl, apt, bibtex, and git.
- FlorianRappl 7y agoWait until you spot Wordpress in the list, too.
- kensai 7y agoAnyone willing to work on Abacus please send me a papyrus. :D https://codelani.com/languages/abacus-machine.html https://codelani.com/languages/abacus-machine.html
- jcranmer 7y agoAmazingly, it's still in the top half of programming languages! Which just goes to show how meaningless top N% is when you have a list of so many languages.
- AnimalMuppet 7y agoTop half measured how? Lifetime number of users? And, for whatever the metric is, what number defines the boundary between top half and bottom half? (I bet the boundary number is astonishingly low. Well over half the languages got very little traction.)
- webreac 7y agoWhere should we send links to missing languages (like https://en.wikipedia.org/wiki/Gofer_(programming_language) https://en.wikipedia.org/wiki/Gofer_(programming_language) ) ?
- codelani 7y agoAdded. Thanks!
- nielsbot 7y agoI feel like a geneology of programming languages is also a useful representation. More here: https://github.com/stereobooster/programming-languages-genealogical-tree https://github.com/stereobooster/programming-languages-genea... Would be nice to have an interactive browseable/searchable/sortable graph with additional data such as year of release.
- codelani 7y agoNeat! Thanks for sharing this link! I plan to release a better frontend for exploring the DB soon.
- pjungwir 7y agoI don't see Chef [1] which was part of the MIT Mystery Hunt many years ago. If you have ever told anyone that programming and/or algorithms are just following steps like a cooking recipe, you should read about it. I don't think there was even an interpreter back then, so you had to "execute" the program by hand. [1] https://esolangs.org/wiki/Chef https://esolangs.org/wiki/Chef
- codelani 7y agoVery interesting! Added. Thanks! There are a lot of esolangs still to add. It's helpful to have people recommend noteworthy ones.
- nils-m-holm 7y agoMaybe you want to add Klong (K family, http://t3x.org/klong/ http://t3x.org/klong/) -- not necessarily eso, but not exactly mainstream, either. :) Then, T3X was invented in 1995. And Klong in 2015.
- codelani 7y agoVery cool! I love to see new array languages. Added. Thank you.
- vuild 7y agoNice. I got to around 1K. You probably have them all, but there could be some in there. Your list is much more useful so I linked to it.
- nurettin 7y agoTo this day, I still miss the ability to list, move up and edit code at the same time using C= 64 terminal. Good days. https://codelani.com/languages/simons-basic.html https://codelani.com/languages/simons-basic.html
- pattisapu 7y ago"Written by British programmer David Simons in 1983, who was then just 16 years old at the time...." Wow!
- jandrese 7y agoSome of these have confusing type fields. Like asterius-compiler which is a "compiler", but apparently not a programming language? It seems pretty loose at what constitutes a "computer language", with numeralSystems, cloud, non-programmable text editors, and mathematical notation among other strange entries. It feels like there needs to be some kind of cutoff on what we're calling a language here. Maybe if it is Turing Complete? I mean JPEG might be considered a language in some ways, in that it encodes data and the computer has to parse it, but I wouldn't normally classify it as a language.
- somecallitblues 7y agoTrue that. AWS is on the list as well which is quite odd.
- codelani 7y agoThank you for the feedback! The categories are a loose grouping. In the future there should be a lot more columns so will be better ways to cluster and view groupings.
- not_a_cop75 7y agoPlease make this list sortable by the columns. Thank you.
- codelani 7y agoAdded. Please let me know if that works or breaks. Thanks for the feedback!
- not_a_cop75 7y agoIt's odd how you classify numerals as languages. Otherwise, great reference. abacus-machine computingMachine -2700 babylonian-numerals numeralSystem -2000 roman-numerals numeralSystem -900 attic-numerals numeralSystem -600 greek-numerals numeralSystem -300
- codelani 7y agoThanks! I found that the development of numeral systems is in many ways similar to the development of programming languages, and the "story" is incomplete without including those in the db. It's a more recent development that I didn't expect.
- arianestrasse 7y agoInteresting idea but as others have already pointed out, it has a lot more than just programming languages in it. I understand that the description explicitly points it out but advertising it as a list of "computer languages"/"programming languages" is just plain wrong and misleading.
- ken 7y ago> Steel Bank Common Lisp, aka Steel Bank Common Lisp, is a historical programming language I'd call it a compiler, not a language, and I've never heard it called "historical". What makes a language "historical"? > ABCL%2Fc%2B is a historical programming language created in 1988. Got some escaping issues here. > Beginner's All-purpose Symbolic Instruction Code, aka Beginner's All-purpose Symbolic Instruction Code, is an actively used programming language created in 1964. BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. Lots of redundancy redundancy here, redundantly. > #include <objpak.h> I'm having a little trouble finding what this is, but it's not part of (modern) Objective-C, and this hello-world doesn't compile with Clang. It seems to be a class library that shipped with one (non-NeXT/Apple) Objective-C compiler. I don't think I've ever seen the do:{:each |...} syntax in Objective-C, either.
- voldacar 7y agoSBCL is "historical" while Basic is "actively used". Hilarious
- codelani 7y ago> What makes a language "historical"? Perhaps I should have 3 categories: active, legacy, historical. Active would be the language itself is still evolving, legacy would be the language has stopped evolving but some people still use it, and historical is there are no known public users. My current model that predicts that status is very wrong and needs an update. Added to the todo. > Got some escaping issues here. Will fix, thanks! > redundancy Thanks! Will fix. > > #include <objpak.h> Thanks for the note. Added a link to the source for that one.
- zosterops 7y agoMissing: https://en.wikipedia.org/wiki/Go!_(programming_language) https://en.wikipedia.org/wiki/Go!_(programming_language) https://en.wikipedia.org/wiki/CAL_Actor_Language https://en.wikipedia.org/wiki/CAL_Actor_Language https://en.wikipedia.org/wiki/TempleOS https://en.wikipedia.org/wiki/TempleOS [HolyC] https://en.wikipedia.org/wiki/Standard_Portable_Intermediate_Representation https://en.wikipedia.org/wiki/Standard_Portable_Intermediate... [SPIR] https://en.wikipedia.org/wiki/Refer_(software) https://en.wikipedia.org/wiki/Refer_(software) https://en.wikipedia.org/wiki/RuneScape#History_and_development https://en.wikipedia.org/wiki/RuneScape#History_and_developm... [RuneScript] https://en.wikipedia.org/wiki/Vulkan_(API) https://en.wikipedia.org/wiki/Vulkan_(API) https://en.wikipedia.org/wiki/DokuWiki https://en.wikipedia.org/wiki/DokuWiki https://en.wikipedia.org/wiki/Ansible_(software) https://en.wikipedia.org/wiki/Ansible_(software)
- falcrist 7y agoI was going to add C++ to the list, but I see that it's listed as cpp. It's lists c-- correctly, so I don't know why C++ would be any different.
- codelani 7y agoI bet I blocked + because (I incorrectly thought) it was not a valid URL character.
- sarego 7y agohttps://codelani.com/languages/go.html https://codelani.com/languages/go.html
- plazmaphyujin 7y agoGo! and Go are two different languages. Read the last section of the wikipedia page for Go! listed above for their objections against Google for picking that name.
- codelani 7y agoThank you! Added Go!, CAL, SPIR, Refer, and DokuWiki. Will add RuneScript, Vulkan and Ansible.
- wmichelin 7y agoNitpicky feedback, the PHP page says "Personal Home Page". The meaning was changed to the recursive "PHP: HyperText Preprocessor". Source: https://www.php.net/manual/en/preface.php https://www.php.net/manual/en/preface.php
- hackworks 7y agoBerkeleyDB: Computer language??
- ColinWright 7y agoFor those complaining that they need it sorted by date: curl https://raw.githubusercontent.com/codelani/codelani/master/langs.csv \ | awk -F "," '{print $NF, $0}' \ | sort -n \ | sed "s/^[^ ]* //" \ | less This will fetch the CSV, copy the date to the front, sort it, then remove the date. There are a lot of entries that don't have dates. If you want to remove them, pipe the result through: grep -v ",$"
- codelani 7y agoJust added column sorting by clicking the headers. But your solution is great too! Thanks!
- idoubtit 7y ago`awk` is not needed since `sort` can apply to the fourth column. curl ... \ | sort -t, -k4 -n | less
- ColinWright 7y agoThat's true, but the solution I suggested works to sort on the last column, whether or not there are exactly 4 columns. I avoided having to count how many columns there are, assuming only that the date comes last. But yes, if you know the date is in the 4th column then your solution also works.
- ddp 7y agoThank you!
- arcticfox 7y agoAnyone around to convert this to that nushell that was featured on HN a few weeks ago? I'm curious to see what the comparison would look like in a super practical real-life scenario
- deleted 7y ago[deleted]
- canada_dry 7y agoAny former GEAC systems folks here? You'll notice the list has ZOPL, but is missing ABL (Automated Banking Language) which ran several banking operations in Canada in the early 80's.
- codelani 7y agoThanks! Do you have any links to something on ABL? I can't find anything.
- canada_dry 7y agoSeems odd to think about digging up documents before the era of pdf! Somewhere buried I probably have an old GEAC-ABL manual, but a quick look didn't uncover anything. Who should I notify if I find something?
- munk-a 7y agoI really wish this list had some built in sortability in the WebUI - there is an immense amount of information on the language detail pages that would be nice to see surfaced on that list. Ed. Oh it is sortable by the presented fields, it's just a bit un-intuitively communicated via the UI
- Someone 7y agohttps://codelani.com/languages/arabic-numerals.html https://codelani.com/languages/arabic-numerals.html: 20 users, 0 jobs?
- codelani 7y agoThank you for the bug report. Will update. Numeral systems are a relatively recent addition and I haven't yet built a special template/models for them. Might be more like 7 billion users and all jobs :)
- codesushi42 7y agohttps://codelani.com/languages/actionscript.html https://codelani.com/languages/actionscript.html Jobs: 2 How times have changed.
- Bostonian 7y agoFor Fortran I see fortran-77 pl 1977 fortran-8x pl 1989 fortran-90 pl 1990 but not the earlier Fortran 66 aka Fortran IV and the later standards Fortran 95, 2003, 2008, and Fortran 2018. Numerous Fortran 95 compilers exist, and Cray, gfortran, IBM, Intel, and NAG have implemented much of Fortran 2008, according to http://fortranwiki.org/fortran/show/Fortran+2008+status http://fortranwiki.org/fortran/show/Fortran+2008+status .
- codelani 7y agoThank you very much! Made a note to go carefully through the Fortrans and add these popular variants.
- Ceezy 7y agoSeems like a lot of work congratulation
- Aardappel 7y agoWow, 4 of my languages there: Lobster, False, Amiga E, Aardappel :) I contributed 1/750th of the worlds languages. Achievement unlocked!
- droidist2 7y agoFor faust you have 2015 but it should be 2002. https://en.wikipedia.org/wiki/FAUST_(programming_language) https://en.wikipedia.org/wiki/FAUST_(programming_language)
- Crinus 7y agoIt doesn't seem to handle name collisions very well. I'm certain there were other languages called "D" before the Digital Mars one, for example.
- codelani 7y agoOne letter language names are particularly overloaded. Definitely an area I can improve. Thank you!