Archive for November, 2006|Monthly archive page

The gods have taste

David Pollak talks about Smalltalk being the language of the gods. To summarize he talks favorably about the language and community surrounding Smalltalk but also the “requirements” [my word] that the language demands. Here’s a quote that sums his post up:

“I am not sure I’d make the commitment to being a god that Smalltalk requires. Most of the developers I meet on a day-to-day basis… the kind of developers who work hard and are conscientious in the work for 10 or so hours a day are not looking for an environment that requires a mind meld. They’re looking for a tool to achieve their goals. From what I’ve experienced with Smalltalk, I don’t think Smalltalk is that kind of tool.”

He goes onto say that the “requirements” of Smalltalk will relegate it to being a niche language.

I agree with a lot of what he says. I agree Smalltalk does require more from it’s users then other languages. I agree that it, as a result of that commitment, delivers more to it’s users. I agree that it is a thing of beauty and could possible be the language of the gods. However, I don’t agree that it will always be a niche language. The jury’s still out.

When I was younger I too looked for the path of least resistance. Heck, for a long time I didn’t even bother to comment my code because it was more important to churn out the programs then to “document.” Well, now that I’m firmly ensconced in the second half of my life I’ve learned to appreciate spending some extra time to get a better “product.” Because of that I have, so to speak, truly learned to love Smalltalk and to be willing to spend that extra time to reap the rewards.

While I didn’t come out of the pioneers of computing I like to think I came out of the early days of computing. After all I do remember a world before the Internet and PC’s, where disks were stored in “packs” and were removable from their drives. I think it would be a safe bet to say that most of the programming population came after me (and was probably born after I started programming, gag!). Perhaps as the world’s programmers age and mature and start to appreciate the finer things in life, they too will learn to love and devote themselves to Smalltalk.

If not, I’m still OK with that. Things that stay niche tend to keep their beauty and don’t get watered down by the latest fad. We might be best served to keep Smalltalk as our own little secret.

Advertisements

My first Smalltalk ah-ha moment

When I first learned Smalltalk (back in the mid-1990’s), the instructor told us that it would take at least five years to become proficient in object oriented design and Smalltalk. Of course, at the time I didn’t believe him. After all, I was an excellent programmer and certainly pick this up quicker then everyone else. Now that I’m back into Smalltak and reading more about it, I’m starting to believe what he said.

A few months ago while reading Smalltalk-80: The Language I had my first Smalltalk ah-ha moment. It came when they talked about using SampleSpace to randomly hand out elements from a set (in the situation in the book, cards from a deck). They break that behavior out into an object that just does that, hand out elements from a set. Doesn’t care what the elements are, just randomly picks one.

Breaking out this behavior neverĀ  dawned on me before. In fact, I implemented the same card dealing logic into a Deck object in Java when I was doing a War simulation (War the card game, not fighting between armies). I was dumbfounded when I realized that by breaking out that behavior there were so many other places it could be used.

Now I understand what the instructor was talking about. He wasn’t talking about learning the language or OOD concepts but about being able to use them to their fullest advantage. Guess I need to resolve myself to the fact that it will take me five years.

Music industry’s fingers in the pie

Microsoft is giving a cut of all Zune sales to Universal (article). Therefore, everyone that buys a Zune and then buys a digital file or CD is, in effect, paying twice to make up for those who aren’t paying for their music.

Here’s what bothers me the most:

“‘We felt that any business that’s built on the bedrock of music we should share in,’ said Doug Morris, chief executive of Universal”

When does this statement turn into “we feel that any business that’s built on the bedrock of the ability to record and distribute music we should share in”? Before you know it, we’ll all be paying a fee under the covers for every sale of Vista. I’m liking Apple more and more each day.
Also, doesn’t this just encourage people to get their music from pirated means? After all, if you’ve purchased a Zune, you’ve already paid. Maybe all media player manufactures should just negotiate a price with the music industry and let us get back to enjoying the music without all this foolishness.

Y2Kx “bug”?

Apparently, our (the US’s) multi-billion dollar feet of space shuttles has a “bug” in the computer software (read here).

“A computer problem could force NASA to postpone next month’s launch of shuttle Discovery until 2007 to avoid having the spaceship in orbit when the clock strikes midnight on New Year’s Eve….’The shuttle computers were never envisioned to fly through a year-end changeover,’ space shuttle program manager Wayne Hale told a briefing….The problem, according to Hale, is that the shuttle’s computers do not reset to day one, as ground-based systems that support shuttle navigation do. Instead, after December 31, the 365th day of the year, shuttle computers figure January 1 is just day 366.”

Quite frankly this is unbelievable and unacceptable. How could this problem not have been addressed. Haven’t the software engineers at NASA learned anything from the Y2K “bug”? This just makes NASA in particular, and the United States in general, look like complete buffoons.

BTW, I put “bug” in quotes because I really have a problem with calling what happened at the turn of the millennium a bug. Usually bugs are introduced in software by accident. The Y2K mess was introduced knowingly. Don’t get me wrong, I was perpetrator in this crime as well. I began my programming career in 1987 and I distinctly remember hashing this over with my boss at the time. When I said to him, “isn’t this going to be a mess someday,” his response was, “what do you care. You probably won’t be here and neither will I.” For the next 13 years I knowingly sabotaged the programs I wrote. Perhaps sabotage is too strong a word, but what else would you call it?

Andres Valloud talks about education, training and their ramifications. This paragraph jumped out at me:

“Then you have to consider this. It is well known that as new parts of our brain develop, they will die off or not activate later on if they are not stimulated at the right time. In other words: do a lot of multiple choice tests while your brain is still developing, and guess what will you train yourself to do. Even worse: what you are causing yourself not to be?”

Nothing drives me more crazy then when I hear someone say “I don’t know how to do it.” There is no desire to open a book (manual), think about a problem and possible solution or to even try something they haven’t been spoon fed. And, I’m not necessarily talking about the youth of today. I hear this from people older then my generation (I’m almost 40). Maybe it’s because I work with computers and I hear it more often because, as Andres mentions, those who “have this ability to perform their incomprehensible “magic”, are called geniuses.”

Contrary to my multiple-choice upbringing, I’m never satisfied with just using something without, at least conceptually, understanding how it works. And believe me, it doesn’t take much effort to get a basic understanding of how stuff works. Of course, it might require you to switch from Court TV to the Discovery Channel.