Justice served

justice served
(see on original site)

This is one of my favorite Dilbert comics. I often use it to illustrate abstraction. For example, there are no “files” on your computer. There are ones and zeroes that are interpreted as such. A file is an abstraction. Just as pretty much everything we do on a computer. Some abstractions are quite useful.

The End of Higher Education’s Golden Age

Clay Shirky, a writer and professor at NYU, has a thought-provoking article on Higher Education. He points out a critical, but often ignored, problem.

The biggest threat those of us working in colleges and universities face isn’t video lectures or online tests. It’s the fact that we live in institutions perfectly adapted to an environment that no longer exists.

He notes that the academy is itself a big part of the problem.

[The Golden Age] been gone ten years more than it lasted, in fact, and in the time since it ended, we’ve done more damage to our institutions, and our students, and our junior colleagues, by trying to preserve it than we would have by trying to adapt.

Read the whole article.

Hello, World!

I have noticed that I tend to say “I’m sorry about that” when someone tells me that they learned to program in Java. I really mean it when it is a student in our department (which, unfortunately, teaches Java as an introductory language). To understand why Java is such a rotten first language, let’s consider a typical instance of “Hello, World!” in Java.

class hello
{  
        public static void main(String args[])
        {
           System.out.println("Hello World!");
        }
}

It is only a handful of lines of code but how many concepts presented in this code? The following list is, sadly, not exhaustive. But in addition to the (1) language syntax you need to understand (2) classes, (3) class methods, (4) public, (5) static, (6) types (String and void), (7) arrays, (8) types libraries (i.e., System), and (9) namespaces. (Did I miss anything?) That is too much to learn up front. Therefore, students are told “do this; we’ll cover it later.”

Additionally, there are many other ways to trip up. For example, the method must be named main.  The type void must be all lowercase, whereas String must be mixedcase.

Compare this to “Hello, World!” in Python.

print "Hello, World!"

This is not just shorter, but it is clear and obvious.

But that is not all. Consider what is need to execute the program. In java, you have to compile the code first and Java is nasty to work with because of silly requirements such as a single source file can contain only one public class and its name must match with name of file. Therefore, if you didn’t name the above file “hello.java” it will cost you an hour of your life–well, that’s what I paid for this “knowledge.” The effort is so taxing that students (with instructors’ encouragement) use an IDE so that students don’t have to learn (and instructors don’t have to teach) what is really going on.

On the other hand, we execute our Python program (assuming it is in the file named spam.py–why? because we can):

python spam.py

Java is a horrible instructional language.

QED.

A sipid story of requited love

How I Met my Wife by Jack Winter

It had been a rough day, so when I walked into the party I was very chalant, despite my efforts to appear gruntled and consolate.

I was furling my wieldy umbrella for the coat check when I saw her standing alone in a corner. She was a descript person, a woman in a state of total array. Her hair was kempt, her clothing shevelled, and she moved in a gainly way. I wanted desperately to meet her, but I knew I’d have to make bones about it since I was travelling cognito. Beknownst to me, the hostess, whom I could see both hide and hair of, was very proper, so it would be skin off my nose if anything bad happened And even though I had only swerving loyalty to her, my manners couldn’t be peccable. Only toward and heard-of behavior would do.

Fortunately, the embarrassment that my maculate appearance might cause was evitable. There were two ways about it, but the chances that someone as flappable as I would be ept enough to become persona grata or a sung hero were slim. I was, after all, something to sneeze at, someone you could easily hold a candle to, someone who usually aroused bridled passion. So I decided not to risk it. But then, all at once, for some apparent reason, she looked in my direction and smiled in a way that I could make heads and tails of.

I was plussed. It was concerting to see that she was communicado, and it nerved me that she was interested in a pareil like me, sight seen. Normally, I had a domitable spirit, but, being corrigible, I felt capacitated — as if this were something I was great shakes at — and forgot that I had succeeded in situations like this only a told number of times. So, after a terminable delay, I acted with mitigated gall and made my way through the ruly crowd with strong givings.

Nevertheless, since this was all new hat to me and I had no time to prepare a promptu speech, I was petuous. Wanting to make only called-for remarks, I started talking about the hors d’oeuvres, trying to abuse her of the notion that I was sipid, and perhaps even bunk a few myths about myself. She responded well, and I was mayed that she considered me a savoury character who was up to some good. She told me who she was. “What a perfect nomer,” I said, advertently. The conversation became more and more choate, and we spoke at length to much avail. But I was defatigable, so I had to leave at a godly hour. I asked if she wanted to come with me. To my delight, she was committal. We left the party together and have been together ever since. I have given her my love, and she has requited it.

[First appeared in The New Yorker on 25 July 1994 and was reproduced in the Winter 2000 newsletter]