allegro-cl archives 1997-6-9 | home index prev H thread-prev K thread-next J next L |
From: Erik Naggum Subject: Re: Franz ACL 4.3.2 for Windows compared to ACL 3.0.1 Date: 1997-6-9 10:08 Jim, I'm cautiously excited about ACL 5.0, a definite case of mixed feelings. on the positive side: I was seriously disappointed with ACL for Windows -- it was no better than a randomly chosen Windows application (i.e., it crashed very often), and it was a lame implementation of Common Lisp. so I'm correspondingly positively excited that you're now offering an Allegro Common Lisp for NT that deserves your trade name. however, I'm not at all thrilled with User Interfaces according to Bill Gates. I found it much harder to learn to use NT _efficiently_ than to learn to use GNU Emacs efficiently. (learning to use NT inefficiently is of course effortless -- it's main selling point.) after about a month of working on an NT machine with that 3.0.2 thingy under WinEmacs, I was still five times more productive with ACL 4.3 under Emacs on my own machine. | 2. We are working hard to get the PC GUI (Common Graphics and the | Interface Builder) ported and to run well on it. This is a very major | task and will take us a while yet. CLIM runs on it, but our major effort | is going to port the PC GUI. the main advantage of programming in Common Lisp for me is that I work so much faster in the Emacs/ACL environment (with the HyperSpec) than in any other programming environment I have tried. (compared to CMUCL, I get about 25% more work done.) if Allegro Common Lisp should become one of those grossly unproductive tools that Bill Gates has hoisted on the world, I have to drop Allegro and go for something less intrusive, such as returning to CMUCL, which is coming out in its 18th release. if I have to drop Allegro because of the cost of its inefficient new user interface, it's hard for me make long-term plans that involve continued development with Allegro CL. in plain language: I need some serious reassurances that I am not forced to suffer the kind of user interface paradigms into which Microsoft has ensnared the whole world. now, I type between 80 and 100 words per minute and I think almost exclusively verbally, to the point where I don't even remember what images and icons mean. the movement of the mouse and clicks down a menu take so much time and detract so much from my concentration that I lose 20 to 25 words of effective typing before I regain speed. filling in forms under Windows easily takes ten times longer than writing into the listener. I don't remember pathways through menus, either, so I frequently have to scan through menus to find them. however, I _do_ remember literally thousands of keybindings in Emacs, and my active vocabulary is reportedly well above 200 000 words (Norwegian, English, Latin), yet menu navigation incurs "cognitive load" while typing and reading don't. for me, a menu-based user interface is suitable only when (1) I don't know what I'm doing, and (2) I don't intend to learn what I'm doing very well, either. this is how I deal with automated telling machines in the transit halls of relay airports in countries where I have no intention of staying. I don't want to be reduced to this kind of illiteracy when writing complex software. I want my brain to be free to think about the solution to the problems I'm trying to solve, _not_ to worry about menus, mouse clicks, window management nonsense, etc, etc. IMSNHO, the User Interface According to Bill Gates is the world's most intrusive user interface, bar none. I'm deeply sorry to see how it wastes the time of perfectly good employees and the money of employers. | 3. We are working hard to add some Windows specific components such as | OLE capability. this is very welcome, of course. | 4. We are redoing the GUI somewhat to be more like, for example, the | Visual Basic interface (note we aren't giving up on the advantages of | Lisp, though!). That way we believe we will be able to attract new users | into the Lisp world more easily. all fine and dandy for those new users, but please do not to make this the only way to work with ACL 5.0, or you will scare off _many_ old users. I don't want to work with Bill Gates' idea of an operating system or of user interaction if I can at all help it. (although it applies more to an international airline, NT is "Such A Bad Experience, Never Again"). I started programming (for real) on a DECSYSTEM-10 in 1982. incredulously, I find that I was able to complete a programming task on a keypunch and a 300 baud terminal much faster than today's expert programmers get the same task done under Windows with Microsoft Developer Studio and Visual C++. (I know, 'cuz I spent two weeks writing a table-driven, adaptive data entry program in MACRO-10 assembly in 1982. I rewrote it in C for Unix in 1989, which took me another couple weeks, but last year, a programmer at a company that sells programming services for Windows at an insanely high hourly rate, spent _five_ weeks reimplementing it for Windows 95, and he says he'll need two more weeks to port it to Windows NT. now, the real downer is that users spend nine times more time entering data into the user-friendly Windows application than they did with either of my versions, partly because this grossly overpaid Windows programmer never got the adaptive part to work right.) now, I'm not unique in not wanting to suffer Windows. several programmers I know have dropped to at most half, usually less than one third, their Unix productivity even after learning Windows well. Windows is the only environment I know where my brain is more occupied with how to do the job than doing the job: the constant manual labor involved in moving the mouse, forcing the precise positioning that only a mouse requires, and the total lack of programmability at the level it is _needed_ drives me up the wall. it could be that there is some sort of "generation gap" involved here where "my generation" both think and work differently from the "new generation" and that the Lisp community can't attract people to the efficient ways without giving the new generation their familiar and inefficient ways first and let them learn of the possible improvements. (I'll note in passing that the Lisp Machines had a graphical user interface from the start, and their users were reportedly very efficient on them, but it took a lot of training to get there. today's user interfaces are only good at letting employers pick employees randomly off the street and making them useful without training (because they don't get appreciably better with training). I don't think it makes sense to flirt with serious programmers on these premises. I don't think programmers will choose Lisp for the anything near the reason they choose Visual Basic or Visual C++, either. I think Lisp is chosen by programmers who have made an informed decision about their tools, not programmers who take whatever is hyped in some trade rag or handed to them by some ignorant manager who is more concerned with the cost of replacing his employees than with the quality of their work.) | ACL 4.3.2 + the PC GUI (redone as in 4.) is the basis for our next major | release (ACL 5.0) and will replace both ACL Win 3.0 and ACL 4.3. I'd like to buy the "PC GUI" seperately, just as I may buy Allegro Composer separately for the Unix version. it is of _vital_ importance to me that the "PC GUI" remains an unexercised option and that I can continue to use ACL 5.0 under Emacs, without menus, as I use it now. (there is still a strong need to make the Emacs Lisp interface better.) however, there are clearly tasks for which a graphic user interface would be beneficial. the inspector is my favorite example. the profiler could also do with a zooming function. I'm convinced that graphic user interfaces are only useful when the user is not in any way providing input into a program, only selecting from some of its output, or doing very simple tasks, like operating a fax machine or an ATM or a CD-ROM player. | On the other hand, if you have a use for a high performance Windows NT | Lisp with Multi-threading and with CLIM only GUI (or a direct interface | into the WinAPI), then ACL 4.3.2 for NT is just right for you and we will | talk about making available to you (contact <franz.com). at sales> Examples | include people who might want to build a Webserver or who have an | existing UNIX/CLIM implementation. But we haven't been actively | promoting because we have been pushing so hard towards the next major | release (ACL 5.0). _this_ is the good news, Jim. I just turned down a client because he said I had to use NT and my sales rep with you had told me the NT version was too far into the future for me to base any short-term decisions on it. my past experience with Allegro for Windows was so bad that I'm not going to use it again. of course, when I had found how I could use the Unix version efficiently, and the Windows version offered nothing of the sort, but _did_ "offer" to do things in its own peculiar ways instead of the standard ways, it was more than just disappointment. downgrading to the NT cost me four weeks and 2800 lines of extra or rewritten code. #\Erik |