Sunday, September 24, 2006

Having to Understand Code

This post is going to go as quickly as I can make it go because I'm dead tired right now and really sad because I did embarrassingly bad tonight at TLD in trying to catch up with last week's lesson, which is bad because there's a party on Friday I want to go to. Anyway, what I was hoping to talk about was what programmers spend a lot of time doing, which this guy claims is trying to read and understand code rather than write it. I was quite apprehensive at first, but I think he's right. We like to think that we write a lot of code, but most good coders will review what they've written, and if there are bugs then they spend a lot of time reading to pinpoint the source while debugging, and if you ever go back to add a feature to add extra precautions or adjust for user requirements (at least one of which almost always happens), you find yourself reading code even more. The actual act of programming is quite short if you're truly proficient in a language. However, some problems are more complex and require more planning so this isn't always true, but it's quite common to read more than write. However, reading code can be quite grueling, which seems to lead to rewriting code. Is this a bad idea? I'd say that it depends. If it's just a component of your application and it's proven to be reliable, then it should be re-used even if the source is ugly. Otherwise, if you're in a direct role working with that source code, it may be more prudent to rewrite it because it's paradoxical in a way to try to understand a program the hardest way possible: by reading its source code. Can't we get more out of reverse engineering it? Maybe I'm just blabbering at this point, but I thought it was an interesting thing to ponder.

Have you stopped to wonder why sources say that Apple has committed to Blu-ray and yet they have not started putting BD-ROM in their machines? Some are arguing that this is because they'd rather drive up demand for iTunes movies, but I beg to differ. These drives aren't cheap and still don't have a wide selection of movies, so why drive up the price of your machines for a function that your consumers don't care about? It's not like they disallowed music CDs on Macs to drive up demand for iTunes songs. Speaking of iTunes, they're actually having trouble spreading iTunes U because colleges want more DRM and they want on-site storage of content. It's disappointing that universities are being so close-minded in the face of such a great opportunity for their students. Meanwhile, Apple's crusade against the term "podcast" has been a bit disgruntling also, and ZDNet believes that it's because they want to trademark the term iPodcast, which may actually be true. However, anyone else see the irony in them calling them podcasts in iTunes and then not letting them use the word? Sony's keynote at TGS was rather uneventful (quite contrary to the ongoing buzz for the Wii), but it was revealed that all models will include an HDMI port, which is nice given the bright future for HD television sets and long-term nature of a console purchase. Lastly, if you're looking for a fresh browser, you should check out Shiira. It is a Mac product, but it looks so cool that I couldn't help but plug it.

Click to enlarge

The sleep is overcoming me, I'm just going to cover the box office for movies. Jackass Number Two claimed top honors at an amazing $28.1 million. For a totally mindless comedy in the middle of September, that's pretty amazing. Unfortunately, Fearless made less than half that at number two (though Jet Li was the only big name), and All The King's Men sadly made less then $4 million despite the star talent, though I suppose the reviews were less than stellar.

Now for some Unconscious Mutterings:

I say ... and you think ... ?

  1. Bell :: Saved by the

  2. Abuse :: Physical

  3. Relief :: Medicine

  4. List :: Grievances

  5. Concern :: Problems

  6. Absolute :: Truth

  7. Cling :: Relationships

  8. Dump :: Truck

  9. Terminate :: Fire

  10. Wine :: and Dine

No comments: