Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!decwrl!decvax!tektronix!reed!kamath From: kamath@reed.UUCP (Sean Kamath) Newsgroups: comp.sys.apple Subject: Re: "hackers" vs "users" Message-ID: <9583@reed.UUCP> Date: 17 Jun 88 01:17:40 GMT References: <8806111436.AA20848@crash.cts.com> Reply-To: kamath@reed.UUCP (Sean Kamath) Organization: Reed College, Portland OR Lines: 135 In article <8806111436.AA20848@crash.cts.com> pnet01!pro-sol!pro-exchange!rich@nosc.mil writes: > >There have been a couple of messages recently, bemoaning the fact that the >"interface" makes the computer too easy to "use" and to hard to "hack" on. >One even went so far as to complain about having to use a compiler or a >programming environment to do any serious programming. You can *always* find a way to program in straight machine code! Even if you have to write a program to translate the machine code into compilable code! :-) >I don't understand, but then, maybe I'm missing something. You might very well be. Are you a "hacker" or a "user"? If you are either one, then you are missing something -- the other side of the picture. >Sure, the tools we use to create programs have become much larger, more >complex, and more sophisticated. But then, so have the programs that are >created with them. Try, but so has the complexity of the code, the time involved, and to some extent, the joy of coding has decreases from something you do because it's fun, to something you do because you're paid. I *like* to prgram my //e, but I get paid to write for a company. Not that writing code for this a company can't be fun, and many people enjoy it, as I do, but I wouldn't do it unless I got paid. >Why is there something wrong with freeing the users from the details of >operating the computer, and allowing them to spend their time concentrating on >the task at hand (which is *using* the program for it's designed output, not >as an exercise in "look what I can do with just 53 commands in 123star")? Nothing. But that's not what most programs *do*. You have no choice, you *must* operate the computer. As you become more and more "proficient", you desire to have more and more control of the computer. *that's* when you run into the wall. Just because some programmer somewhere (or more likely, *management team*) decided that the program has everything you'll ever need to do the job, doesn't mean it *does*. Talk to a big company. I mean a really big one. What do you think they do? They find out what their customers are asking for in their packages. What many companies have realized is that they can extend product life by making it more flexible than macwrite. (Just an example. But ask offices that do a lot of work: Do they use MacWrite, or MS Word? Hmmm? And which has more configurability?) >The same applies to the development of the program. Why shouldn't the person >developing the program be able to spend their time on making the program run >the way they want it to, rather than on keeping track of all the myriad little >details that are necessary, but don't add anything to the program's design or >functionality? What really happens is that the programmer no longer spends his time on the myriad little things, *nor on the task at hand*, but rather at the 652 page book on guidelines to the user interface. Now I ask you, go write a program, with a mac interface, on the GS, that input's a name. Now do it without the guidelines. . . You end up with a series of calls to the toolkit on the GS, and *one* call to getln in the monitor. Now, I'm not saying that getln is better, but it's a hell of a lot easier for me, the programmer, do deal with if all I want is a quick way to get a filename. (good example, that's just exactly what I do right now in Apencode.) >If you want to "hack", there's always the mini-assembler, and even on the Mac >you can get right down to the lowest level and punch in hex code to your >heart's content, then jump to it's beginning. Of course, the rest of the >world is going to be finished their work and out playing golf (or whatever it >is that they do for recreation) while you're still trying to remember how far >back it was that you wanted to branch!! Yeah, but try and fix a bug in 200,000 line of pascal. *Without* the source. Let's not get confused about what hacking is. Yes, part of it is *really low level* stuff, but that's not all it is. Hacking is basically this (in a nutshell): Getting something done, something usefull, in a very short period of time, that *works*. I can write you a "word processor" in BASIC on a ][ in less than an hour. It won't be very powerfull, but can you do the same on a Mac? Without buying a compiler? >The complaint about the requirements for more memory and larger storage >devices is just as silly. Want to run off of a 100k floppy disk? Fine! The >Radio Shack Model 100 used them, and I still have one of those, with it's >drive. But (for example) the 4th Dimension database on my Macintosh needs >750k of storage for the *application*.... never mind the data files. I think >I'll just keep that on the hard disk, thank you! Wait one minute there dude! *I* never said *STORAGE* should be dinky! NOT ME WHO WANTS TO BUY A 60 MEG SCSI DRIVE! >Of course, if one of you dedicated, hard-core, "hackers" will use all that >skill to create a program that will do all the things I've come to expect from >today's software, and will make it run effectively in 48k, I'll cheerfully >bring my old Apple ][+ out of retirement and plug the cassette recorder back >into it. Ok, yeah, but have you ever looked at the code for those programs? Jeeze, no wonder microsoft has such a horrible record when it comes to product introductions on time! Memory is cheap, yes, but that is no excuse for writing *ineffecient* *slow* code! Do you really think that 4th Dim. *REALLY* needs it's 750K of program space? As I look at programs today, I see about a two-fold increase in power (really!) with about 5-10 fold increase in program size. >As for those of you irresponsible folks who are continuing to design all the >new hardware with the added capabilities, and you evil guys who are writing >all that terrible software that takes advantage of it.... well, all I can say >is "Keep it up!! I love it!!" (And I'll buy those extra memory chips when I >need them!!) Fine. go right ahead. But I'm going to wait for something better. Something that does what you say: Better hardware with software that takes advantage of it. It's like the GS. Sure, it's got more power than the //e, but does the software take advantage of it? I guess you could say it does just that, just as a loan shark takes advantage of a complusive gambler, because the *SHARK* wins, not the gambler, not society. Do *you* win when it takes hours for P16 to load? Do you win when your GS takes five hours to redraw the screen? No. The software (well, some does, but not a lot) doesn't really show off the hardware, it exposes it. That's not what good software is supposed to do! >(By the way... I used the word "hacker" in it's apparent context from the >content of the earlier messages. I always thought it described someone who >was trying to push the machine to (or even past) it's limits, not just those >who were only interested in doing things by the hardest possible method!!) See above. Yes, it is pushing the machine to it's limits. Even if it means doing something just for the sake of showing it can be done. 80 columns in software *alone* was a wonderful example. >UUCP: [ ihnp4 cbosgd sdcsvax nosc ] !crash!pro-exchange!rich Sean Kamath -- UUCP: {decvax allegra ucbcad ucbvax hplabs ihnp4}!tektronix!reed!kamath CSNET: reed!kamath@Tektronix.CSNET || BITNET: reed!kamath@PSUVAX1.BITNET ARPA: reed!kamath@PSUVAX1.CS.PSU.EDU US Snail: 3934 SE Boise, Portland, OR 97202-3126 (I hate 4 line .sigs!)