Am I too old to create a popular programming language?
pldb.io
pldb.io
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.
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.
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.
Whenever someone asks “am I too old/young” for something, answer yes without elaborating, until they rephrase their question into one worth answering.
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.
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.
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.
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.
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.
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 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.
Lies, damned lies, and statistics.
https://en.m.wikipedia.org/wiki/Lies,_damned_lies,_and_stati...
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.
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?
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.
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.
Perhaps wait until things are no longer cutting edge to learn about it is a good compromise.
This is why you still have to learn stuff, it turns out that new technologies can be useful.
Enjoy the rest of your stay.
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.
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.
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.
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.
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".
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!
I'm going to update it.
Thanks!
New version: https://pldb.io/posts/ageAtCreation.html
> ...
> Average age: 37.5
So that would be a clear "no".
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.
I very quickly switched all of my logic over to vanilla JavaScript in Node-RED and haven't looked back.
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!
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.