Sort by:
Best
Open comment sort options
Best
Top
New
Controversial
Old
Q&A
More posts you may like
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
r/webdev
A community dedicated to all things web development: both front-end and back-end. For more design-related questions, try /r/web_design.
Members Online upvotes · comments
-
r/javascript
Chat about javascript and javascript related projects. Yes, typescript counts. Please keep self promotion to a minimum/reasonable level.
Members Online upvotes · comments
-
r/ProgrammerHumor
For anything funny related to programming and software development.
Members Online upvotes · comments
-
r/webdev
A community dedicated to all things web development: both front-end and back-end. For more design-related questions, try /r/web_design.
Members Online upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
upvotes · comments
-
It makes sense to me. Too young and people won't have had time to develop the skills (both technical and social) to build a language. It seems like it takes about a decade for most languages to get popular if they are going to, and most people who build a popular language tend to stick with it for the rest of their career, or apply what they learned to working on other already popular languages. Very few people build multiple popular languages.
In other words, there are less 40 year olds who can build a popular language, because some of them already built their popular language in their 30's. There are even fewer 50 year olds who can build a popular language, because some of them built their language in their 30's, and of the rest a lot of them built their language in their 40's. It's not so much a matter of older people being less skilled or able to build a language, and more about the fact that most people stop after their first one.
Everyone tries to write a compiler once, because once is enough lol
Honestly, a naive compiler was trivial to write for a simple instruction set list. Making it performant and covering edge cases is another ball of wax. Doing it in hardware is even more fun
Everyone should try everything once. Especially in programming or mathematics, where stakes are very low.
I’ve never actually written a full compiler, although I’ve written several interpreters and DSLs (and even worked on a couple professionally). It’s on my list of things to do one day, but only for fun. I’ve been at this long enough to know I want know part of the 99% perspiration it takes to make a language popular and success- but I’m quite grateful to the people who do.
If you don't want to write a full compiler you can also try an interpreter with JIT functionality.
I've done it twice and didn't complete them both times. Does this count?
If at first you don’t succeed try failing again
ROTFL, thank you for that laugh, this was spot on :)
There are actually quite a few second and third languages on the list. Oberon, Raku, TypeScript, Go, C#, M4, ... So there's nothing preventing you from doing it at 30 and then again at 50.
The set sizes hardly matters if you only subtract the people who’ve already built a programming language.
In fact it’s statistically negligible.
I would offer qualitative reasoning, not quantitative. And more likely from branches of social science.
Older developers are more likely to have gotten used to what they know.
Younger developers are more likely to think “I can do this better” than those who’ve been around for longer.
There’s likely a whole lot of “having the time”. As people grow older they’re much more likely to settle down and have a family which takes time.
Excellent point. I would add that in many other fields, large contributions can come from "prodigies", i.e. extremely young people who just happen to be geniuses on some topic. I am not sure we have seen any prodigies yet in the Programming Language space, but I would bet there will be one - the combination of highly intelligence, not being too stuck on a local maximum, and the lower barrier to entry since nearly all compilers became open source and most programming guides are free... all combine to make it a fertile ground for young people to experiment.
Aaron Schwartz being high on the list but sadly never getting a chance to make his full contribution.
How do you write a new language before you know what is out there? Granted, some young languages were not tainted by main stream ideas. I like scheme.
Scheme is a 49-year-old language, based on a 64-year-old language. What counts as an "old" language for you?
I meant the author age in this context. A language created by a fresh mind, untainted by enterprise. Looking to explore math. For example the 6502 by Charles Ingerham Peddle (40 years) and its machine language was created by an old, experienced guy, who knew what would have applications. john hennessy of MIPS was 30 and his ISA feels fresh.
While interesting data, this article sure has a bizarre definition of "programming language". Emacs? JQuery? JSON? None of those are programming languages.
Emacs has emacs lisp? JQuery is tagged as a library. JSON as a dataNotation.
I agree with you though. For this post, I had to sacrifice a little precision for brevity. But the full dataset includes the nuances.
But they all certainly are "computer languages". (For example, the query selection lang inside jQuery is a lang of its own).
I kept those ones in b/c I thought they were interesting: jQuery/eMacs creations of early 20's. JSON at 46.
All 3 are creations that have had huge impact in the day to day lives of programmers around the world.
The full dataset is here: https://pldb.io/download.html and you can also explore it here (https://pldb.io/lists/explorer.html) and make any custom lists as you want.
Emacs in 1974 (when rms was around 21) used TECO, and it's only in the mid-1980s that GNU Emacs came about with Elisp. Other variants of Emacs used Lisp or (James Gosling's) Mocklisp.
Ah, you are right (https://pldb.io/concepts/emacs-lisp.html) - emacs lisp was 1985.
Thanks for the info!
jQuery's "selection lang" is just CSS. It's a pretty egregious inclusion.
I understand why you included it, though. Great work.
Thanks! And I agree with your point. And think the next pass at this will focus more on programming languages, and exclude libraries, editors, and other things.
Okay but all languages on the computer aren’t all programming languages. It’d be like having a list of fine dining places and putting McDonald’s on the list just because they serve food. The precision completely matters!
What matters more is I share all my work public domain, with all the source code.
I explained my reasoning above. I agree, it would have been nicer to filter more precisely on the "tags" measure in our database. Anyone else is welcome to do that. Again, all the source code is there.
If I do another version of this in the future, I'll most likely not make the same mistake.
I love programming in UTF-8....
JQuery?! Wtf
JQuery is tagged as a library in our scrollset.
If I do another version of this post I should really just be more strict with my criteria if I'm going to use "Programming Language" in the title. I found it interesting to keep things like jQuery and JSON in, but then that sort of causes conflicts with the title. I should have just kept them in in my own versions, and then for the chart with "Programming Language" in the title, been more strict.
(My joke answer was that jquery selectors might be turing complete ;) )
"eMacs", eh? Those cheap Macs that Apple made for school use back in the 1990s shortly after Jobs came back?
I'm pretty sure Stallman would be appalled at the association.
The typo has been fixed https://github.com/breck7/pldb/blob/main/posts/ageAtCreation.scroll and the person responsible has had his paycheck lowered like his e's.
Thanks!
This is a weird but common auto-correct; I THINK on Apple. I've seen it in r/emacs quite a bit.
Also it is debatable if Stallman is actually even the creator of Emacs. The irony is two of the possible creators James Gosling and Guy Steele went onto create a top language (aka mainstream): Java.
Now do one by length of beard!
https://www.wired.com/2012/06/beard-gallery/
Hah! That's awesome. And maybe the most relevant prior art out there. Thanks!
https://archive.fo/8Spqi
It does not surprise me that Aaron Swartz was the youngest. I met him very briefly in the Boston area as well as remember reading some stuff about RSS as I was into XML in the late 90s early 2000s. I was shocked at his age. I'm six years older than Aaron but he was lightyears ahead of me.... lightyears.
There is some videos of him reading at like 3.
What a terrible loss to the world.
json isn't a programming language.
https://thedailywtf.com/articles/the-inner-json-effect
WTF
yes, that's what the site is called
Tom indeed was a genius. A mad genius, but still, it counts. Not just anybody can come up with that stuff.
You havent met my work code base, wicked choas shit
Exactly
Try to tell Ansible that.
Okay, Ansible is YAML, not JSON, but they're damn-near orthomorphic to each other.
YAML literally is a superset of JSON - so you could just write the playbook in JSON...
Eurgh, that's so bad (from here)
YAML 1.2* is a superset. Most parsers are not 1.2-compliant.
Yeah, that's true, YAML 1.2 fixed up some minor differences that made it not a strict superset. Though most JSON is YAML 1.1 compliant.
However I just checked Ansible more carefully, and it officially supports JSON, specifically using the actual JSON parser if it looks like JSON...
You can make programming languages in JSON and in XML, but that doesn't make JSON and XML programming languages.
Python is written in ASCII (or whatever), but that doesn't make ASCII a programming language.
https://commons.apache.org/proper/commons-jelly/
Just like XSLT, Jelly is a subset of XML. Jelly may be a scripting language, but that doesn't mean XML is.
In the same way, Python is a subset of ASCII.
Javascript!
What's on the y-axis? Edit: oh, "rank".
Weren't there like... dozens of people involved in Perl6?
RMS didn't create Emacs. Emacs isn't a programming language.
Here is our info on Emacs: https://github.com/breck7/pldb/blob/main/concepts/emacs-editor.scroll
If there's info wrong pull requests are appreciated!
The 'info' is incredibly wrong.
Why is BASIC and Dartmouth BASIC listed as they have the same year of release and developer...
Why isn't say BBC BASIC (developed by Sophie Wilson (of ARM fame and who wrote an ARM simulator in BBC BASIC to prove it would work) in 1981 and who was 23 at the time) listed as it's still a viable language 43 years later (look up BBC BASIC).
Surprised that OCCAM a parallel processor language isn't listed either (developed by David May who also developed the Transputer in 1983 aged 32).
Thanks for that info! Added https://github.com/breck7/pldb/commit/16e03a0e34c6b105a946be7f3b535add0cda8580
I havent regenerated the chart or post but the data is ready for next time.
The amount of people getting hung up on what is and isn’t a language is wild. The conclusions that u/breck draws don’t actually change if you remove or even change those data points. The cascading style sheet language was first proposed by a 29 year old. A dialect of a language (eMacs lisp) is still a language, just like clojure is a language (lisp dialect) and ocaml is a language (ML dialect).
My fav tho is the argument that markdown languages aren’t languages. Sorry, what? The formal mathematical definition of a language does not include Turing completeness. Turing complete languages are a subset, not a superset of programming languages. I mean Christ people, it’s even in the name. I’m sorry to inform you, but the guy who told you that the L in XML/HTML stands for Ligma, was playing a cruel prank
True, but emacs lisp/elisp is a language. emacs the editor is not.
This is my point. All you’re doing is nitpicking the naming. It is the least useful critique you could make of the data. If he had two entries, one for “eMacs lisp” and the other for “eMacs”, then I’d say something is wrong, but that’s not what it is. The meaning is clear and the critique does not change the implications of the analysis in any way. Y’all are bike shedding and it’s painful to watch
Well, if you want to call a car a horse, I guess that's your right.
Larry Wall was 33 when he wrote Perl - which ranks at #7. Would be cool to label that data point (somewhere in the Rust, HTML, PHP zone. That way it would be clearer that Raku (aka Perl6) was not his first rodeo.
You are right, that would have been a good one to highlight.
Anyone can fork the chart and edit as they wish: https://app.datawrapper.de/river/_/rT0yG
Here are some related blog posts and notebooks with statistical plots:
Mathematica:
"Age at creation for programming languages stats", WordPress post
"Computational exploration for the ages of programming language creators dataset", Wolfram Community notebook
Raku:
"Age at creation for programming languages stats", WordPress post
Wow! This is awesome. I especially like this one: https://mathematicaforprediction.wordpress.com/wp-content/uploads/2024/05/07al2nyvyc0f8.png
It might be fun to run that again with more data (we can probably easily add a few hundred more creator names and ages to the dataset). It definitely is close to being a very interesting and beautiful chart.
Thank you!
I was expecting, say, at 55% probability my "second system effected" conjecture to be confirmed. I decided to program the corresponding statistics because I thought they should be somewhat of interest regardless...
I use old people languages. Meaning ?
In the case of Raku I say: made by old people for old people.
Several of those aren't turing complete programming languages - e.g. JSON is a serialization format. Markdown is text formatting shorthand.
You have a valid point made by others. If I do an update, I will filter with more precisions.
That being said, it does not change the shape of the chart at all to exclude those. And Markdown, JSON, etc are interesting, and are used by programmers in their work.
I recommend exploring the data, and not getting hung up on nits.
It undermines the point when you talk about outliers (Crockford, Aaron Swartz), but they don't even fit the common definition of a language inventor. If those contributions count, then why not other significant pieces of software, which might reveal more outliers?
What is rank based on?
https://pldb.io/lists/top1000.html
https://pldb.io/pages/the-rankings-algorithm.html
I think there are some issues with the way you present the data: Your algorithm doesn’t say which “broad categories” relate to which variable; That initial 5x multiplier is a magic number with no explanation; last, though you present the data, there’s no description of your collection methods. That last one is especially important, since they are all based on estimates how are we supposed to assume that the underlying data is correct? Looking at the raw rankings, i think it does probably come out looking more or less like I would expect, but it would give more confidence to speak on the data collection methods somewhere
The dataset is featured in this video:
"Exploratory Data Analysis with Raku"
J
List of potential new languages that would be developed by young developers nowadays.
Diver-C-ti
Safe-Sp
Prolog-Noun
The Cis programming language
Non-Binary language.
W-Guilt language.