Main

September 8, 2003

Allen Holub has published two articles for JavaWorld discouraging the use of two habits my teacher taught us in Introduction to Programming and AP Computer Science A: the extends keyword and accessor/modifier methods.

Holub suggests using the implements keyword instead of extends. What other changes to coding this may entail is unknown to me, because he uses terminology that might as well be Greek to me. Holub also discourages use of getX and setX methods, in favor of properties (via the upcoming @property keyword, due for Java 1.5). I rather like this idea, because the first programming language I learned was Microsoft Visual Basic, in which properties are king.

I wonder what Michael and Mr. Hoar have to say about all this…

Thanks to Simon Willison for the story.

August 27, 2003

Maybe you still read this blog. Maybe you even still pay attention to what I say here. Or maybe not. Anyhow, the lack of updates here is due to the following:

  • Summer reading

    I had to read both Judgement [sic] in Stone and Brave New World for English, and I had to complete certain chapters in my brand-spanking new Biology Student Study Guide, 7th Edition, after reading my brand-spanking old Biology, 5th Edition. Obviously, there were a few discrepancies.

    I’ve been quizzed over the reading already. We’ll have to see how that turns out.

  • School

    Well, it is that time of year. Teachers, students, and counselors alike have been warning us that our Junior year is our hardest, by far. So you’ll naturally be expecting fewer and fewer updates to this blog in the next few months.

    My teachers are okay, I suppose. Miss Kremer (AP Biology) seems pretty nice. And Mr. Cahill (English Ⅲ) should be very interesting. But I’m not too thrilled with Mr. Mongenas (Morality & Social Justice), who doesn’t seem to be too thrilled about teaching the course.

    And then there’s AP Computer Science A. Despite this year’s Course Catalog stating that the course teaches C/C++, the school is teaching Java in the course instead. I’m not quite thrilled about learning a language that, in my opinion, isn’t nearly as powerful/flexible/whatever. And I’m also not quite thrilled that a classmate of mine, Harjus of Quote-of-the-Day fame, was the only student in the Class of 2005 (my class) to learn C++ at our school.

    But I’ll have to cope. It is, after all, high school.

  • Jim

    Some of you who are lucky to have my screen name may know that, instead of using AIM or NIM to connect to the AIM networks, I use a Jabber client called Jabber Instant Messenger (JIM).

    Now, I’m helping to build a new, Mozilla-the-Platform–based Jabber client also called JIM. I’m interested mostly because it’s so easy to fix things, add new features, or skin, being that it’s created entirely in XML, CSS, and JavaScript.

    (Jim will soon be merging with Jabberzilla, another Jabber client for Mozilla. Jabberzilla has fallen into disrepair in recent months, so it’s getting the overhaul of the simpler Jim. In turn, Jim will take on the more widely known Jabberzilla name.)

    So far, I’ve reported several bugs on Jim. I’ve also done extensive work to extend the Luna Blue theme to Jim, and I’ve reviewed and heavily edited the text strings used in Jim.

So that, in a rather large nutshell, is why I’m busy.

By the way, this is the 50th post on this temporary blog. Just goes to show how much I can procrastinate a long-needed website job.

April 17, 2003

Typically, Internet writers predicting the future of technology will take the naïve approach of suggesting outlandish possibilities and science-fictional conflicts that arise as a result. I’m impressed, though, with Paul Graham’s very enlightening and inspiring essay on the future of programming, The Hundred-Year Language. Although it is very long, the essay should be of interest to anyone who’s ever learned a programming language.

I think that, like species, languages will form evolutionary trees, with dead-ends branching off all over. We can see this happening already. Cobol, for all its sometime popularity, does not seem to have any intellectual descendants. It is an evolutionary dead-end— a Neanderthal language.

“I predict a similar fate for Java. People sometimes send me mail saying, ‘How can you say that Java won’t turn out to be a successful language? It’s already a successful language.’ And I admit that it is, if you measure success by shelf space taken up by books on it (particularly individual books on it), or by the number of undergrads who believe they have to learn it to get a job. When I say Java won’t turn out to be a successful language, I mean something more specific: that Java will turn out to be an evolutionary dead-end, like Cobol.

This is just a guess. I may be wrong. My point here is not to diss Java, but to raise the issue of evolutionary trees and get people asking, where on the tree is language X? The reason to ask this question isn’t just so that our ghosts can say, in a hundred years, I told you so. It’s because staying close to the main branches is a useful heuristic for finding languages that will be good to program in now.

If we had the hundred-year language now, it would at least make a great pseudocode. What about using it to write software? Since the hundred-year language will need to generate fast code for some applications, presumably it could generate code efficient enough to run acceptably well on our hardware. We might have to give more optimization advice than users in a hundred years, but it still might be a net win.


  1. Evil Java habits
  2. Catching Up
  3. Looking forward