7 |
The LA Fox Developer Newsletter
|
March 2000
|
In the last
two
issues of DaNews, I’ve been discussing (okay, complaining) about how much difficulty we can experience just getting Microsoft’s operating systems installed, and keeping them working through installation of various applications and components. I’m not alone in my concern. Even the folks at Microsoft appreciate the magnitude of the problem.
I received an E-mail from my friend Steven Black (Hi, Steve!) who wrote to say that he thought my August editorial was “spot on” as they say in the UK. He recommended that I read an article that appeared in the August issue of Harper’s. I took his advice and snagged a copy. The article is indeed highly worth reading and turns out to be an excerpt from the author’s book “The Dumbing Down of Programming”, which will be winging it’s way to my door as soon as I remember to log onto Amazon.com to order it. I’d cite the author's name and give more specifics about the ISBN number and such, but I’ve temporarily misplaced the photocopy I made of the article. (Just think, if I’d gotten it electronically I wouldn’t have lost it! <grrrr.>) I’ll have all the particulars at our next meeting for those
interested.
Anyway, this author compares the open architecture of Linux to that of
her primary development platform, Windows NT/Workstation.
I remember back when I bought my first “modern era”
PC, and was trying to decide between the IBM-PC platform and the Macintosh. I decided on the PC platform because of its open architecture. I preferred a system where, if necessary, I could lift the hood and turn a wrench on the sucker. (Never mind that Mac- heads claim that this is not necessary with a Mac). When we were still in the DOS world, it was very annoying to have to constantly tweak all the entries in the AUTOEXEC.BAT and CONFIG.SYS files to get everything working right. On the other hand, you could, eventually, usually, get the dam thing up and running. Each new piece of software had it’s potential for forcing you back into the bowels of your configuration. However, the configuration was contained in two ASCII text files, you had an editor, and you could always fiddle and change load orders and driver switches until it worked. In today’s environment, you all too often come up against a brick wall where you’ve exhausted most or all of your options.
In application development, too, we often hit the limitations of the current architecture. You have an ActiveX control that doesn’t work. Can you fix it? Not if you didn’t write it! Even if you’ve created an ActiveX control in VB, you
can
still get stuck in DLL Hell in which you have few options but to do a “Freeman” on your machine, formatting the hard drive and re-installing everything, and even then things may not work.
What Microsoft is trying to do is make things easy for programmers. Point. Click. Add this control. Set these properties. Bingo! Yes, this is indeed “dumbing down” programming. A
|
unix system on the other hand does allow you access to the innards of the operating system, and even provides the opportunity to fix or modify the OS when necessary. The developer has complete control over the entire process from the hardware to the user interface.
It’s important to recognize, however, that there has been a tradeoff in this process. We’ve lost a lot of control, yes. But let’s consider what we’ve gained.
First, how many application developers are experienced, competent “C” programmers? Not enough. The whole point of high-level languages like VFP, VB, Delphi etc., are that you
can
accomplish in one line of code what might take hundreds of lines in “C”. Even when working with Microsoft Foundation Classes, programmers are initially much more productive with a high-level language. RAD is as close to reality as it can get with many high-level languages.
Second, when was the last time you had to crack a manual or the on-line help file when working with an unfamiliar application? In many cases, users will find that they can install the software, and get something productive done within 20 minutes of playing around with it. Compare this with the weeks of study required to familiarize yourself with DOS-era apps like dBase, Lotus 1-2-3 or WordStar! I don’t think we can minimize the value of the common user interface (regardless of your opinion asto how good it is).
Back to programming, I know I don’t want to go back to DOS- era Basic or Pascal where I had to write 200 lines of code to create the equivalent of a VFP TextBox!
So we’re faced with a Really Big Question. Must we sacrifice control for productivity in application development? Is this a Zero Sum Game? I know I’m growing increasingly weary of being out of control of my development environment, to say nothing of my user’s and customer’s production environment.
So what do we have?
control of the development environment.
too fast to keep up”.
TCO.
and continued speculation by many of the eventual forced
breakup of Microsoft.
community mental shelf-space given to Linux.
have us believe, outright catastrophe) from the “millennium bug”.
broadband technologies
|
Page 7
|
7 |