Hacker News new | ask | show | jobs
by throwawayjava 2453 days ago
I had the same reaction.

There are easily thousands of people working on building higher-level programming languages/models. A very short and very incomplete list of entire subcommunities of PL working on languages that are higher-level than java/python:

1. The ML family -- OCaml, SML, Scala, F#. I think it's very fair to say that these are "higher-level" than imperative OO languages. And you can definitely get a job writing OCaml or Scala or F#...

2. A whole bunch of programming languages/primitives/paradigms aimed at making concurrency/parallelism/distributed systems easier. Erlang, X10, session types, Manticore, etc. Rust might even belong here.

3. Programming languages that incorporate resource/complexity analysis.

4. Literally decades of work on visual programming languages (which have mostly resulted in modern IDEs and teaching tools like Scratch).

5. behavioral types

6. linear types (again rust kind of fits here)

7. dependent types

8. I would also argue that systems like tensorflow and pytorch are really a sort of programming language -- they have a very different model of computation than the host language. Just because they don't have a parser/compiler/etc. doesn't mean they aren't a programming language, imo.

9. Tons of other stuff that doesn't fit in the major categories above (e.g. netkat).

10. I mean even SQL belongs in this list.

Even for language/models listed above that don't have large adoption, the ideas are often incorporated into more mainstream languages in one way or another. So there are significant projects developed in each of these types of languages (with the exception maybe of behavioral types and session types).

Higher-level programming Languages is one of the most explored areas of Computer Science -- if anything, it's an over-explored field.

This is less a list of "underexplored ideas" and more a list of "over-hyped ideas with over-crowded communities". Every item on the CS list is the sort of thing that an ungrounded undergrad research intern would want to work on.

Some of the descriptions in other fields have a similarly dilettante vibe to them. E.g.,

* Bio: math bio is a huge community and all those folks are well-trained in chaotic dynamics. you can say it's under-explored, but there are probably hundreds of people working on this right now and at least thousands have in the past few decades.

* Math: there's a section on subspace packing with a side-story about a proof assistant and the author doesn't even mention Hales...

* physics: Building machines to automate experiments is definitely the sort of thing people get paid to do whenever there's a large enough market (and even sometimes when there isn't). similarly, Nuclear-powered propulsion is underexplored... as long as you don't count the militaries of the major nuclear powers, that is.