Skip to main content

The Time of Computers

Hello, all! I'm back after another nice, long, refreshing hiatus because for the nth time, my parents have put their feet down and insisted I compose a blog post. I MAY HAVE TO DO IT, BUT YOU'LL NEVER MAKE ME DO IT WITH GOOD GRACE, MOM!

I was thinking about my school computer science class (I wasn't really, I just need a way to introduce the topic) and about the kind of programs we have to write. They're not very complex programs, they do pretty simple things like adding up numbers or sorting things. They also aren't very long. A program that I'm asked to write in class will scarcely take me ten minutes to finish, and be around fifteen lines long. The Google home page has more lines of code than that, for crying out loud!

Now, there's nothing wrong with short programs. A lot of the most efficient programs are quite short, and I'm always thrilled to be able to write one line instead of two. However, the problem with writing only 15-line programs is that it doesn't really give you a sense for how much work really goes into building a software product. It leaves people with the impression that an entire operating system, say, can be built with around 30 lines of code. Now, while I hope that that may be the case in the future, none of the tool sets currently available to us are that good. Windows XP, for instance, is around 45 million lines of code in size.

The usual explanation is that a computer science course is supposed to teach you the concepts required to build a program, not actually have you build a program. While it's very good for me to know what I'm doing with while-loops and for-loops, I think I'd also like to know the amount of work that goes into developing a functional product. I wrote an app a couple of months ago - a pretty simple app by today's standards - that took me several weeks to finish. Of course, it probably didn't help that I was only putting in one hour every day, and even then not every day of the week. The point is, though, our computer science course implies that building the next great piece of software is something that I can accomplish with half an hour and a computer.

It also strikes me that people who have been taught programming by writing fifteen-line programs in visual basic are rather more liable than everyone else to break down and weep after their computer tells them, for the fifth time, that it "could not locate aeinv.dll" or whatever. I'm not saying that I don't feel the urge to chuck my computer out the window and go out for a walk every time my code doesn't work. I'm just saying that I'll probably sit down after the third failure and reboot the computer (and that's what every overpaid repair engineer doesn't tell you - if your computer isn't working properly, you should probably just turn it off and on. If that doesn't work, ditch Windows and use Linux like a real programmer.)

The obvious solution, of course, would be to set up computer science courses to be more like a team working towards a goal. The current format seems to be to throw a bunch of problems at you which use all the features of a given programming language. I wish I had a less obvious, well thought out solution to offer you, but I never have, and I'm far too lazy to come up with one. Instead, I'll leave you to hope that you never, ever have to learn to use Linux.


Post a Comment

Popular posts from this blog

Are We There Yet?

I've always had a bit of a love/hate relationship with travel. I love the idea of going to new places, meeting new people, seeing new cultures and all that fun stuff. What I don't like about travelling is the actual getting-from-place-to-place part of it. The countless hours spent sitting in trains and buses and planes and cars, the mindless tedium of endless highway zipping by, that's the part of travelling I don't like.

I had this driven home to me last week when we were coming back from Chennai. We had spent a couple of days there and Mom had booked us on a train at half past five in the evening. The ride from Chennai to Bangalore takes around five hours by train. Let me repeat that: five long, boring hours of sitting on a train.

Normally, I'd be completely OK with this - I'd have my phone and my headphones with me. I'd plug my ears as soon as we were on board the train and ignore the existence of everyone else for most of the trip. This time, though, I …

Drumming Up a Following

After several years of putting it off and/or being unable to do so for a variety of reasons, I've finally taken up learning an instrument - or, more specifically, the drums. Guitar seemed a little too common an instrument and keyboard was never really my thing, so drums seemed the best choice. Which is why now I sit pondering my next sentence whilst whacking my drumsticks on my bed rather than thoughtfully scratching my chin.

Most of my friends have learned to play some instrument at some point or the other, and most of them stuck with it for long enough to still remember how to play at least something on it even now. I, however, spent my younger years coding or cooking or... well, something that was quite patently not music, anyway. Oh, my parents spent more than their fair share of money on music classes. I just never really had an interest in them growing up. I have spent countless hours, at ages seven and below, at music classes attempting to learn to play the keyboard or the …

Talking Trouble

I want to begin this post by saying that I don't volunteer to speak. I'm not one of those guys who's always MCing this or giving a speech about that. I speak in public only if I have no other choice, and those situations come by rarely enough that I've had very little experience actually being on stage and talking.

Last week, though, I was at an NCC camp, and the PI (Permanent Instructor, for you non-NCC folk) staff decided that I should host an event on account of I spoke decent English. Normally, I would refuse, but in the NCC, if they ask you to jump over a cliff, you need to have been over that cliff five minutes ago. You don't get to ask why you're jumping off of a cliff, you just jump. So it was that three days into the camp, I found myself on stage with a co-MC I didn't really know, in a uniform that I had lost the knack of wearing and holding a mic that caught, oh, about 50% of the words you spoke into it.

At first, I was incredibly nervous. The pre…