neff@helens.Stanford.EDU (Randall B. Neff) (09/30/88)
------ The Cynic's Guide to Software Engineering ------ ------ an invitation to dialogue, starting with the personal view of ------ ------ Randall Neff @ sierra.stanford.edu ------ ------ Sept 29, 1988 part 6 ------ ------------------------------------------------------------------------------ The Coming Revolt in CS Education and the CS Workplace The incredible rate of innovation and product development in the personal computer market has resulted in greatly improved user interfaces for most home computers. These interfaces are available on operating systems (Apple Mac and Microsoft Windows), application software (spreadsheets, databases, and desktop publishing), programming environments (Lightspeed languages and the Turbo languages), and hypertext tools (Apple Hypercard). These user interfaces and programs are better and more productive than the interfaces available on most undergraduate computer systems and most computer systems in the workplace. The provided workplace computers may have more raw cpu power and memory, but still be much harder to use. Aphorisms: If your hardware does not support a mouse, then it is obsolete. If your software does not support a mouse, then it, too, is obsolete. If your hardware does not support color graphics, windows, menus, then it is obsolete. If your software does not support color graphics, windows, menus, then it, too, is obsolete. Batch processing: making people wait in order to minimize computer cycles. Scenario 1: An undergraduate student comes to Stanford to learn Computer Science, paying $4,100 for the quarter. At home he has a typical personal computer (say a Mac with standard software). For his CS homework he gets to use a cheap glass teletype terminal connected to a DEC-20 running TOPS-20 using EMACS and batch compilers. For upper level courses he gets the same terminal connected to an overloaded VAX running UNIX using vi and batch compilers. Now, how can this student take Computer Science seriously when the provided hardware and software is so old-fashioned? Scenario 2: A new grad joins a large, multi-billion dollar corporation as a programmer. He gets a cheap glass teletype connected to a large mainframe running an old operating system (VMS or CMS) using an awful editor (EDT) and batch compilers. However, he is forced to do a lot of his work at home (documentation, overhead slides, budgets) using his personal computer since the provided hardware/software cannot perform those tasks. How can this new employee believe the claims that company is a "world leader in the research, development, manufacture, and delivery of..." or has "a worldwide reputation for blending technological foresight and advanced resources to..." or "reputation is that of a technology and industry leader". The absurdity of have a more useable, more likeable, more productive computer at home compared to the provided computers at school or at work will lead to dissatisfaction and frustration. The first solution will be using the personal computers to solve educational and work problems. However, there will still be the embarrassment and loss of confidence in the CS department and CS work management that they are providing archaic, obsolete hardware and software. The forthcoming revolt is this: my own computer at home is better than the computer at school or work.
rja@edison.GE.COM (rja) (09/30/88)
In response to neff@helens.Stanford.EDU (Randall B. Neff)'s comments on graphic interfaces, and micros vs. superminis/mainframes: The real trick is to scale the computer used to the job at hand. Using micro computers in CS courses where relatively small pieces of code are being written is often more appropriate than using superminis/mainframes. On the other hand as the programs get larger, the superminis make much more sense than micros -- especially if a large 'make' is what happens. The tools provided with most dialects of UNIX ( troff, pic, tbl, etc.) can produce graphics more than adequate for anything I've needed to do and the source files are portable to any troff, pic, etc. not just the same brand of pc or Macintosh. Graphical interfaces aren't everything. I find that mice are annoying because they make me take my hands off of the 'home row' of the keyboard. That is why I use WordPerfect at home not MS Word. A good command line interface or shell ( ksh leaps to mind ) makes me much more productive and happy than mice and windows ever will. I'd much rather have a 17" monocrome display with 35-50 lines of text than a smaller one that does graphics and colour. Disclaimer: My first computer was a PDP-11, the terminal was a DECwriter, and the editor was TECO as I recall. ______________________________________________________________________________ rja@edison.GE.COM or ...uunet!virginia!edison!rja via Internet (preferable) via uucp (if you must) ______________________________________________________________________________
cjl@ecsvax.uncecs.edu (Charles Lord) (09/30/88)
I think the contention that "better at home than at work/school" will spring a revolt of sorts has already been proven. As Apple joyously espouses in their Mac ads, many workplace computers have been supplanted by home computers. And as an example of the school situation, my alma mater (N.C.State) has more and more professors designing course assignments so that they may be done on personal computers rather than archaic and/or overburdened department computers. Two avenues that have opened this are extensive PD/shareware archive and distribution networks on campus and innovative and liberal educational discounts or site licenses for commercial software. Computer rooms full of PCs and Macs make the technology accessable to those without their own computers. -- * Charles Lord ..!decvax!mcnc!ecsvax!cjl Usenet (old) * * Cary, NC cjl@ecsvax.UUCP Usenet (new) * * #include <std.disclamers> cjl@ecsvax.BITNET Bitnet * * #include <cutsey.quote> cjl@ecsvax.uncecs.edu Internet *
sommar@enea.se (Erland Sommarskog) (10/02/88)
One thing is for sure: A PC, Macintosh or an Amiga can *look* much more impressive than the old traditional monochrome screen connected to VAX or similar. But you use them for different purposes, and if we are talking software engineering, these boring glass screens win. Admittedly I have very little experience of PC software and none of Mac or Amiga. No doubt you have better and nicer *application* software available on these machines like tools for doing slides and documentation. And since documentaion is a an important thing, this means these machines can be of good help for that part of the work. And, at the place I currently located, they have both VAXes and Macintoshes. But for program development? Can these small machines give the same support for large-scale projects? I saw a demonstration of the debugger for Turbo-Pascal, and I wasn't too impressed. Nice graphics, but it didn't seem to do better than the VMS debugger. Source-code control? Make? I think that the conclusion that the computer at home does better than the one at work is little of a short-cut. You are looking too much at the surface. For mangagers and other people who mainly use application programs, the PC is a winner, but for a software engineer? A final comparison. For a while we had fun with the PC game "Leisure Larry in the Land of Lounge Lizards". Nice graphics, true, but the game as such became uninteresting since once you solved it, there were no variations. On the other hand, I still like from time to time playing nethack on this Unix machine. Simple ASCII for graphics, not fancy at all, but the game as such has much more to offer than Larry. -- Erland Sommarskog ENEA Data, Stockholm sommar@enea.UUCP
lishka@uwslh.UUCP (Fish-Guts) (10/03/88)
[Excuse my writing, as it may be a bit incoherent. I managed to get less than an hours sleep last night, and am feeling a bit fatigued. Aren't college computer science classes fun? ;-) ] In article <3969@enea.se> sommar@enea.se (Erland Sommarskog) writes: > >One thing is for sure: A PC, Macintosh or an Amiga can *look* much >more impressive than the old traditional monochrome screen connected >to VAX or similar. But you use them for different purposes, and if >we are talking software engineering, these boring glass screens win. You should look again, a little more closely. Personal computers have matured a great deal since the dawn of the PET and Apple II. >But for program development? Can these small machines give the >same support for large-scale projects? I saw a demonstration of >the debugger for Turbo-Pascal, and I wasn't too impressed. Nice >graphics, but it didn't seem to do better than the VMS debugger. >Source-code control? Make? Yup, program development tools are becoming as good or better than many UNIX tools. Take the Amiga, for instance (it is the one I am most familiar with): it has several versions of emacs, vi, diff, grep, compress, make, shells (both cshell workalikes and others) with input-line-editting, etc. There are source-level debuggers available (apparently with the power of dbx), two nice C compilers (one which mimics much of the functionality of UNIX cc), modula compilers, lint, etc. There are "batch files" (the near-equivalent to shell-scripts), file protection bits, file dates, task spawning commands, etc. As you can see, personal computers are coming of age. The development environments are becoming robust, and with the added advantage of a good windowing interface, personal computers are beginning to rival the old glass-tty/Vax/Unix/Gnu-Emacs/ksh standard (at least in *my* book! ;-). The only thing I really miss is memory protection, but hey, OS/2 is supposed to provide that (and everything else, including the kitchen sink). In short, personal computers are becoming small workstations in their own right. >I think that the conclusion that the computer at home does better >than the one at work is little of a short-cut. You are looking too >much at the surface. For mangagers and other people who mainly >use application programs, the PC is a winner, but for a software >engineer? Depends on the comparisons. The original poster complained (and rightly so) about outdated micros or mainframes and work vs. the latest, greatest personal computers which people are buying and finding more functional. Now, if schools and companies kept up with the times (and some of them do), students and programmers would have access to the latest and greatest larger computers, and then maybe they wouldn't want to program at home so much. As a side note, here at the University of Wisconsin-Madison the Computer Science Departments hardware has changed drastically in the last few years. I used to program on overloaded PDP-11's and VAX 750's; now we use IBM RT's (which are a bit slooow), Macintoshes, HP 9000's, Microvaxes, IBM PC's etc. Our department seems to have tackled the old equipment situation and has greatly improved the hardware. The software isn't too shabby either (typically UNIX, sometimes running X-Windows). >A final comparison. For a while we had fun with the PC game "Leisure >Larry in the Land of Lounge Lizards". Nice graphics, true, but the >game as such became uninteresting since once you solved it, there >were no variations. On the other hand, I still like from time to >time playing nethack on this Unix machine. Simple ASCII for graphics, >not fancy at all, but the game as such has much more to offer than >Larry. Welllll, I used to play rogue a lot on the VAX/UNIX system here at work until I got a shareware version of Larn for my Amiga. Let's see, VAX-rogue has black-and-white character graphics, a 9600 baud transfer rate, can only be used with a keyboard, and is subject to variations in "the Load Average (!)", whereas Amiga-Larn has eight-color beasties, much faster transfer, uses the mouse, and the only person on the machine is 'lil ol' me! No contest.... >Erland Sommarskog .oO Chris Oo. -- Christopher Lishka ...!{rutgers|ucbvax|...}!uwvax!uwslh!lishka Wisconsin State Lab of Hygiene lishka%uwslh.uucp@cs.wisc.edu Immunology Section (608)262-1617 lishka@uwslh.uucp ---- "...Just because someone is shy and gets straight A's does not mean they won't put wads of gum in your arm pits." - Lynda Barry, "Ernie Pook's Commeek: Gum of Mystery"
wex@banzai-inst.SW.MCC.COM (Alan Wexelblat) (10/04/88)
In article <5479@ecsvax.uncecs.edu>, cjl@ecsvax.uncecs.edu (Charles Lord) writes: > ... my alma mater (N.C.State) has more and more professors > designing course assignments so that they may be done on personal > computers rather than archaic and/or overburdened department computers. > Two avenues that have opened this are extensive PD/shareware archive > and distribution networks on campus and innovative and liberal > educational discounts or site licenses for commercial software. The down side of this is professors making assignments _on the assumption_ that the student has her own Mac available. This is especially problematic in areas such as mechanical drawing/drafting-type classes where the student is not only expected to have the computer but is also expected to have several $300-$500 pieces of software. Sure, the department has _a_ Mac with the requisite software, but when there are 20 or more people in the class (times however many classes make assignments that require Macs) and the department's Mac isn't always up (or available after 5PM - this is not the CS department we're talking about here), the situation can get ugly. Sometimes professors have gone so far as to require that assignments be turned in on disk so that they can look at the assignments on their own Macs (which the department bought them, natch). This screws all the students who happen to have a different machine or even different software (if the professor's version is 3.0 and you bought the latest and greatest 3.2 and 3.0 can't read your file formats, you're scrod). Mind you, I'm not blaming this on Apple - I like the Mac, and I have one at home (but guess why we were forced to buy it instead of waiting for the Mac II to drop in price). But this problem seems to be prevalent at schools which don't require students to buy computers as part of the entry fee, but do participate in Apple's University Consortium. -- --Alan Wexelblat ARPA: WEX@MCC.COM UUCP: {rutgers, uunet, &c}!cs.utexas.edu!milano!wex Wexelblat's second theorem of humanity: "Size is inversely proportional to internal energy."
albaugh@dms.UUCP (Mike Albaugh) (10/04/88)
> The incredible rate of innovation and product development in the personal > computer market has resulted in greatly improved user interfaces for ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > most home computers. These interfaces are available on operating It apears that, to this writer, GIUI == mouse & windows & menues. To me, it means apropriate to the job at hand, without being hideously clumsy when I stray off the beaten path. > Aphorisms: > If your hardware does not support a mouse, then it is obsolete. Even if it supports a data-glove? > If your software does not support a mouse, then it, too, is obsolete. Even if it's a compiler-generator? > If your hardware does not support color graphics, windows, menus, then it > is obsolete. My main use of a MAC is PageMaker, and I would HATE to try to use it on a color screen. 6pt text (12 pt "fit in window") on a < $6000 color monitor sucks. > If your software does not support color graphics, windows, menus, then it, > too, is obsolete. The MAC programs I have seen which support color graphics do so in quite a rudimentary fashion, leading to rude shocks later. > Batch processing: making people wait in order to minimize computer cycles. Personal computers: Making a user wait while his whole file is formatted and printed before we can read his mail, or buy a very expensive and buggy print spooler that will break next time Apple/Microsoft sneezes I bought a MAC (SE with Radius Full Page display and Accelerator16) because my wife is doing contract work which requires it. In making room in the office at home, I had to get rid of the old CIT-101 terminal and use a terminal emulator on the MAC. I cannot understand how anyone considers such a thing to be equivalent to (let alone better than) a real terminal unless he has never used one or the other. Crude one-bit-deep characters slowly scrolling by, cheesy feeling keyboard, etc. I know keyboards are very subjective, but 6x8x1 vs 10x14x2 characters should be obvious to all. Also, all the MAC software I have been exposed to has what I call the brick-wall effect. By this I mean that the "learning curve" starts really shallow to lead you down the path, then as soon as you need to do something just a little out of the way (e.g. add a word which is a proper name but also an English word to the hyphenation dictionary) it's Hello customer service. (you _did_ buy the extended warranty didn't you?) Yes, I would like a "easy to use" machine that also was easy to program and customize and relatively bug free. From my experience the MAC (let's not even discuss IBM PCs) is not it. If I have to make a choice of "mice & windows" vs "programable & reliable", I'll take the latter. If the hypothetical student would _understanding the tradeoff_ choose the latter, we should all pray he/she doesn't end up programming for SDI or MasterCard > > The absurdity of have a more useable, more likeable, more productive ??? maybe for some things > computer at home compared to the provided computers at school or at work will > lead to dissatisfaction and frustration. The first solution will be using ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The same frustration I'm supposed to feel when I can't put 8 people in the cab of my pickup or haul construction debris in my station wagon? Perhaps computer science _is_ irrelevant to "the real world". Certainly a cursory examination of "Inside Macintosh" or the MSDOS reference manuals shows that the developers of both systems considered all sorts of research into robust systems, extensibility, error recovery, etc. to be "irrelevant" to their "advanced" systems. Disclaimer: My first computer was an IBM 1440. Caveat: The 1440 was _not_ the last, best, worst, cheapest, most expensive, or anything else, just the first. Summary: Some people use computers for more than fancy party announcements. 2nd disclaimer: Maybe I'm just in a bad mood today. Maybe it has to do with having to meet a deadline using a MAC. Maybe not. | Mike Albaugh (albaugh@dms.UUCP || {decwrl!turtlevax!}weitek!dms!albaugh) | Atari Games Corp (Arcade Games, no relation to the makers of the ST) | 675 Sycamore Dr. Milpitas, CA 95035 voice: (408)434-1709 | The opinions expressed are my own (Boy, are they ever)
billwolf@hubcap.clemson.edu (William Thomas Wolfe,2847,) (10/05/88)
From article <3969@enea.se>, by sommar@enea.se (Erland Sommarskog): > > One thing is for sure: A PC, Macintosh or an Amiga can *look* much > more impressive than the old traditional monochrome screen connected > to VAX or similar. But you use them for different purposes, and if > we are talking software engineering, these boring glass screens win. True; but why not do both? A Mac II with both MacOS and Unix, with Ada and an appropriate APSE, would be an *excellent* workstation. Having about a year of experience with Mac Plusses and Mac SEs, I am now VERY reluctant to use an IBM PC or similar monstrosity; those mice and windows are almost as addictive as programming!! Disclaimer: I'm assuming the standard, no-mouse IBM PCs... Bill Wolfe wtwolfe@hubcap.clemson.edu
cjl@ecsvax.uncecs.edu (Charles Lord) (10/06/88)
In article <1301@banzai-inst.SW.MCC.COM>, wex@banzai-inst.SW.MCC.COM (Alan Wexelblat) writes: > Sure, the department has _a_ Mac with the requisite software, but when there > are 20 or more people in the class (times however many classes make > assignments that require Macs) and the department's Mac isn't always up (or > available after 5PM - this is not the CS department we're talking about > here), the situation can get ugly. The department does not have _one_ Mac, nor _one_ IBM-PC. The school I described has multiple labs with multiple computers in each lab. The assignments require software that is provided either free or at HEAVY discounts ($45 QuickC, PC-SAS at OUTRAGEOUS discounts, etc), many times using PD/Shareware programs such as PD-Lisp for an AI course. The secret is that these courses BALANCE this with VAX labs where a comparable UNIX-based program is available for those who don't wish to persue PC-based solutions. Instead of a prof sitting on his lazy duff grading on his Apple-provided Mac as you go on to insinuate, the profs in this case are willing to put in the extra effort to allow assignments to be done by *multiple* avenues. After all, most assign- ments are graded by grad student TAs, right? Don't jump to conclusions that PC-based assignments are based upon ulterior motives of PC makers. There *are* bad apples in academia as well as industry, but a lot of people are really trying to TEACH students about the real world. And, alas, the college students of today are much more sophisticated about computers than we were. (PC in 1973 meant "printed circuit"!) -- * Charles Lord ..!decvax!mcnc!ecsvax!cjl Usenet (old) * * Cary, NC cjl@ecsvax.UUCP Usenet (new) * * #include <std.disclamers> cjl@ecsvax.BITNET Bitnet * * #include <cutsey.quote> cjl@ecsvax.uncecs.edu Internet *
warren@psu-cs.UUCP (Warren Harrison) (10/06/88)
As they say, you should use the tool that is appropriate for the job. For a little (<10K lines) program, I don't think you can beat the environment something like Turbo C on a PC gives you with any mini or mainframe I've ever worked with. For larger systems of programs? Not a chance. In fact many of the biggest names in PC software actually do their development on a workstation or a mini, and then generate code for the target once its running. A good rule of thumb I've observed is that anytime a project can be done by one or (maybe) two people, a PC is probably your best choice. Since most programs written by students are under the 10K limit why not use PCs? Well, it's good to get used to working in an environment which supports large software development (but still no reason to inflict vi on people), even if you don't need it right now. Hope my two cents worth have further (in)flammed the discussion. It is an important issue, and I don't believe that in order to develop large code systems I have to work with development tools that suck eggs just to get the ability to manage and integrate the work of a dozen programmers. -- ------------------------------------------------------------------------------- Warren Harrison CSNET: warren@pdx.edu Department of Computer Science UUCP: {ucbvax,decvax}!tektronix!psu-cs!warren Portland State University Internet: warren%pdx.edu@relay.cs.net Portland, OR 97207-0751
wex@banzai-inst.SW.MCC.COM (Alan Wexelblat) (10/06/88)
In article <5519@ecsvax.uncecs.edu>, cjl@ecsvax.uncecs.edu (Charles Lord)
totally misses the point of my posting.
Since I was rather long-winded, let's see if I can summarize it:
In response to the contention that the proliferation of PCs/Macs would
give students more power, I pointed out that professors often make
assignments *assuming* that the student has such power available. I
pointed out that this is frequently a problem in non-CS departments.
I did not impute nefarious motives to anyone, merely ignorant
assumptions to a certain type of professor.
Charles' comments that some professors/schools/departments aren't nefarious
and some places offer huge discounts to students therefore misses my point.
I hope this clarifies things somewhat.
--
--Alan Wexelblat ARPA: WEX@MCC.COM
UUCP: {rutgers, uunet, &c}!cs.utexas.edu!milano!wex
"The God I believe in is not short of cash."
cjl@ecsvax.uncecs.edu (Charles Lord) (10/07/88)
In article <1322@banzai-inst.SW.MCC.COM>, wex@banzai-inst.SW.MCC.COM (Alan Wexelblat) writes: > In article <5519@ecsvax.uncecs.edu>, cjl@ecsvax.uncecs.edu (Charles Lord) > totally misses the point of my posting. No, Alan, you also missed MY point that this problem is NOT a frequent happening in the school mentioned. Software discounts and nefarious- ness aside, there are profs around who ALLOW students to use PC power while NOT forcing them to seek PC access when they don't already have it. This is called Intro to Real World 101- for the Prof, not for the student... Budgets and Grad-level research (spelled M-o-n-e-y) get the big bang boxes and the undergrads tend to get what's left in many cases. PCs are just an alternative, not something forced on students. I will concede that CAD courses may indeed be built around MACs or some other proprietary hardware and may thus severely limit student access. Gee, that sounds like the typical work environment... -- * Charles Lord ..!decvax!mcnc!ecsvax!cjl Usenet (old) * * Cary, NC cjl@ecsvax.UUCP Usenet (new) * * #include <std.disclamers> cjl@ecsvax.BITNET Bitnet * * #include <cutsey.quote> cjl@ecsvax.uncecs.edu Internet *
psrc@poseidon.ATT.COM (Paul S. R. Chisholm) (10/18/88)
In article <3969@enea.se>, sommar@enea.se (Erland Sommarskog) writes: > But for program development? Can these small machines give the > same support for large-scale projects? I saw a demonstration of > the debugger for Turbo-Pascal, and I wasn't too impressed. Nice > graphics, but it didn't seem to do better than the VMS debugger. I don't know which TP debugger you saw, but several companies make *good* ones. Borland's new Turbo Debugger (*not* the new integrated debugger in TP 5.0 and TC 2.0) offers a multiple views of the software: variables and expressions, code shown as C or assembler, registers (CPU and math coprocessor), stack, breakpoints, program output, and a log that breakpoints and such can write to. You can break at a given line or instruction, or when a certain expression comes true, or a certain variable gets modified. There are actually *three* debuggers: one for vanilla 8088's and such, one for 80386-based systems, and one for remote debugging of software running on a second system. (There's also a programmable interface for hardware debugging boards like Atron's and Periscope's.) > Source-code control? Make? Yes. Yes. And lint, and C++, and ksh, and awk, and vi, and emacs, and nroff/troff, and TeX, and some Scribe variants. But wait, there's more! Many (most?) of the new computer assisted software engineering (CASE) tools are being written for desktop systems (Macintoshes and high-end MS-DOS boxes). Even the mainframe COBOL programmers are finding lots of tools for their eventual platform running on PCs. What's going on here? Companies that write software tools like writing them for desktop systems, for three reasons. 1) There are a *lot* of these boxes out there. Literally millions, even if you make a 286 or a 68000 your minimal requirement. So there's a large customer base. 2) These boxes are *cheap*. Yes, a dumb terminal only costs $400. But a 286 or 68000 system can be picked up for $2000-$3000. (And the manager who buys such systems for his or her staff can buy word processing software for a few hundred dollars more, making the PCs even more cost effective.) So there's a large *potential* customer base. 3) The desktop platforms are reasonably standardized. Text-only applications are easier to write for MS-DOS than curses, and lots faster. Graphics applications for the Mac (screen and printer) are a breeze. (Granted, the initial learning curve looks like a cliff.) Graphics applications in the CGA/HGA/EGA/VGA world of MS-DOS are tougher; third party libraries help ease the pain considerably. I can write a graphics application for NeWS, and X, and Apollo; but the graphics parts aren't going to share a lot of code. (And I've got binary compatibility of executables, not just source code compatibility. And a standard medium and format for distributing code and data.) It's a lot easier to write a software tool for a big box than to squeeze it into a little one. But it's a lot more *profitable* to shoehorn such tools on to the desktop. That's what a lot of companies have done; and that's why PC programmers can get spoiled. >Erland Sommarskog, ENEA Data, Stockholm, sommar@enea.UUCP Paul S. R. Chisholm, psrc@poseidon.att.com (formerly psc@lznv.att.com) AT&T Bell Laboratories, att!poseidon!psrc, AT&T Mail !psrchisholm I'm not speaking for the company, I'm just speaking my mind.