Category ArchiveProgramming Languages

Programming Languages &Science &Software 06 Oct 2007 05:29 pm

Mark Guzdial’s Amazon Blog: Software Engineering and the Cause of the CS Enrollment Crisis, Part 2 Permalink

Mark Guzdial’s Amazon Blog: Software Engineering and the Cause of the CS Enrollment Crisis, Part 2:

The fact that we still primarily use an edit-compile-link-execute cycle 50 years after the first commercial release of Fortran is an indication of how little programming language designers and software engineers talk to HCI designers and cognitive scientists. That’s not how people best work, so why are we still doing it that way?

Programming Languages 17 Jun 2007 11:34 am

Insights into a language designer’s mind

The recent PLT Scheme blog entry, PLT Scheme Blog: Small is Beautiful, Large is Useful, and Scheme is Both, is an interesting insight into the ways that one implementation of the Scheme language has changed over time as the authors have tried to build large systems with it.

This kind of discussion is great for those who want to build their own languages, large or small, domain-specific or general. In particular, the struggle with macro systems, and classes is appealing as those are both very powerful features. It will be good to see how the new R6RS spec compares to Ruby. Ruby is a language that seems to have a made many good comprises as it is great for small scripts, and for building general purpose systems.

Humor &Programming Languages 16 Jun 2007 10:34 am

One More Reason Generics in Java Suck

So, I decide to abstain from generics because they suck. Then I forget the previous pain and I decide I should try to use them again, but I keep running into things about generics that stink. Then I decide to abstain again. Time passes, then I think I should use them again, and without fail, I run into something else stupid about generics.

This particular case makes sense when you remember erasure of generic types at compile time, but still this seems like a huge cognitive flaw in using generics. If I can override non-generic methods, then I should be able to override generic methods. Duh!

Programming Languages &Software 02 Mar 2007 08:56 am

Ed Felten: Why Understanding Programs is Hard

Ed Felten: Why Understanding Programs is Hard:

In contrast to his earlier attempts, which I appreciated, this time Felten does not try to prove his point by explaining the fundamental facts of computer science. Understading[sic] programs is hard, he demonstrates here, because the results of some mathematical functions are hard to predict (in his example, a secure hash function).

While this enables Felten to give a short and easy to understand example, I think he misses the chance to explain why understanding (and predicting) program behaviour is hard in general. This would bring him back to the fundamental principles he discussed before, stemming from the halting problem. By going this route it would be possible to relate the issue under discussion to topics that are more directly related to LtU: how programming languages can help make analyzing program behaviour easier, how languages can restrict possible behaviours etc.

Be that as it may, more people outside the profession should be come to appreciate that understanding program behaviour is hard. This is something that takes time to appreciate fully, even when you are a programmer. It is one thing to know that finding bugs is hard in practice and quite another to appreciate the reasons why it is inherently so.

(Via Lambda the Ultimate.)

Programming Languages &Science 26 Feb 2007 12:25 am

Daniel P Friedman: A Celebration

Video lectures from Daniel P Friedman’s 60th birthday are online. I haven’t gotten to watch many of them yet, but the video by Gerald Sussman was great.

Memorable quotes include: (these are paraphrases actually)

I don’t use Mathematica, I use my own stuff, but I don’t much care for Mr. Wolfram.

I read Arnold’s Classical Mechanics book. Arnold was a son of a bitch, look what he wrote in this footnote.

Minsky said that programming languages were a great medium for expressing sloppily formulated ideas. This is in direct opposition to the guys who want to talk to me about Type Theory all day.

Miscellaneous &Programming Languages &Software &Words 19 Feb 2007 12:11 pm

Capistrano Manual Website as PDFs

Since the Ruby on Rails Manuals site seems to be permanently down, I created a zip file of pdfs of the website from the last version on the Internet Archive WayBack Machine as of June 2006.

There is also a handy cheat sheet for Capistrano that someone made.

Programming Languages &Software 31 Jan 2007 12:59 pm


Links is Philip Wadler‘s language project designed for the purpose of building web apps and overcoming the impedance mismatch of carrying semantic information across all the necessary tiers, e.g., javascript -> appserver -> database.

Given that he is one of the icons of the functional programming world, it is of course a functional language. The backend generates code targeted at specific frameworks in each of the tiers of the web app.

It looks very promising. The idea that the compiler could reason about the whole stack, and that the developer could reason about the whole application in one language seems really appealing. I wonder how well the Link language will match the tasks done in each tier? That is, SQL is a very expressive way to query a relational database. Will Link be as intuitive?

I don’t so much care as long as it is successful and moves us more towards functional languages 🙂

Humor &Programming Languages &Software 25 Jan 2007 12:26 pm

Floyd’s Turing Lecture on Paradigms in Software

So, I posted this on the blog as well, but I am not sure that everyone reads that one. So sorry for the repeat.

In light of the recent conversations about the adoption of developer testing on the junit list and Artima, this Turing Award lecture by Robert Floyd seems particularly appropriate. I thought others might enjoy it. There’s a particularly valuable quote where he is quoting Thomas Kuhn’s, “The Structure of Scientific Revolutions.”

“Again from Kuhn:

“The older schools gradually disappear. In part their disappearance is
caused by their members’ conversion to the new paradigm. But there are
always some men who cling to one or another of the older views, and they
are simply read out of the profession, which thereafter ignores their work.”

In computing, there is no mechanism for reading such men out of the profession. I
suspect they mainly become managers of software development. ”

I suspect a large number of the adoption problems for developer testing are in organizations where the old boy at the helm is clinging to an outmoded paradigm of software development. Perhaps those guys would listen to Floyd — (Robert, not Pink.)

Math &Programming Languages &Science 29 Nov 2006 03:11 pm

Formulas! Formulas! Cheat Sheet of Formulas Here!

Theoretical Computer Science Cheat Sheet. Actually, it is a handy collection of all kinds of useful formulas.

(Via Lambda the Ultimate.)

Programming Languages 14 Nov 2006 12:59 pm

defmacro – Writing A Lisp Interpreter In Haskell

defmacro – Writing A Lisp Interpreter In Haskell: “Yet another Haskell one-liner turned into sixteen lines of Java code. In isolation such examples mean little but once you run into them again and again and again you can see an interesting picture start to emerge.”

I love it when people do language comparisons 🙂

(Via Lambda the Ultimate.)

« Previous PageNext Page »