Programming Language Research is Functionless

by Jared

July 21, 2010 at 4:48 pm
Tagged: ,

I have a master’s degree in programming language theory. You don’t care what that is, trust me. The process of getting the master’s caused me to stop caring about it too.

There is a community for people interested in programming language theory called Lambda the Ultimate. I used to read it when I was working on my thesis, so I could pretend that someone else in the world cared about what I was doing. Every few months I go and check it out just to see what’s up these days.

One of the big issues in programming language theory is that industry completely ignores this field of academia. For example, it was just announced that the next version of C#, Microsoft’s flagship programming language, will include a feature that was considered state of the art in 1958. (Yes, I am the only computer science grad student I knew who referenced papers so old that they weren’t available online.)

A frequent topic of discussion on Lambda the Ultimate is this dismissal by industry and the related issue of teaching programming language theory in university. Such a discussion recently yielded this insightful comment:

If I take a PhD in chemistry which knows everything about coating, then I can build a company around him. If I take a PhD in physics who knows everything about nanoscale optics, then I can build a company around him.

Now I look at PhDs from fundamental computer science (CS). How many can I use to build a company around him/her? The problem is not that CS doesn’t produce programmers, the problem is that CS doesn’t produce enough new ideas which industry can use. If CS PhDs were such that you could use them to start companies, industry would stop complaining immediately.

And this follow-up math pun:

Q: What company would you build around a fresh PhD in (fundamental) mathematics [who] knows lots of things about algebraic topology?
A: There are manifold possibilities.

no comments

RSS / trackback

respond

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>