Insufficiently Random

The lonely musings of a loosely connected software developer.

Sunday, January 15, 2006

The Importance of Pict?

What is the practical importance of The Pict Programming Language? Because I have an exam next week which might be asking me exactly that.

The last time this language had any work done on it appears to be in 1998. Its 2006. 8 years later. It doesn't exactly appear to be a thriving language, or a previously thriving language (such as Algol-60). So why is my graduate school career hung on me being able to write a program in this language?

Oh, I know, its because Pict implements the pi-calculus in an ML-ish way, and a thesis on Pict was written in 1995 by David N. Turner. But it doesn't seem to have taken off like other heavily researched languages such as ML or Haskell, even though a paper on it has been cited 197 times (according to CiteSeer).

Call me crazy but Pict seems to be about as important to my graduate school career as <bigwig>, which won't be appearing on the exam next week. Hell, Scheme and Lisp are barely mentioned on the exam and they are a lot more important to computer science programming language theory than Pict is! I think that if Pict is on the exam then <bigwig>, SQL, or perhaps Tutorial D should also be on the exam. Tutorial D has some pretty interesting ideas when it comes to "things-we-shall-call-objects".

I just found out about the existance of Pict 15 minutes ago. I'm more than just a little annoyed that a computer science PhD at RPI (in-part) hangs on the student's ability to write a program in Pict. Its a recent requirement by the way. Students in 2001 (despite the existance of Pict in 1995/1998) didn't have to write programs in it to earn a PhD.

I wonder if the instructors who are giving the exam next week have studied <bigwig> and could write programs in it to answer questions crafted specifically around that language? Having them be able to write solutions to problems in <bigwig> is about as relevant to my graduate career as my being able to write a program in Pict. (Read: none. Neither are very important skills for a doctorate in computer science.)

If I remember correctly a major goal of the <bigwig> project was to create domain-specific languages quickly and easily, allowing end-users to write more specialized code easier. I think that this goal is just as important to programming language theory as the pi-calculus is. Perhaps even more so as there are a huge number of domain specific languages out there, few of which are actually really useful to their users; even fewer of which are able to grow and adapt as technology has advanced. Just using C++ for everything isn't a solution - users still need domain specific languages.

I guess I should be thankful that the SALSA programming language isn't on the exam. It was after all invented by one of the examiners. So why isn't it just as important to my graduate career as Pict is?


Post a Comment