I work for a company that developed its own programming language and has been selling it for over twenty years for a great deal of money. For many of those twenty years, I worked in the group developing the language. Before working for my current employer, I participated in several language development efforts. I say this not in order to toot my own horn, but to indicate that what I say has some weight of experience behind it.
There is no way to get the funding you want. I am sorry to tell you this.
From a funder's point of view, there are several effects that make this a bad bet. First, the difference between reasonably up-to-date general-purpose languages does not seem to be that large. This is as measured by actual effectiveness of projects (manager view) as opposed to whether a language is fun to use (engineer view). So presumably a new language will not offer a large improvement. If your language meets a combination of needs not served by any existing language, that may be a way around this. Second, every person who invents a new programming language thinks it will be a marvelous advance over all existing languages. It's like how every parent thinks their baby is the cutest. Some of them are actually right, but since all of them think this, a funder has no way of telling which is which. Third, as you note above, it is hard to monetize a new language. This means that the capitalist startup system will not be helpful to you. Fourth, much of language design is a balancing of imponderables (simplicity vs power, garbage collection vs control, etc.) There's no way to measure these before funding the project, so no way to make confident predictions of whether a new language will be an advance. So the backing of a project is even more of a leap of faith than it usually is. (Some of this risk can be retired by releasing an interpreter and documentation before writing a compiler.)
It's lousy and it sucks. Sorry.
I think it is interesting that you think it is not very neglected. I assume you think that because languages like Rust, Kotlin, Go, Swift, and Zig have received various funding levels. Also, academic research is funding languages like Haskell, Scala, Lean, etc.
I suppose that is better than nothing. However, from my perspective, that is mostly funding the wrong things and even funding some of those languages inadequately. As I mentioned, Rust and Go show signs of being pushed to market too soon in ways that will be permanently harmful to the developers using them. Most of those languages aren't improving programming languages in any meaningful way. They are making very minor changes at the margin. Of the ones I listed, I would say only Rust and Scala have made any real advances in mainstream languages, and Scala is still mired in many problems because of the JVM ecosystem. On the other hand, the Go language has been heavily funded and pushed by Google and has set programming languages back significantly.
I would say there is almost no path to funding a language that is both meant for widespread general use and pushes languages forward. Many of the languages that have received funding did so by luck and were funded too late in the process and underfunded. There is no funding that actually seeks out good early-stage languages and funds them.
Also, many of those languages got funding by luck. Luck is not a funding plan.
a future garbage-collected language in the vein of Swift, Scala, C#, or Java, but better
Have you looked at Julia?
Julia does establish a very strong baseline, if one is OK with an "intermediate discipline between dynamic typing and static typing"[1].
(Julia is also a counter-example to some of your thoughts in the sense that they have managed to grow a strong startup around an open-source programming language and a vibrant community. But the starting point was indeed an academic collaboration; only when they had started to experience success they started to make it more commercial.)
In the world of statically typed languages, Rust does seem to establish a very strong baseline, but it has a different memory management discipline. It's difficult to say what is the best garbage-collected statically typed language these days. I don't mean to say that there is no room for another programming language, but one does need to consider a stronger set of baselines than Swift, Scala, C#, and Java. Funding-wise, Rust also does provide an interesting example. If one believes Wikipedia, "Software developer Graydon Hoare created Rust as a personal project while working at Mozilla Research in 2006. Mozilla officially sponsored the project in 2009." ↩︎
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.
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. ↩︎