oh for the love of everything “markup”!

I’ll try and keep this short, since the internet is boring. Did I say that? Some bits of it are, but there is also some fabulous stuff around! I’m targeting some of the technology behind it today, in particular the stuff that exists to hopefully make the life of the programmer, easier.

In a fairly simplistic level, I’m fond of html and its derivitives. This is the simplist method out there for creating web pages. Ever wondered why that bookmark ends in bla.html? Now you know! As with almost everything vaguely geeky, it’s an acronym of Hyper text markup language but since that’s almost entirely irrelevant, don’t worry about it for now.

Then we have XML. Why? Someone somewhere realised a few years ago that it was really inconvenient for those of us with more than one computer, to transfer our documents and the like from one to the other. Shouldn’t be a problem if we all have the same version of Word, Excel and the like installed, but what if we don’t even have Excel? All I want to do is look at some spreadsheet (goodness knows why), but I don’t have Excel! That’s hardly fair now is it? I’ve been given permission to read the spreadsheet. Why should I have to pay Microsoft for the right to read my work?? And so, some boffins came up with the idea of extendable markup language, XML. It’s just a way of defining all sorts of other ways of saving files, with the main advantage being that it is relatively straightforward for anyone to understand other people’s methods of storing data. Ever tried opening a .doc file in Notepad? Try it some day when you’re bored, and you’ll see it’s just a scrambled load of gibberish, even if it happens to be your prise dissertation when you open it in Word. If it were based on XML, it wouldn’t be quite so daunting, although it would be necessary for someone like me to write some sort of filter to strip the words in your document from all the rest of the junk that should show a computer how to format it.

Again, don’t worry too much if you haven’t got a clue what I’m on about, you’re not necessarily supposed to understand this stuff – that’s my job!

Why am I going on about “markup”? Wonderful as it is, a third of all of our lectures this semester seem to be devoted exclusively to markup. That is the same amount of time we had last semester in class, for the express purpose of learning how to program for the first time.

“But,” you ask. “Isn’t this markup blurb programming as well?”

Absolutely! But, it’s far easier by definition than learning how to write the software which renders web content. I guess they want anyone to be able to put stuff on the web, even without the benefit of wikis and expensive tools like Dreamweaver. For want of a more apt example, think of it in terms of learning to write a web page versus learning to make our own web browser to display it.

Sure, the internet appears to be constantly increasing its penetration of influence into our daily lives. It’s important, possibly vital for the future career path of a computer scientist. I happen to have enjoyed a time of employment thanks to my knowledge of these web technologies. That is my point. Why bother to lecture us about this stuff now? It’s important, I’ve already said that! If it’s necessary to spoon-feed computer science students with this sort of stuff, why not do it before we come onto more advanced programming? As far as I can tell, this module is wasting at least four hours of my life a week – time I could be spending robot building or researching the under-documented methods implemented by Microsoft for including sounds in their XBoxes. Or better still, it could be devoted to extra time understanding theories of computation and logic programming, or the “maths stuff” as I like to call it, stuff which I’m quite crap at by nature.

We’re expected to use our resourcefulness to find out about the finer points of robots and our Java programming in general. If there’s one thing well documented on the web, it’s web programming, so why does the same principle not apply here?

P.S: I’m proud to have spent all of these lectures so far, working on prolog and generally procrastinating. I am however, reassured by the promise of low-level network protocol troubleshooting and hacking later on in the term. Bring on March!