I've always been interested in the theoretical side of Programming Languages. I've learned a dozen of them and built my own demo one.<p>I've always done this as a side project, but I'm often wondering if it's possible to start doing it full time. That would be great.<p>(For context: I have studied Maths, and worked as a SW engineer for the past few years, especially ML and now Data engineering. But, I'd love to get back to a more theoretical project at this point..)<p>The problem is, as far as I understand, the only people who work on PL research are:
- At universities. But, the universities in my city/country don't offer many opportunities in this area...
- At the R&D section in some corporation (eg Microsoft)<p>My question is, what are my options? How are all the maintainers/developers of the many programming languages around getting paid? Do you <i>really</i> do all this work in your free time, after having another full time job?<p>It appears there are not many opportunities around to get paid to do PL research... Am I missing some of them?
> How are all the maintainers/developers of the many programming languages around getting paid? Do you really do all this work in your free time, after having another full time job?<p>I want to correct the assumption that may have led to this question little; programming language _research_ and programming language _implementation_ are generally two separate jobs requiring separate skillsets (that sometimes may overlap). Which one are you interested in doing? (both?)
As sibling says, Jane Street has employed people who have worked on implementing unboxed types[1] and stack allocation[2] in the OCaml compiler.<p>For Haskell, Well-Typed,[3] Tweag,[4] and Serokell[5] have employed people who have worked on GHC. For example, when Richard Eisenberg was at Tweag, he was working on implementing dependent types in Haskell which has led to new published research.[6] The work on dependent types is continued by other paid contributors.<p>[1] <a href="https://www.janestreet.com/tech-talks/unboxed-types-for-ocaml/" rel="nofollow noreferrer">https://www.janestreet.com/tech-talks/unboxed-types-for-ocam...</a><p>[2] <a href="https://blog.janestreet.com/oxidizing-ocaml-locality/" rel="nofollow noreferrer">https://blog.janestreet.com/oxidizing-ocaml-locality/</a><p>[3] <a href="https://well-typed.com/blog/tags/ghc-activities-report/" rel="nofollow noreferrer">https://well-typed.com/blog/tags/ghc-activities-report/</a><p>[4] <a href="https://www.tweag.io/blog/tags/ghc" rel="nofollow noreferrer">https://www.tweag.io/blog/tags/ghc</a><p>[5] <a href="https://serokell.io/blog/ghc" rel="nofollow noreferrer">https://serokell.io/blog/ghc</a><p>[6] <a href="https://www.youtube.com/watch?v=TXDivoj1v6w">https://www.youtube.com/watch?v=TXDivoj1v6w</a>
If it's an existing language, companies may be employing people to work on it. E.g. if you want to work on Swift, go talk to Apple. Lots of people contribute to LLVM and GCC while being paid to do so. Search "company name" + "compiler".<p>If it's a language which doesn't exist yet that you want someone else to pay for, it's on you to make the case. In academia there's some funding game to play. In industry you probably have to build the thing first, at least to prototype level, then persuade people it's a good idea.<p>You'll probably also find cases where people do their day job for the first 40 hours of the week and their passion project for the next 40 hours, but ymmv maintaining that workload.<p>Remote / office tradeoffs as usual.
Jane Street has a compilers team who do OCaml: <a href="https://signalsandthreads.com/future-of-programming/" rel="nofollow noreferrer">https://signalsandthreads.com/future-of-programming/</a>
- A company that comes to mind is Strumenta.<p><a href="https://strumenta.com/" rel="nofollow noreferrer">https://strumenta.com/</a><p>They provide Language Engineering services, which include creating domain-specific languages, transpilers, editors, programming languages, compilers, interpreters.<p>- Companies that "incubate" languages, like Rust at Mozilla, Go at Google, TypeScript and C# at Microsoft..<p>- Zig and Bun could be considered projects with people who work on language research full-time.
Back when I was in search of a PhD placement, I wondered this as well. I've sadly never found a place where I could research programming languages.
Look up the blockchain Space there, both the layer one and layer two space.<p>Most specifically smart contracts.
There are several open problems in the space especially research around having safe smart contracts.<p>Check out Move Language, Sway, Vyper, Bamboo(Ethereum), Motoko on ICP