Tuesday, March 27, 2007

Development Development

When I got my first REAL computer -- an Atari 400 -- I certainly enjoyed the games, but what I REALLY wanted to do was learn how to program. I've never tried putting into words WHY programming/developing appeals to me, but today I ran across this quote:
If you can program your computer, here is a tiny universe in which you can be God. Within the realms of expression that the computer can provide, you can build a world, define its laws, and watch the universe unfold. As your whim dictates, you can intervene at any time, and if you desire, the history of the universe can be changed and rewritten at will. Such a power this is!
That sums it up perfectly, and since it was written by Gregory Yob -- most famous for "Hunt the Wumpus," a game concept which fascinated me enough to create a mammoth new version of it -- it resonates deeply for me.

Anyway, I started with Atari BASIC. I dabbled a bit with Assembly but I was too young and I didn't have the patience. In highschool I was weaned on to structured programming with WATCOM BASIC, and even though I excelled at programming my total lack of math aptitude scared me away from a Computer Science major...though I did take an entry-level course at University (where I learned and then forgot TURING), and another entry-level college course in C.

Meanwhile I'd been hacking away at Inform, which introduced me to object-oriented programming. Since Inform was designed for writing "Interactive Fiction," the object-oriented approach made perfect sense: all the elements of the "world" are objects, which the "player object" can pick up, carry around, interact with, put inside other objects, etc. But even though I grew accustomed to classes, methods, and instance variables, I was never prepared for the next step:

Objective-C, the language of choice (apparently) for Mac OS X developers. My Mac came with a full development suite and reams of documentation, so why not learn this new language? I'd already done object-oriented programming with Inform and I knew a bit about pointers from that course in C, so I figured it would be a breeze.

But it hasn't been. I have trouble conceptualizing pointers, particularly as they relate to the huge library of classes that come with OS X. Never before have I had to retain and destroy objects. And, most importantly, it's clear that while I understand the "how" of object-oriented programming, I've never grasped the "why" of object-oriented DESIGN.

So I went online to find a book specifically about design. I figured there'd be THOUSANDS. It turns out there are enough to give me a selection to choose from, but they're all specific to particular languages I'm not using, or -- and here's the catch -- they're textbooks, and therefore ridiculously expensive.

I finally settled on "Applying UML and Patterns" by Craig Larman, but I'd never pay $75 for it, particularly since I know the high price isn't due to the content so much as an attempt at making a profit above the number of copies sold at campus bookstores every year. Why should I suffer for that? I KEPT my textbooks (at least the good ones). So I turned to ebay.

And that's where the weirdness started. There are a LOT of copies of this book for sale on ebay, and most of them are 1/10th the price...but they come from China. Which made me suspicious, especially when I saw inconsistent page counts and comments like "all illustrations in black and white" and "we promise all important text is in English." Coupled with lots of negative buyer comments and long shipping times, I decided this all sounded too creepy; there must be some sort of bootleg textbook thing happening in China.

The sellers on abebooks look more reputable; they're from Japan, and they're selling "International Editions" that are somewhat more expensive. They say they contain "the same text as the American version" but they're also 200 pages shorter. Hmmm?

Finally I realized that there were a few ebay stores selling an OLDER (and shorter) edition of the textbook, so I finally bit the bullet and bought one. But I still wonder: what's with the Chinese textbooks? Also, why can't somebody write a generic book on this subject that doesn't cost $75? And how on earth can I conceptualize a program where even the NUMBERS are objects? Gah!

6 comments:

Eric Little said...

And from what I've heard, $75 (either Canadian or American) is relatively inexpensive when it comes to computer textbooks.

I used an academic anthology of science-fiction stories for my class one year, but when I saw what they were charging (around $65), I chose a trade paperback for $15.00 and told the students that was cheap--and it had a better good stuff/stinker ratio as well.

The mark-up on textbooks is ridiculous, as is the practice of flooding teachers with desk copies they don't ask for. I've never sold a copy of a text I have specifically asked a publisher for.

The China aspect is new to me, though.

Muffy St. Bernard said...

In University, most of my courses were in either the social sciences or English literature. I paid through the nose for my social science texts, but the English lit professors seemed able to avoid the expensive editions (not to mention that if you need to read "Tale of Two Cities," you probably don't have to buy a new copy).

Particularly odious textbook practice: releasing a new edition every three years with rearranged chapters and pagination, so students can't buy used copies without struggling to reconcile the new page numbering.

This must also be annoying for professors.

You get free desk copies of new textbooks? That's bad?

Eric Little said...

It's a bad thing in that the publishers try to make professors feel guilty about the price of textbooks. Here's the notice printed on a free copy of "Keys for Writers," right above the large white caption, INSTRUCTOR'S COPY:

"This work was provided free of charge to an instructor solely for evaluation and/or pedagogical purposes. Sale, resale, or further dissemination of this work will contribute to higher costs of textbooks for students and is prohibited."

Professors sell the unsolicited desk copies they receive--no one wants to return all the books they don't even ask for, since many times they are sent in those horrid shrink-wrap packages that require a machete to open, so you'd have to hunt up a box, seal it, take it to the post office, and I've got enough work to do--like looking up interesting word origins.

Which is why I say I have never sold a desk copy I have asked for.

In English nowadays, the big push is for handbooks and writing manuals, which one would think do not require new editions (I can't think of one major grammatical or mechanical rule that has changed during my lifetime)--what causes the new editions are different theories of teaching writing, and new formats for citing research, particularly on the Internet.

And when I teach modern fiction, the prices go up, because Pynchon is still in copyright, and Dickens isn't.

Muffy St. Bernard said...

Those are very manipulative notices, though I love that they contain the word "pedagogical."

Even though I wasn't an English major, I got the weird opportunity to take a 600-level master's course called "The Hyperthyroid Novel." It was entirely an excuse for the professor to teach two books he's always wanted to teach: "Gravity's Rainbow" and "Miss Macintosh My Darling." EVERYBODY in the class used the word "pedagogy" in every sentence, making me feel like a real ninny.

But I got my revenge: instead of doing my final paper/presentation on "Pynchon's Pedagogy" or something like that, I did it on "Behaviourism in Gravity's Rainbow," so therefore got to throw in lots of terms ("operant conditioning") from MY discipline that THEY didn't understand. It was a coup.

It was a good paper.

Eric Little said...

I am certain it was. ;)

And I never use the word "pedagogy" unless threatened with having to watch the Collected Films of Elvis Presley (which is, my imp assures me, the punishment that has been prepared for me in the nether regions).

Muffy St. Bernard said...

...only worth it for Ann-Margaret, in my books!