[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lynx-dev lynx: off subject, bug VERY good
From: |
David Combs |
Subject: |
lynx-dev lynx: off subject, bug VERY good |
Date: |
Thu, 14 May 1998 04:30:47 -0700 (PDT) |
From web magazine "Salon", VERY cool site.
Go to www.salon1999.com -- you will like!
Here is the article (there are many, many more there)
[15]Ellen Ullman is a software engineer. She is the author of
[16]"Close to the Machine: Technophilia and its Discontents."
- - - - - - - - - - - - - - - - - - - - - - -
T A B L E_.T A L K
Is programming being "dumbed-down"? Are "easy" programming tools and
wizards changing the nature of programming? Is knowledge disappearing
into code? Come to Table Talk's [17]Digital Culture area and talk
about Ellen Ullman's "The Dumbing-Down of Programming."
- - - - - - - - - - - - - - - - - - - - - - -
R E L A T E D_.S A L O N_.S T O R I E S
[18]Disappearing into the code: A deadline brings programmers to the
place of no shame. Excerpt from "Close to the Machine."
By Ellen Ullman
Oct. 9, 1997
[19]Sliced off by the cutting edge: It's impossible for programmers
to keep up with every trend even when they're eager and willing. What
happens when they despair? Excerpt from "Close to the Machine."
By Ellen Ullman
Oct. 16, 1997
[20]Elegance and entropy: An interview with Ellen Ullman.
By Scott Rosenberg
Oct. 9, 1997
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------
[1]Citibank Platinum SelectSM Card
[INLINE] [2][ISMAP]-[3][USEMAP]
. [INLINE]
[4]
Salon
T A B L E__T A L K
Should companies be allowed to track their employees' Web surfing?
Weigh in on employee privacy vs. corporate rights in the Digital
Culture area of [5]Table Talk
- - - - - - - - - -
R E C E N T L Y
[6]Maximum confusion
By Janelle Brown
On the Web, a typo throws frat boys and feminists onto each other's
turf
(05/08/98)
[7]Let's Get This Straight
By Scott Rosenberg
Now that they're sundered from the magazine, whither Wired's Web
sites?
(05/08/98)
[8]Wired nests with Condé Nast
By Lori Leibovich
But will the magazine's new owners dull its edge?
(05/08/98)
[9]Let's Get This Straight
By Scott Rosenberg
Gates tells the world that what's good for Microsoft is good for the
country
(05/07/98)
[10]Folk rock of ages
By Geoff Edgers
Roger McGuinn's Web site is an experiment in
communal musical memory (05/07/98)
- - - - - - - - - -
BROWSE THE
[11]21ST FEATURE ARCHIVES
- - - - - - - - - -
[12]Tired of movie reviews by the usual suspects?
The dumbing-down of programming
P A R T_O N E:
REBELLING AGAINST MICROSOFT, "MY COMPUTER" AND EASY-TO-USE
WIZARDS, AN ENGINEER REDISCOVERS THE JOYS OF DIFFICULT COMPUTING.
21st image
BY ELLEN ULLMAN
Last month I committed an act of technical rebellion: I bought one
operating system instead of another. On the surface, this may not
seem like much, since an operating system is something that can seem
inevitable. It's there when you get your machine, some software from
Microsoft, an ur-condition that can be upgraded but not undone. Yet
the world is filled with operating systems, it turns out. And since
I've always felt that a computer system is a significant statement
about our relationship to the world -- how we organize our
understanding of it, how we want to interact with what we know, how
we wish to project the whole notion of intelligence -- I suddenly did
not feel like giving in to the inevitable.
My intention had been to buy an upgrade to Windows NT Server, which
was a completely sensible thing for me to be doing. A nice, clean,
up-to-date system for an extra machine was the idea, somewhere to
install my clients' software; a reasonable, professional choice in a
world where Microsoft platforms are everywhere. But somehow I left
the store carrying a box of Linux from a company called Slackware.
Linux: home-brewed, hobbyist, group-hacked. UNIX-like operating
system created in 1991 by Linus Torvalds then passed around from hand
to hand like so much anti-Soviet samizdat. Noncommercial, sold on the
cheap mainly for the cost of the documentation, impracticable except
perhaps for the thrill of actually looking at the source code and
utterly useless to my life as a software engineering consultant.
But buying Linux was no mistake. For the mere act of installing the
system -- stripping down the machine to its components, then
rebuilding its capabilities one by one -- led me to think about what
has happened to the profession of programming, and to consider how
the notion of technical expertise has changed. I began to wonder
about the wages, both personal and social, of spending so much time
with a machine that has slowly absorbed into itself as many
complications as possible, so as to present us with a façade that
says everything can and should be "easy."
________________
I began by ridding my system of Microsoft. I came of technical age
with UNIX, where I learned with power-greedy pleasure that you could
kill a system right out from under yourself with a single command.
It's almost the first thing anyone teaches you: Run as the root user
from the root directory, type in rm -r f *, and, at the stroke of the
ENTER key, gone are all the files and directories. Recursively, each
directory deleting itself once its files have been deleted, right
down to the very directory from which you entered the command: the
snake swallowing its tail. Just the knowledge that one might do such
great destruction is heady. It is the technical equivalent of
suicide, yet UNIX lets you do it anyhow. UNIX always presumes you
know what you're doing. You're the human being, after all, and it is
a mere operating system. Maybe you want to kill off your system.
But Microsoft was determined to protect me from myself.
Consumer-oriented, idiot-proofed, covered by its pretty skin of icons
and dialog boxes, Windows refused to let me harm it. I had long ago
lost my original start-up disk, the system was too fritzed to make a
new one and now it turned away my subterfuges of DOS installation
diskette, boot disks from other machines, later versions of
utilities. Can't reformat active drive. Wrong version detected. Setup
designed for systems without an operating system; operating system
detected; upgrade version required. A cascade of error messages,
warnings, beeps; a sort of sound and light show -- the Wizard of Oz
lighting spectacular fireworks to keep me from flinging back the
curtain to see the short fat bald man.
For Microsoft's self-protective skin is really only a show, a lure to
the determined engineer, a challenge to see if you're clever enough
to rip the covers off. The more it resisted me, the more I knew I
would enjoy the pleasure of deleting it.
Two hours later, I was stripping down the system. Layer by layer it
fell away. Off came Windows NT 3.51; off came a wayward
co-installation of Windows 95 where it overlaid DOS. I said goodbye
to video and sound; goodbye wallpaper; goodbye fonts and colors and
styles; goodbye windows and icons and menus and buttons and dialogs.
All the lovely graphical skins turned to so much bitwise detritus. It
had the feel of Keir Dullea turning off the keys to HAL's memory core
in the film "2001," each keyturn removing a "higher" function, HAL's
voice all the while descending into mawkish, babyish pleading. Except
that I had the sense that I was performing an exactly opposite
process: I was making my system not dumber but smarter. For now
everything on the system would be something put there by me, and in
the end the system itself would be cleaner, clearer, more knowable --
everything I associate with the idea of "intelligent."
What I had now was a bare machine, just the hardware and its built-in
logic. No more Microsoft muddle of operating systems. It was like
hosing down your car after washing it: the same feeling of virtuous
exertion, the pleasure of the sparkling clean machine you've just
rubbed all over. Yours. Known down to the crevices. Then, just to see
what would happen, I turned on the computer. It powered up as usual,
gave two long beeps, then put up a message in large letters on the
screen:
NO ROM BASIC
What? Had I somehow killed off my read-only memory? It doesn't matter
that you tell yourself you're an engineer and game for whatever
happens. There is still a moment of panic when things seem to go
horribly wrong. I stared at the message for a while, then calmed
down: It had to be related to not having an operating system. What
else did I think could happen but something weird?
But what something weird was this exactly? I searched the Net, found
hundreds of HOW-TO FAQs about installing Linux, thousands about
uninstalling operating systems -- endless pages of obscure factoids,
strange procedures, good and bad advice. I followed trails of links
that led to interesting bits of information, currently useless to me.
Long trails that ended in dead ends, missing pages, junk. Then,
sometime about 1 in the morning, in a FAQ about Enhanced IDE, was the
answer:
8.1. Why do I get NO ROM BASIC, SYSTEM HALTED?
This should get a prize for the PC compatible's most obscure error
message. It usually means you haven't made the primary partition
bootable ...
The earliest true-blue PCs had a BASIC interpreter built in, just
like many other home computers those days. Even today, the Master
Boot Record (MBR) code on your hard disk jumps to the BASIC ROM if
it doesn't find any active partitions. Needless to say, there's no
such thing as a BASIC ROM in today's compatibles....
I had not seen a PC with built-in BASIC in some 16 years, yet here it
still was, vestigial trace of the interpreter, something still
remembering a time when the machine could be used to interpret and
execute my entries as lines in a BASIC program. The least and
smallest thing the machine could do in the absence of all else, its
one last imperative: No operating system! Look for BASIC! It was like
happening upon some primitive survival response, a low-level bit of
hard wiring, like the mysterious built-in knowledge that lets a blind
little mouseling, newborn and helpless, find its way to the teat.
This discovery of the trace of BASIC was somehow thrilling -- an
ancient pot shard found by mistake in the rubble of an excavation.
Now I returned to the FAQs, lost myself in digging, passed another
hour in a delirium of trivia. Hex loading addresses for devices.
Mysteries of the BIOS old and new. Motherboards certified by the
company that had written my BIOS and motherboards that were not. I
learned that my motherboard was an orphan. It was made by a Taiwanese
company no longer in business; its BIOS had been left to languish,
supported by no one. And one moment after midnight on Dec. 31, 1999,
it would reset my system clock to ... 1980? What? Why 1980 and not
zero? Then I remembered: 1980 was the year of the first IBM PC. 1980
was Year One in desktop time.
The computer was suddenly revealed as palimpsest. The machine that is
everywhere hailed as the very incarnation of the new had revealed
itself to be not so new after all, but a series of skins, layer on
layer, winding around the messy, evolving idea of the computing
machine. Under Windows was DOS; under DOS, BASIC; and under them both
the date of its origins recorded like a birth memory. Here was the
very opposite of the authoritative, all-knowing system with its
pretty screenful of icons. Here was the antidote to Microsoft's many
protections. The mere impulse toward Linux had led me into an act of
desktop archaeology. And down under all those piles of stuff, the
secret was written: We build our computers the way we build our
cities -- over time, without a plan, on top of ruins.
- - - - - - - - - - - -
N E X T__P A G E .|. [13]"My Computer" -- the infantilizing baby
names of the Windows world
- - - - - - - - - - - -
ILLUSTRATION BY SCOTT LAUMANN
________________________________________________________________
[14]SALON | [15]ARCHIVES | [16]SEARCH | [17]CONTACT US | [18]SERVICES
| [19]SHOP | [20]TABLE TALK
DAILY | [21]21ST | [22]BLUE GLOW | [23]BOOKS | [24]COLUMNISTS |
[25]COMICS | [26]ENTERTAINMENT
[27]FEATURE | [28]MOTHERS WHO THINK | [29]NEWSREAL | [30]TRAVEL
References
1.
http://www.salon1999.com/event.ng/Type=click&ProfileID=359&RunID=1263&AdID=863&GroupID=3&FamilyID=27&TagValues=514.626&Redirect=http:%2F%2Fwww.citibank.com%2Fus%2Fcards%2Fbanner%2Fplatinum%2Fplatcard.cgi%3Fpage%3D3%26adid%3D02%26sid%3DSAL
2. http://www.salon1999.com/21st/nav/1998/src/21st_nav.map
3.
LYNXIMGMAP:http://www.salon1999.com/21st/feature/1998/05/cov_12feature.html#21st_nav
4. http://www.salonmagazine.com/
5. http://tabletalk.salonmagazine.com/webx/webx.dll?13@@.ee820d4/8
6. http://www.salon1999.com/21st/feature/1998/05/08feature.html
7. http://www.salon1999.com/21st/rose/1998/05/08straight.html
8. http://www.salon1999.com/21st/feature/1998/05/08featureb.html
9. http://www.salon1999.com/21st/rose/1998/05/07straight.html
10. http://www.salon1999.com/21st/reviews/1998/05/07review.html
11. http://www.salon1999.com/archives/to/21_feature.html
12.
http://www.salon1999.com/event.ng/Type=click&ProfileID=358&RunID=1136&AdID=15&GroupID=6&FamilyID=7&TagValues=513.626&Redirect=http:%2F%2Fwww.salonmagazine.com%2Fent%2Fmovies%2F
13. http://www.salon1999.com/21st/feature/1998/05/cov_12feature2.html
14. http://www.salonmagazine.com/
15. http://www.salonmagazine.com/archives/
16. http://www.salonmagazine.com/search/
17. http://www.salonmagazine.com/contact/
18. http://www.salonmagazine.com/services/
19. http://www.salonmagazine.com/promo/hgg/
20. http://tabletalk.salon1999.com/webx
21. http://www.salonmagazine.com/21st/
22. http://www.salonmagazine.com/ent/glow/
23. http://www.salonmagazine.com/books/
24. http://www.salonmagazine.com/col/
25. http://www.salonmagazine.com/comics/
26. http://www.salonmagazine.com/ent/
27. http://www.salonmagazine.com/feature/
28. http://www.salonmagazine.com/mwt/
29. http://www.salonmagazine.com/news/
30. http://www.salonmagazine.com/wlust/
[1]Spring sale on colognes and perfumes at www.fragrancecounter.come
[INLINE] [2][ISMAP]-[3][USEMAP]
. [INLINE]
[4]
Salon
T A B L E__T A L K
Should companies be allowed to track their employees' Web surfing?
Weigh in on employee privacy vs. corporate rights in the Digital
Culture area of [5]Table Talk
- - - - - - - - - -
R E C E N T L Y
[6]Maximum confusion
By Janelle Brown
On the Web, a typo throws frat boys and feminists onto each other's
turf
(05/08/98)
[7]Let's Get This Straight
By Scott Rosenberg
Now that they're sundered from the magazine, whither Wired's Web
sites?
(05/08/98)
[8]Wired nests with Condé Nast
By Lori Leibovich
But will the magazine's new owners dull its edge?
(05/08/98)
[9]Let's Get This Straight
By Scott Rosenberg
Gates tells the world that what's good for Microsoft is good for the
country
(05/07/98)
[10]Folk rock of ages
By Geoff Edgers
Roger McGuinn's Web site is an experiment in
communal musical memory (05/07/98)
- - - - - - - - - -
BROWSE THE
[11]21ST FEATURE ARCHIVES
- - - - - - - - - -
[12]Aphrodite: A Memoir of the Senses by Isabel Allende
THE DUMBING-DOWN OF PROGRAMMING | PAGE 2 OF 2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
My Computer. This is the face offered to the world by the other
machines in the office. My Computer. I've always hated this icon --
its insulting, infantilizing tone. Even if you change the name, the
damage is done: It's how you've been encouraged to think of the
system. My Computer. My Documents. Baby names. My world, mine, mine,
mine. Network Neighborhood, just like Mister Rogers'.
On one side of me was the Linux machine, which I'd managed to get
booted from a floppy. It sat there at a login prompt, plain
characters on a black-and-white screen. On the other side was a
Windows NT system, colored little icons on a soothing green
background, a screenful of programming tools: Microsoft Visual C++,
Symantec Visual Cafe, Symantec Visual Page, Totally Hip WebPaint,
Sybase PowerBuilder, Microsoft Access, Microsoft Visual Basic --
tools for everything from ad hoc Web-page design to corporate
development to system engineering. NT is my development platform, the
place where I'm supposed to write serious code. But sitting between
my two machines -- baby-faced NT and no-nonsense Linux -- I couldn't
help thinking about all the layers I had just peeled off the Linux
box, and I began to wonder what the user-friendly NT system was
protecting me from.
Developers get the benefit of visual layout without the hassle of
having to remember HTML code.
-- Reviewers' guide to Microsoft J++
Templates, Wizards and JavaBeans Libraries Make Development Fast
-- Box for Symantec's Visual Cafe for Java
Simplify application and applet development with numerous wizards
-- Ad for Borland's JBuilder in the Programmer's Paradise catalog
Thanks to IntelliSense, the Table Wizard designs the structure of
your business and personal databases for you.
-- Box for Microsoft Access
Developers will benefit by being able to create DHTML components
without having to manually code, or even learn, the markup
language.
-- Review of J++ 6.0 in PC Week, March 16, 1998.
Has custom controls for all the major Internet protocols (Windows
Sockets, FTP, Telnet, Firewall, Socks 5.0, SMPT, POP, MIME, NNTP,
Rcommands, HTTP, etc.). And you know what? You really don't need
to understand any of them to include the functionality they offer
in your program.
-- Ad for Visual Internet Toolkit from the Distinct Corp. in the
Components Paradise catalog
My programming tools were full of wizards. Little dialog boxes
waiting for me to click "Next" and "Next" and "Finish." Click and
drag and shazzam! -- thousands of lines of working code. No need to
get into the "hassle" of remembering the language. No need to even
learn it. It is a powerful siren-song lure: You can make your program
do all these wonderful and complicated things, and you don't really
need to understand.
In six clicks of a wizard, the Microsoft C++ AppWizard steps me
through the creation of an application skeleton. The application will
have a multidocument interface, database support from SQL Server, OLE
compound document support as both server and container, docking
toolbars, a status line, printer and print-preview dialogs, 3-D
controls, messaging API and Windows sockets support; and, when my
clicks are complete, it will immediately compile, build and execute.
Up pops a parent and child window, already furnished with window
controls, default menus, icons and dialogs for printing, finding,
cutting and pasting, saving and so forth. The process takes three
minutes.
Of course, I could look at the code that the Wizard has generated. Of
course, I could read carefully through the 36 generated C++ class
definitions. Ideally, I would not only read the code but also
understand all the calls on the operating system and all the
references to the library of standard Windows objects called the
Microsoft Foundation Classes. Most of all, I would study them until I
knew in great detail the complexities of servers and containers, OLE
objects, interaction with relational databases, connections to a
remote data source and the intricacies of messaging -- all the
functionality AppWizard has just slurped into my program, none of it
trivial.
But everything in the environment urges me not to. What the tool
encourages me to do now is find the TODO comments in the generated
code, then do a little filling in -- constructors and
initializations. Then I am to start clicking and dragging controls
onto the generated windows -- all the prefabricated text boxes and
list boxes and combo boxes and whatnot. Then I will write a little
code that hangs off each control.
In this programming world, the writing of my code has moved away from
being the central task to become a set of appendages to the entire
Microsoft system structure. I'm a scrivener here, a filler-in of
forms, a setter of properties. Why study all that other stuff, since
it already works anyway? Since my deadline is pressing. Since the
marketplace is not interested in programs that do not work well in
the entire Microsoft structure, which AppWizard has so conveniently
prebuilt for me.
This not-knowing is a seduction. I feel myself drifting up, away from
the core of what I've known programming to be: text that talks to the
system and its other software, talk that depends on knowing the
system as deeply as possible. These icons and wizards, these prebuilt
components that look like little pictures, are obscuring the view
that what lies under all these cascading windows is only text talking
to machine, and underneath it all is something still looking for a
BASIC interpreter. But the view the wizards offer is pleasant and
easy. The temptation never to know what underlies that ease is
overwhelming. It is like the relaxing passivity of television, the
calming blankness when a theater goes dark: It is the sweet allure of
using.
My programming tools have become like My Computer. The same impulse
that went into the Windows 95 user interface -- the desire to
encapsulate complexity behind a simplified set of visual
representations, the desire to make me resist opening that capsule --
is now in the tools I use to write programs for the system. What
started out as the annoying, cloying face of a consumer-oriented
system for a naive user has somehow found its way into C++.
Dumbing-down is trickling down. Not content with infantilizing the
end user, the purveyors of point-and-click seem determined to
infantilize the programmer as well.
But what if you're an experienced engineer? What if you've already
learned the technology contained in the tool, and you're ready to
stop worrying about it? Maybe letting the wizard do the work isn't a
loss of knowledge but simply a form of storage: the tool as
convenient information repository.
(To be continued.)
SALON | May 12, 1998
- - - - - - - - - - - -
Go on to Part Two of [13]"The Dumbing Down of Programming," where
Ellen Ullman explores why wizards aren't merely a helpful convenience
-- and how, when programmers come to rely too much upon "easy" tools,
knowledge can disappear into code.
- - - - - - - - - - - -
[14]Ellen Ullman is a software engineer. She is the author of
[15]"Close to the Machine: Technophilia and its Discontents."
[16]A trusted source for today's information junkies. Click now for a
Britannica Online FREE TRIAL.
[17]Click here to get your guide!
________________________________________________________________
[18]SALON | [19]ARCHIVES | [20]SEARCH | [21]CONTACT US | [22]SERVICES
| [23]SHOP | [24]TABLE TALK
DAILY | [25]21ST | [26]BLUE GLOW | [27]BOOKS | [28]COLUMNISTS |
[29]COMICS | [30]ENTERTAINMENT
[31]FEATURE | [32]MOTHERS WHO THINK | [33]NEWSREAL | [34]TRAVEL
References
1.
http://www.salon1999.com/event.ng/Type=click&ProfileID=482&RunID=1287&AdID=877&GroupID=3&FamilyID=43&TagValues=626.646&Redirect=http:%2F%2Fwww.fragrancecounter.com
2. http://www.salon1999.com/21st/nav/1998/src/21st_nav.map
3.
LYNXIMGMAP:http://www.salon1999.com/21st/feature/1998/05/cov_12feature2.html#21st_nav
4. http://www.salonmagazine.com/
5. http://tabletalk.salonmagazine.com/webx/webx.dll?13@@.ee820d4/8
6. http://www.salon1999.com/21st/feature/1998/05/08feature.html
7. http://www.salon1999.com/21st/rose/1998/05/08straight.html
8. http://www.salon1999.com/21st/feature/1998/05/08featureb.html
9. http://www.salon1999.com/21st/rose/1998/05/07straight.html
10. http://www.salon1999.com/21st/reviews/1998/05/07review.html
11. http://www.salon1999.com/archives/to/21_feature.html
12.
http://www.salon1999.com/event.ng/Type=click&ProfileID=483&RunID=1197&AdID=844&GroupID=6&FamilyID=1&TagValues=626.647&Redirect=http:%2F%2Fwww.harpercollins.com%2Fscripts%2Fredir.plx%3F0060175907
13. http://www.salonmagazine.com/21st/feature/1998/05/13feature.html
14. mailto:address@hidden
15. http://www.salonmagazine.com/21st/feature/1997/10/cov_09ullman.html
16.
http://node48.salonmagazine.com/event.ng/type=click&profileID=461&runID=$runID&adID=903&redirect=http:%2F%2Fwww.eb.com:193/owa_bol/owa/adbanner?p_ad=tftextsalon
17.
http://www.salon1999.com/event.ng/Type=click&ProfileID=484&RunID=1022&AdID=426&GroupID=3&FamilyID=28&TagValues=626.648&Redirect=http:%2F%2Fpersonal.lycos.com%2F
18. http://www.salonmagazine.com/
19. http://www.salonmagazine.com/archives/
20. http://www.salonmagazine.com/search/
21. http://www.salonmagazine.com/contact/
22. http://www.salonmagazine.com/services/
23. http://www.salonmagazine.com/promo/hgg/
24. http://tabletalk.salon1999.com/webx
25. http://www.salonmagazine.com/21st/
26. http://www.salonmagazine.com/ent/glow/
27. http://www.salonmagazine.com/books/
28. http://www.salonmagazine.com/col/
29. http://www.salonmagazine.com/comics/
30. http://www.salonmagazine.com/ent/
31. http://www.salonmagazine.com/feature/
32. http://www.salonmagazine.com/mwt/
33. http://www.salonmagazine.com/news/
34. http://www.salonmagazine.com/wlust/
- lynx-dev lynx: off subject, bug VERY good,
David Combs <=