We are in the dark age of computer programming.[1]
I believe that we still fundamentally haven’t found good ways to deal with the challenges of writing computer programs. Programming languages are the foundation of our programming and leave a lot to be desired. I believe more is possible. I’ve worked on creating a new programming language (I’m on my second). Given time and resources, I could take a solid step in the right direction with a new programming language. However, programming languages are and generally must be open-source and free. When they are mature and widely used, there are some challenging and indirect ways to make money from having created one and working on it. There is no way to profit from them when they are incomplete and immature. However, that phase takes a lot of software development effort. To design a better language, the design will need plenty of time to incubate. Indeed, recent languages show signs of being released too early (e.g., Rust and Go). The resulting issues can’t be fixed the same way they are in other software because of the much stricter backward compatibility requirements of a programming language.
I have been working on a multi-paradigm general-purpose language that supports structured concurrency, object-oriented programming, and design by contract. Think of it as a future garbage-collected language in the vein of Swift, Scala, C#, or Java, but better.
What grants and other funding sources might be willing to fund this?
Addressing Possible Questions (Optional)
Why haven’t I said what language I am working on?
To avoid getting lost in the details of my language. This question isn’t about critiquing my language or ideas. It is about potential funding sources. Also, I use a pen name here, and while my given name isn’t a secret, I see no reason to link them here.
Am I qualified to do this?
I’m an experienced software developer with 22 years of experience, and my title in my last role was Senior Staff Software Engineer. I’ve spent years now working on designing my languages and writing compilers for them. I am confident I can write the compiler and standard library. I’ve researched programming languages and looked at the designs of other languages being created. I believe my designs combine the best of what is out there and new ideas in a way others aren’t.
How much money would I need?
Any amount of funding would help, but to make a meaningful impact on the potential success of creating a programming language and give it a good chance, I would need funding for myself and one other developer for 1 to 5 years. I am not promising that v1.0 could be complete in that timeframe. However, significant enough progress could be made to show the potential and seek further funding and community involvement. I live in the Bay Area right now. I do not need a full Bay Area salary because of my savings and investments. However, I need to cover my housing costs and a few other large expenses. The other developer could be junior but would probably need their full salary covered. The second developer is because working with someone else would help me maintain momentum and good mental health compared to working alone.
What funding sources have you considered?
I’ve wracked my brain and thought of quite a few. I think the talk The Economics of Programming Languages by Evan Czaplicki (the creator of the Elm language) does a good job of laying out nearly every option. Most sources are either: 1. Very difficult to obtain while still coming with huge downsides in pressure to produce the language someone else wants and to ship prematurely compared to what would move the profession forward. Or: 2. Require doing something as hard or harder than creating a language and writing a compiler at the same time as trying to do so. I’ve worked a full-time job when trying to work on my language. That doesn’t work.
Can’t you start a startup?
No.
Programming languages don’t have a future path to large enough revenue to justify VCs investing money. Eiffel is the only language I am aware of that charges anything for the language. They are obscure and make almost no money. JetBrains makes money from the IDE they created for Kotlin. However, developer tools have a low margin and are a small market. JetBrains could only pull that off because they were already a successful developer tools business. Pony is a language that tried to start a startup for a niche programming language that one could imagine selling consulting services for (unlike a general-purpose language as I am creating). Even so, in An Early History of Pony, the startup is summarized as “Unfortunately, a startup based on a programming language is a notoriously bad idea. I’m not saying it’s impossible - but there isn’t a great track record for them, and unfortunately, Causality went the same way.”
Source unknown. I’ve said something like it for a while. I’ve heard my friend Max say it. I’m pretty sure I’ve heard Jonathan Blow say it. ↩︎
The dark age might have gotten darker recently. Everyone's scrabbling around trying to figure out what AI will mean for programming as a profession going forward, and AI mostly only boosts established languages it has large corpora of working code for.
I've been following the Rust project for the last decade and have been impressed at just how much peripheral scutwork contributes to making the language and ecosystem feel solid. This stuff is a huge undertaking. I'm not terribly excited any more about incremental improvement languages. They seem to be mostly a question of not making crippling foundational design errors (hello C++) and expending enormous engineering effort on tooling and libraries. What might be more interesting is something that targets a specific niche and does something very cool for exactly that niche (Inform 7, dhall), or languages that go for a shoot-for-the-moon paradigm shift like Unison or the "we need to make large programs writable in 100x smaller codebases" from Alan Kay's VPRI research team.