Thursday, May 04, 2006

The chicken or the feather?

Maybe it's a sign of the times, Patriotic Act and DMCA and the overall sorry state of liberties around the world, but it seems that more and more web-writers tend to confuse cause with result these days.

Case in question, Informit.com, a somewhat seriously-browed online magazine that asks "Will Cell Phones be Responsible for the Next Internet Worm?".
Now, last time I checked, malicious programmers (aka 'crackers') were responsible for creating those Internet worms, while non-informed users were "responsible" for spreading them. Not the hardware.

The worse example of this is something I mentioned before, which is the new and exciting "natural language" syntax of Inform 7, which goes a long way to make a point most programmers already know, which is basically that while the user-side should be as natural and simple as possible, the programmer side shouldn't.
Using a "natural-language" syntax usually means that the programmer will have to use a lot more text to define what he would've been able to do previously with a very short text.
I realise that game creators don't easily understand programming-language like syntax, but, then again, they're not the ones that need it. It's not a Saturday afternoon D&D session, and the medium here is the computer. The writer should devote the most of his work to the actual descriptions (you know, those that the player will actually read) and not write paragraphs over paragraphs of description for the computer, which doesn't need more than a clear indication of what goes where.
The argument here is usually "I don't need to learn to program to create an Interactive Fiction game". That may be true, but if you really want your game to be more than a "Choose Your Own Adventure" and really be INTERACTIVE, then you will need to use robust and dynamic tools, which, from the computer point of view, isn't natural-language.

It's deeper than that, it seems, this page shows a mind map of common GNU/Linux libraries in a way that the writer claims to be "human readable". In reality, if this diagram is "human readable", I might be in need of a biological check.
But that's besides the point. Why do I need a "human readable" diagram anyway? If someone's going to become a GNU/Linux developer, that someone is (or will need to be) well versed in the library dependency structure. Anyone else just doesn't need it.
Just to push forth that argument, take this clown who claims "Freedom to use" is irrelevant if the software demands a high degree of technical know-how. I'm not going to delve too far into his argument, as the writer obviously doesn't understand the concept of free (as in Willy) software, and seems to confuse the Open Source ideas with the Free Software ones, while peppering it all with a nice dosage of demagogy.
Basically, free software doesn't mean "everyone should be able to use it". It means that if you want to use it, you will have the means to use it freely, and unrestrictedly. Free software doesn't mean "freedom from complexity". In fact, one of RMS' constant mantras is that one should ALWAYS choose the free solution DESPITE the limitations that it poses. You want to play your mp3 collection while reading a site rendered in Flash? You can't. Those are proprietary formats.
In my view, this whole argument is as empty as claiming that the "everyone should be able to view and modify the source code" isn't a real freedom since only programmers are able to understand and modify source code. And only in languages they know.

We live in a technological world. But we are not technological people, so sometimes ideas like "ease of use" and "user friendliness" and "better productivity" and "Interface design" get mingled and mixed up. Other times we get reviews that claim that Microsoft Internet Explorer 7 "has no soul".
There isn't really any harm in these things, at least not in the way I presented them. The real harm comes when companies start market their latest lock-up technology as "protecting the customer", and when laws that throw civil rights out of the window claim to be a "Patriotic act" (which reminds me of that Catch-22 scene where people had to recite the Pledge of Allegiance just to enter mess hall).
So once in a while, someone need to stop and remind himself that it's not the boxes that brings the planes, it's the war.

2 Comments:

At 05 May, 2006 00:02, Anonymous Anonymous said...

You should definitely make an appointment for that biological check.
That diagram is human readable. A human can look at it and get information from it. To get useful information, said human would have to be aware of the context. Still, it's definitely human readable, and to me it looks like a very useful diagram to have.

"
If someone's going to become a GNU/Linux developer, that someone is (or will need to be) well versed in the library dependency structure.
"
Eh. WTF?
You can be well versed and that still doesn't mean you hold the entire structure in your head. You can program within a given framework for a long, use part of it a lot, and use other parts not so much, so you'll have part of that diagram memorized, and the rest of it you'll have a pretty good idea of.
Memorizing each and every dependency has nothing to do with programming skill. It's not even particularly useful. Just like memorizing a dictionary wouldn't make one a translator.
I don't know what sort of programming you do, but if and when you end up maintaining even medius sized systems, then you will need references, you will use references, and you will appreciate good references.

 
At 05 May, 2006 00:22, Anonymous Anonymous said...

".. which goes a long way to make a point most programmers already know, which is basically that while the user-side should be as natural and simple as possible, the programmer side shouldn't."
No.
If your programming of choice requires that things look complicated just to get something done, then you have not chosen well.

 

Post a Comment

<< Home

eXTReMe Tracker