Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!noao!arizona!arizona.edu!ece.arizona.edu!dan From: dan@ece.arizona.edu (Dan Filiberti) Newsgroups: comp.object Subject: Re: Software Engineering (was Re: Documenting OO Message-ID: <1991Apr16.133304@ece.arizona.edu> Date: 16 Apr 91 20:33:04 GMT References: <3201:Apr705:40:4591@kramden.acf.nyu.edu> Reply-To: dan@ece.arizona.edu (Dan Filiberti) Distribution: world,local Organization: University of Arizona Dept. of Electrical and Computer Engineering Lines: 122 Nntp-Posting-Host: dialsun.ece.arizona.edu In article <1991Apr16.171011.14050@visix.com>, amanda@visix.com (Amanda Walker) writes: |> However, building a user interface (as the term is generally applied in |> the computer industry) does not entail building something that a person |> interacts with. It involves constructing a metaphor for, or a depiction |> of, something that does not exist; the user then interacts with this |> symbolic construct instead of interacting with the "real world". The |> screen in front of me is a hunk of glass--nonetheless I interact with |> it as if it were composed of several sheets of paper, terminal screens, |> a mailbox, and several other things. It is this virtual quality which, |> to my mind, makes software more of an art than a science. Books are |> virtual reality. Music is virtual reality. A painting is virtual |> reality. A tractor is not virtual reality. Now, is software more like |> a book or a tractor? Wrong. I have a problem with people not interacting with a user interface, since that is the sole purpose of a user interface. And, you continue to say that the user does interact with the symbolic construct (user interface) which is it, yes or no? At its lowest level, software is not virtual. Have you ever microcoded? Microcode essentialy describes hardware connections (registers to bus, bus to memory, etc...), this is not virtual reality, unless hardware is virtual reality. At its lowest level, a file system at some point writes its data to hardware, is that virtual reality, no. Software is definitely more like the tractor. Literature only affects the mind of the reader, while software directly affects hardware. Please, give me an example of one computer system that didn't benefit in some way from a software generated user interface...just one. |> What? How can you compare literature with software...their purpose |> is completely different. |> |> I disagree. The purpose of both is to allow a person to interact with |> something that has no concrete existence. Computer hardware has no concrete existence, boy you really don't understand, do you? |> without software, hardware is moot. |> |> No, just special purpose, since its design must embody what it will be |> used for. Is a computer system special purpose? Please, show me a computer that was designed without the aid of software along the way... |> Why do you think microprocessors use microcode? Because building |> the logic isn't feasible... |> |> What about RISC designs, which tend to explicitly avoid microcode? At the expense of a reduced instruction set, meaning more software to make it do anything. |> I think of it the other way around: Hardware is simply the medium through |> which people can use software... In an important respect, my workstation |> is the interface between me (and the real world I live in) and the software |> I use. My tools are virtual, not physical. I can replace all of the |> hardware that I use in the course of a day, and still be using the same |> tools and materials, because those tools and materials are software and |> data, not physical things. Since when is data not physical. Have you ever heard of RAM? How about registers? I`d really like to see you swap hardware while using exactly the same software on the new machine, and get anything to run. As soon as you change some of the hardware, the software changes with it. It might be at a low level, such as the operating system, compilers, file system, and other low level code, but its software just the same. |> Well let me teach you something more...an engineer is someone who |> builds things for people... |> |> This seems to be a much wider definition than I am used to. Well, maybe you'll be used to this definition. Software engineering - the application of knowledge obtained through study and practice of writing software. How's that? Daniel Filiberti dan@helios.ece.arizona.edu [:)} ------------------------------- "I sing the body electric...what a shock!" -------------------------------