Tue, 09 Sep 2003top
more about retrograde consolidation
More thoughts that just occurred to me. A follow up to retrograde consolidation:
Ironically, what makes regressing to older software technologies feasible is because hardware technology is advancing so rapidly. This is what makes it cheap (again, in terms of CPU cycles and memory capacity) to process markup that is otherwise plain text. So because computers are getting faster and faster, and have more and more memory and storage capacity, you don't need precompiled binaries as much. The efficiency gained versus the pain-in-the-ass factor of writing supremely optimized code will become less and less worth it as long as Moore's Law holds, except for some mission-critical applications that require realtime operation (like gaming, for example.) And because you don't need precompiled binaries so much, completely cross-platform, interpreted languages such as Perl and Java can flourish. (Interpreted languages! And you thought BASIC was obsolete!) You can write config files in XML, in a plain text editor. (Much of MacOS X's configuration files are in plist files, that is, XML property lists.) And cross-platform APIs like XUL will become more and more practical as well.
Another reason is expanding bandwidth. If broadband continues to become more and more accessible, and wi-fi continues to become more ubiquitous, it becomes more feasible to transmit things in simpler but more inefficient (in terms of byte-count) formats. For example, perhaps there will come a day when it will be worth downloading WAVs instead of mp3s. (Though, except for the audiophile aspect of it, it may be unnecessary since processor speed will also continue to increase, making the additional load of decoding an mp3 minimal.)
But, I think, more importantly than simplicity (however you want to define it) is openness. A lot of these tools and formats that would've been prohibitive (again, in terms of CPU cycles and memory) in days gone by are somewhat transparent. (Sure, we don't come out of the womb being able to parse XML, but it's a lot easier to understand than straight up machine language.) More importantly, the specs are accessible. With a little effort, you too can write XML documents and write Perl scripts and develop Java applications. You don't need to drop hard cash on some secretive software company to be able to do some rather remarkable things with your computer.