Hacker News new | past | comments | ask | show | jobs | submit login
Am I too old to create a popular programming language? (pldb.io)
36 points by breck 6 months ago | hide | past | favorite | 62 comments



Well, regardless of age, anyone is statistically very unlikely to create a popular programming language.

It would have been more interesting to have statistics focusing on where the people worked at language creation time (kind of social structure, in which country), what purpose it was trying to fill.

As other said, just do what you enjoy. It's unlikely you are going to face any issue for which creating a whole new programming language will a be more efficient approach than using any of the plethora which are already existing with mature ecosystems and many production applications working on top of it. But if you desire to create one, don't let popularity probability temper your quest.


I agree with this approach. I tried to make a few on my own and no one liked them. I wasted a lot of time making good dependencies for them because it felt like the right way and made me intellectually satisfied even though it really burned time towards the end result.

Turns out the dependencies got thousands of downloads vs the actual product.

Unless you need the money, if you are trying to be productive in free time have a strong bias towards things that make you happy and don’t worry about the outcome so much.


While the odds are low, it's not impossible... Many popular languages today started as passion projects


When creating a new programming language, age is never an issue. You can create everything by following your heart. However, please avoid getting stuck in the mindset of "I must make this new language popular". Creating a language just for fun or to solve a problem will bring you happiness.


Agreed.

Waking up at 40 and telling yourself "I need to accomplish something great" seems like a waste of time, unless you're already ambitious and working towards it. (And if you are, you don't need my advice.)

If you're not building out of genuine interest and instead trying to compensate for something, what you're lacking is not a new programming language.


The obviously reply to the question is: "Probably not!": see Second Act: What Late Bloomers Can Tell You About Success and Reinventing Your Life https://www.amazon.com/Second-Act-Bloomers-Success-Reinventi...


100%. I’m a much happier tinkerer now that I don’t even try to publish/share/advertise my gadgets. They just quietly end up on my website that lacks a mailing list or comments sections or share buttons.


Yeah, agree, and age must not be the problem


Unsupp0rted’s law:

Whenever someone asks “am I too old/young” for something, answer yes without elaborating, until they rephrase their question into one worth answering.


This would be a piece of advice, a law is supposed to describe an outcome :-)


It's not just a good idea; it's the law


Yes


Betteridge's law of headlines: "Any headline that ends in a question mark can be answered by the word no."


yes without elaborating


The data is a little bit off in the case of collaborative languages. For example, Scheme is credited to Guy Steele and Gerry Sussman, but only Steele's age is listed in the chart.

Independently, this kind of analysis furthers the mythology that popular programming languages have singular creators. It's true that the vast majority of these projects were started and led by a singular leader or small group in their initial days, but by the time anyone has heard of them, they typically are the result of a collaboration between a team and a community of users and this is only more true in the modern age.


When I was much younger I felt like I had enough skill to make a programming language, but not a good enough idea of what that should be. I thought I should consider the topic for 10 years and decide what would really make a good and distinctive new language.

It has been about 30 years now. I have a much better idea of what I would like, and yet despite all of the experience I have gained along the way, I feel like I lack the skill to implement it.


> Programming Language Creation Peaks In Your 30's

No.

This is just the observation that programming languages are created mostly by people in their 30s.

Whether or not your ability to do so peaks in your 30s is a totally different claim.


As long as you're mentally and physically fit you can do it at any age.

But I think the statistic skews way too low today because a lot of the existing popular languages are low hanging fruits. Eich I think said once that he wrote Javascript in ten days, and I don't think you're going to make a popular language in two weeks any more.

The standards and expectations on a language ecosystem are so much higher now if you want to add value I'd honestly even say no new popular language is going to be built by a single person. Unless the Lisan Al Gaib of programming comes along and invents an entirely new paradigm.


As a programming language researcher I'm definitely biased here. But I recommend anyone interested try to write their own programming language, because even if you never even finish the compiler, I think it's worthwhile.

Compilers include a lot of discrete algorithms and data-structures: trees (syntax), graphs (intermediate representation), fixed-point algorithms (static analysis); they also include a lot of difficult problems, like how to handle forward declarations (for recursive functions) and closures. And thinking about programming language design requires thinking about program design: deciding the set of features to make a language maximally expressive without over-complicating it or permitting spaghetti code, is a lot like deciding the set of methods to make an API maximally usable without over-complicating it or permitting invalid uses. Writing a programming language makes you a better programmer.

Similarly, designing and implementing a game engine makes you better understand game development (learn what is slow and how everything works, along with a lot of complex data-structures and algorithms). And writing an OS makes you better understand how to use maxOS/Windows/Linux. And writing a frontend/backend without using the popular frameworks probably makes you better understand how to use those frameworks...

Also, I recommend you try to make the language (or game engine or OS or ...) unique in some way that you think is better than how existing ones do it (and if you can't think of any improvements, don't make a new one, but you probably have at least some ideas). And try not to just read literature and re-implement it, it's OK to use libraries for parts that already exist. Otherwise you could just take an online (or in-person) course, which is fine, but it doesn't build critical thinking in the way that focusing on what you're interested in does.


Hey all. Perhaps it was my fault to lead with a provocative question. What I was hoping to spark was interesting explorations of the data.

For example:

- No popular programming language has ever been created by someone under 20.

- Ken Iverson created J at 70!

- Aaronsw created a pre-cursor to Markdown at age 16.

If you didn't notice the link, there is an interactive version: https://datawrapper.dwcdn.net/4ait6/1/


I believe it is easier to create a language when you are "younger" because it's the only time you don't know what you are up against.

I remember one of my coworkers who worked in marketing and had a side project. He asked me if I could help him build his search box. This is someone who dabbled in computer science in college but never worked in the field. His search box was a NLP where the user could write free form to query some data. The file was thousands of lines of generated code that branched into a funnel of specificity. It worked for the terms he tested with, but not with those real users actually used.

It was overkill, but it was damn impressive. If he knew better, he would just have a few fields with filters for search like I ended up suggesting. You have to be young to try the NLP approach first.


How do you reconcile this belief with the Fine Article's finding that the average age of a program creator is 37.5 years?


>average

Lies, damned lies, and statistics.

https://en.m.wikipedia.org/wiki/Lies,_damned_lies,_and_stati...


Sure, but the scatter plot and histogram in TFA suggest that there’s not a lot of languages written by young adults. The average can of course be misleading but it really isn’t in this case.


Interesting. But, I would think it's not that you can't create a good language past 40, but it's more of a question of not being to devote enough productive years pushing the language forward, promoting it, updating it, to make it popular.


I am amateur and more or less an ignorant in programming domain so what I say doesn't matter much.

Why not a pick a language of choice and write some ambitious framework/library? Like Numpy/Pandas for Python. Maybe a web development framework? That way, there is a reasonable chance your work will be noticed or used. Look Maybe pick Julia and write a library for it. I believe Julia doesn't have as many libraries as Python does.

By the way, as much as I know, all the languages were written by 'old' people. Young people rarely have that much knowledge or experience. They don't even know one language fully well. So age is actually at your side.


All this data shows me is that programmers typically peak in their 30s. You see the same effect in chess.

But I'm not sure what it has to do with whether or not you should create a programming language. If you started programming at 40 you will probably peak at 50. If you want to write a successful language, you probably should have tried to write a few bad ones first. Etc.

But why do you want to create a "popular language" in the first place? Why aren't the existing ones good enough? Is it because you need to fill a need in the world, or because you want to achieve fame and glory?


I have a theory: perhaps the reason programmers may peak in their 30s has to do with programmers changing their roles later in their careers to where they spend less time coding and more time doing other tasks. For example, junior- and senior-level software engineers spend a lot of time programming. However, staff-level software engineers are more involved in high-level architectural decisions, and there are also many mid-career software engineers who transition to management.

We see something similar with researchers. PhD students are typically in their 20s; they are focused on their thesis research, and the thesis work is done alone since a PhD is earned based on individual effort. However, the role of an assistant professor in computer science is very different. Aside from teaching and service requirements, assistant professors are responsible for carrying out an entire research program, which involves fundraising (applying to grants, soliciting industry for funding), recruiting and advising grad students and postdocs, and keeping up to date with the latest research advances in the field. There is less time for individual coding, and additionally hitting the productivity metrics many universities expect for their professors requires having a lab instead of working individually like a grad student or postdoc.


One thing I've noticed as I've reached my late 30s is I'm less hungry to learn new things, and I used to be very intellectually driven. I'm increasingly tired of keeping up with everything and proving myself.

I think if you can stay hungry then you can stay good for longer. But maybe it's partly motivation, and partly raw ability. Maybe they're somewhat linked.


Hungry for what? To throw all your experience away, by switching to the next vogue language framework?


While I agree with your sentiment; if you don't try new stuff you won't learn if something new is better suited than your current framework.

Perhaps wait until things are no longer cutting edge to learn about it is a good compromise.


I mostly code in C, C++, Python, Emacs, Almquist, GNU Make, and VanillaJS. I have been for more than two decades. My website looks like danluu.com and bellard.org. Why do I need to change?


I highly doubt there's anything in that list that can't be done by C; why didn't you stop after learning C?

This is why you still have to learn stuff, it turns out that new technologies can be useful.


Only halfwits think that languages and tools are the things worth relearning.


I see you have conceded to my point that learning things beyond just C is useful.

Enjoy the rest of your stay.


I agree, learning stuff like that is a dubious value add.

But I'm less hungry to learn all sorts of new things. I still like learning, but when I was young I had to know everything.


So you admit you have no idea how to learn a new language.


Saying "there is nothing more worth learning" is the worst indictment about this sort of thing I could think of.

Not only do they not want to learn, they're not even aware that they should want to. This is exactly why people age out of the profession.


I think it's just that if you haven't started by age 40, you probably didn't need to do it, so no reason to start.


> programmers typically peak in their 30s

Should programmers expect to get worse at their job in their late 30s or as they enter their 40s? This seems like a surprising conclusion.


You probably get worse at cranking out code, yeah. Familiarizing yourself with large codebases, learning new ones, etc.

I assume you become a worse mid-level developer, but maybe a better senior dev or manager because you can tell mid-level devs what pitfalls to avoid, and know how to navigate political systems better.

I want to avoid the conclusion frankly too because I'm in my late 30s. But every intense intellectual or creative pursuit seems to peak in your youth and early adulthood -- look at composers, mathematicians, scientists, etc. People make their big individual contributions while still young.


Grace Hopper was 56 when she created COBOL. That was a hugely popular language probably to a greater degree than any modern languages (since there are more of them) Where is that on the chart?


We should have that, thanks. It is open source. If anyone wants to add that.


Tooling is the biggest issue with a new language, and language servers are great, but I see a space for some kind of meta language server, some sort of generic pre-parser that handles C-style, or tab delimited, etc. A common feature of language servers is a fault-tolerant first pass that allows for multiple errors to be reported at once. That first pass is where I’ve noticed a lot of repetition between languages!


I think it's kinda meaningless.

First, many people who created the earlier languages, up to the 70s actually did not even have CS as a thing when they were young. They mostly came from Math or EE fields.

Secondly, it might be also valuable to ask how much experience in X they bagged before creating that popular language.

Thirdly, this is definitely a great example of "it's a lot easier to be early than smart".


Hi all,

The provocative title was a mistake and distracted from what I was trying to share: a new dataset of the ages of programming language creators.

I've reframed it with a new post: https://pldb.io/posts/ageAtCreation.html

If someone wants to post that, maybe there can be more constructive conversation.

Thanks!


There are people who create zero programming languages, people who create one programming language, and people who create too many programming languages to remember exactly how many. I suspect the second group is the least likely to create a popular one. (Yes, less likely than the ones who create zero, that's what I said.)


Why on earth would you aim for popularity? Can you imagine the agony of creating something that you know is objectively less good than other options, then have this become popular? You then would have to write something about "the good parts" of your language! ;-)


The provocative title was a mistake and distracted from the main story: a new dataset that never existed before on PL creator ages.

I'm going to update it.

Thanks!

New version: https://pldb.io/posts/ageAtCreation.html


> Is it too late to create a popular programming language after age 40?

> ...

> Average age: 37.5

So that would be a clear "no".


I don't think you're ever too old. But before you create a popular programming language, perhaps you ought to aim for an unpopular, slow and crappy one first. At least then you won't discourage yourself if it doesn't take off.


TIL JSON is a programming language.


Just pray you never have to develop in YAML like many of us...


Some of y'all are too young to have heard of XSLT and should be profoundly grateful


I'm young but I had the misfortune of working with it once (when interacting with some Austrian VAT authority APIs, some of which were SOAP and XSLT still in 2022 lol)

Indeed grateful I don't have to touch it again, but I suppose ChatGPT would be huge help these days for writing boilerplate magic incantations.


Programming in YAML (for Home Assistant automations) was quite... something.

I very quickly switched all of my logic over to vanilla JavaScript in Node-RED and haven't looked back.


Factor in the 15 years for it to become as popular as you might want it to be.


There is kind of a statistical bias here.

Let’s say language creation capability is very age independent. Most of those that create their language early will invest their time in that, masking the fact they would have been just as successful when older.

And this effect will grow with age, since they have had more time to hit that milestone. Old language creatives will be more and more likely to have already created their language. So we are progressively under-sampling older language capability.

TLDR; There is still hope for me!


Creating programming language for the sake of creating programming language is not too smart or useful thing.

Have a real problem to solve first please.

If the main goal is to be popular go instead and be a movie star or a singer. Or if too old for that then be the President of the United States.


Doing something just for the fun of it is enough.


The premise is here creating a popular (i.e. for everyone, used broadly) language, not how to spend the boring Saturday evenings.


Doesn’t mean if you have the energy and ability at 35 you’re odds aren’t great!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: