Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Anecdata of one: I finished my PhD about 20 years ago in programming language theory. I created something innovative but not revolutionary. Given how slowly industry is catching up on my domain, it will probably take another 20-30 years before something similarly powerful makes it into an industrial programming language.

Counter-anecdata of one: On the other hand, one of the research teams of which I've been a member after my PhD was basically inventing Linux containers (in competition with other teams). Industry caught up pretty quickly on that. Still, academia arrived first.

edit Rephrased to decrease pedantism.



> something as powerful as what I created

Could you give us more detail? It sounds intriguing.


I developed a new static analysis (a type system, to be precise) to guarantee statically that a concurrent/distributed system could fail gracefully in case of (D)DoS or other causes of resource exhaustion. Other people in that field developed comparable tools to statically guarantee algorithmic space or time complexity of implementations (including the good use of timeouts/resource sandboxes if necessary). Or type system-level segregation between any number of layers of classified/declassified information within a system. Or type systems to guarantee that binary (byte)code produced on a machine could find all its dependencies on another machine. Or type systems to prove that an algorithm was invariant with respect to all race conditions. Or to guarantee that a non-blocking algorithm always progresses. Or to detect deadlocks statically. etc.

All these things have been available in academia for a long time now. Even languages such as Rust or Scala, that offer cutting edge (for the industry) type systems, are mostly based on academic research from the 90s.

For comparison, garbage-collectors were invented in the 60s and were still considered novelties in the industry in the early 2000s.


Is there a good resource (a review paper maybe?) to get an overview over such programming language / type system topics?


I can't think of any from the top of my head.

Perhaps looking at the proceedings of ICFP and POPL can help?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: