How I am funding Newton
It is an enormous amount of work to design and implement a language the scale of Newton. Just learning the type theory takes years. I knew nights and weekends would not suffice, so the first thing I did was quit my job. Which raises the question, how am I financing this?
Bootstrapping
So far I’ve been relying on a combination of savings and contract work. Since the contracts have not been back-to-back, I have been able to work full time on Newton for extended periods in between. But eventually I will need more substantial funding, because I do not want to rely on unpaid contributors.
I don’t like the idea of living off donations either, which leaves entrepreneurship the only viable option. But what reason is there to believe a new programming language could be the basis of a profitable product?
Commercially funded languages
To warm you to the idea, let’s start by noting that there are several such cases already. Roblox, a large and profitable games company, have developed a successor to the Lua language they call Luau. As I understand it, investing in Luau was a strategic decision and not an effort by a lone engineer.
Another example is Erlang, which was developed at Ericsson and deployed with some of their switches. It is a bit of a sad story actually. Even though the products were successful, senior management got nervous about building on a language no one else was using and proclaimed the whole company would standardize on C++, which caused much of the Erlang team to leave. But before they left, they convinced Ericsson to open source it–why not, if they did not value it anyway?
Erlang went on to make money for other companies (Whatsapp being the prime example), and Ericsson eventually came around and admitted the decision to throttle Erlang had been a mistake.
Underinvestment
The Erlang episode illustrates another reason I think programming language technology may be a good business opportunity: underinvestment by others. This is often due to a widespread belief it cannot be profitable, or a consequence of the social structure of the typical corporation. The people who set the strategy tend to come from the business domain, or a traditional STEM field like Physics, not from theoretical Computer Science.
There are however many examples of products that embed a programming language in some form, such as Excel, Mathematica, and Notion. But even companies that do bundle a language with their products often seem to skimp on them, for instance by relying on someone else’s open source project instead of taking ownership. In doing so they leave a lot of potential benefits on the table.
Being reluctant to invest in software that requires hard-to-find expertise to develop and maintain is understandable. That is a real risk. However, the calculation changes completely if the language designer and implementor is the owner of the company. Suddenly there is someone who has both the authority and the knowledge to assess the risk and make decisions in that domain.
The direction I am taking
The main reason I believe there is an opportunity is less abstract: There are products I wish existed that don’t, at least not in the form I want them.
I am not ready to go into details about my own product ideas, though. Partly because things can change, and partly because I do not want to burn any potential excitement it may result in long before I can actually deliver.
It is not a single idea either, more like a collection of ideas and a general direction. If one thing doesn’t work out I will tweak it and try again, or build something else entirely with the same underlying tech. But it is not some big secret, so I can tell you more if you know me in real life.
At the end of the day, I cannot know for sure the strategy will succeed. But if I reach the technical goals I will at least have a better programming language. I don’t think there is a language out there that combines an advanced type system and high performance with the development speed and workflow of a dynamic language, without having some other thing that ruins it.
Stefan