Path: utzoo!attcan!uunet!wuarchive!udel!mmdf From: V2057A%TEMPLEVM.BITNET@cornellc.cit.cornell.edu (Juan Jose Noyles) Newsgroups: comp.os.minix Subject: Efficiency vs Effectiveness Message-ID: <21640@nigel.udel.EDU> Date: 11 Jun 90 04:07:11 GMT Sender: mmdf@udel.EDU Lines: 34 That's a nice rendition of a popular saying, but that's not it, buddy. Efficiency is a subjective thing. What may be efficient on one level can also be seen as a total waste of time on another. It's built around conflicting views of what's right, another subjective term. Ever hear the story of the blind men describing an elephant? Effectiveness, however, is straightforward. If you've taken linear algebra, you're familiar with the concept of a kernel, right? That's the thing upon which you base an algebra (or a concept if you keep your analogies straight,) because its the smallest set you can use to describe the algebra (concept). That is what effectiveness is based on. That's also what efficiency is based upon before it is abused. The correct expression of a digital solution to a problem is the kernel solution, and the pursuit of that seems to be what you are railing against. In a kernel solution, there is no waste of time or storage. The only data present in the bounds of the program are those that are necessary. I include code in my specification of data, as well as the proper architecture for the implementation of the program, because all computers are not created equal. Obviously, this means that there will be different kernels for different arch- itectures. Bottom line is this: Writing good programs is something you must care about, otherwise you'll go through your career making excuses and trying to justify code that stinks. No matter what kind of machine it is, do it right or you're just a junior grade hack. Even if you get a Ph.D in some area, you'll still be just an old junior grade hack. They're the only ones that claim that it's okay to waste code because the machine's more powerful, or bitch because it's not. If you don't like the architecture, don't use it. You don't *have* to work on any machine you don't want to, if you're good enough. ABSOLUTE Bottom Line: all programming languages become machine code.