[This is my third article on progress. The first article is here. More is coming, including the promised "sales department" part.]
What has fashion to do with computers? Well, that's easy. When my grandfather was programmer ( ; ), COBOL and LISP were "in". The day before yesterday, C/C++ was hip. Yesterday, Java was cool. Today, Dot-HET is "dah coolest evah", and "java suxxorz". Tomorrow, it will be something else.
"But wait", you'll say, "this is progress!"
Erhm... is that a fact? Entire software development suites exist written purely in LISP. LISP has a byte-compiler, just like Java, and would be just as cross-platform (not to mention that it is much easier to parse for computers, and looks not any worse then XML does, except for less text. And XML is "in" now, isn't it?) In C/C++ you can do everything you can do in Java, with less text. Dot-nyet's C# is a weird mix between Pascal (!), C++ and Java with some "novel" concepts most of which you easily can replicate using C++. The idea to have a set of standard libraries for "everything" on a platform is also not that new. The C/C++ libraries are somewhat limited, I agree, but I remember standard GUI libraries being used on AMIGA (integrated in it's ROM), in 1992, and you could access them from the AMIGA's assembler really easily. (In fact, the source code of an AMIGA program opening a pop-up box in assembler is about as long or even shorter then the same program written in Java -- so much for "high level"). I'm sure, someone out there remembers an older example.
If you sit down and compare the features, you will find out that the capabilities of most high-level and/or object-enabled languages, old and new, are very similar, not to say, almost the same. Which is why many people still use LISP, and C/C++, and, well, COBOL. (The latter is probably being phased out of active use, mainly because no-one can program it any more.)
The same is true not just for programming languages, but also for other technologies. Just look at how popular technology buzzwords change overtime (I wanted to give a link to the google keyword popularity comparison here, that I've seen in December 2006, but I can't seem to find it any more in April 2007. I guess that was also a thing of fashion...).
For those of you who have a long-term memory though, just remember the technology buzzwords from ten, five and one year ago. How many of them are still there?
"But what's so bad about this?" you might ask, "isn't fashion what's keeping the industry alive? They can sell new things!"
That might well be. But we are looking at progress now. As in, what brings our knowledge and our technology forward. And "new things" that are created this way don't:
Remember my first post? The same problem as with the perfectionism applies to fashion: software is built on other software. Just like in science, where theories are built on other theories.
If people don't buy or finance projects that are based on the most current, the most hip library, it doesn't really matter how many projects you finish: you will never bring a project past a certain point. It is like trying to build a house where every time you want to build a second floor, somebody says "but we have a better material for the first floor now, let's tear it down and build it out of that": the second floor will never be built. You are just doing the same thing over and over again. That's not progress, that's marching in one spot.
But why do people keep doing that? Why do we switch programming languages, libraries, technologies? Why does this fashion-thing exist in the software world -- is it a matter of tastes, or is there something else in play?
The answer, as always, is in the next post. Incidentally, it will also be a continuation of the last post.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment