Path: utzoo!attcan!uunet!husc6!cs.utexas.edu!ut-emx!juniper!olorin From: olorin@juniper.uucp (David Weinstein) Newsgroups: comp.lang.forth Subject: Re: Forth and Functional Languages Summary: Efficiency still counts Keywords: Compilers are not perfect, and machines are not infinitely fast... Message-ID: <4889@juniper.uucp> Date: 25 Sep 88 13:06:38 GMT References: <8809092121.AA09902@jade.berkeley.edu> <1625@crete.cs.glasgow.ac.uk> <7122@well.UUCP> <1643@crete.cs.glasgow.ac.uk> Reply-To: olorin@juniper.UUCP (David Weinstein) Organization: Austin UNIX Users' Group, Austin, TX Lines: 38 In article <1643@crete.cs.glasgow.ac.uk> orr@cs.glasgow.ac.uk (Fraser Orr) writes: >There are two possibilities for what MLL stands for: Medium level language; >Machine level language. The latter I agree is a fair catagorisation of forth. >In fact that is what I've been saying all along. To say though that this is >a great thing is not very sensible. It is clear that the purpose of a >programming language is to make the machine easier to use without loosing >any machine function (which can most certainly be done in practice) No. Or I'll make it a challenge. Pick a high-level language, and a common CPU for which there are programmers working in assembly regularly. Now, chose a problem. While the HLL programmer may finish first, a good assembly language programmer will produce *much* more efficient code. Furthermore, conventional languages can't work in many areas (do you want to explain why you need 4 more inches of space on the board to hold all the libraries your compiler linked in along the way... :-) The attitude, "If the program written in an HLL isn't fast enough then my compiler isn't good enough, and if my compiler is good enough but it's still too slow I'll buy a new machine", (which is a paraphrasing of a comment I found on comp.lang.misc a week or so ago) is one of the things that disturbs me most about CS departments (or at least the ones I've been in a position to observe). Quite simply...you can't really do that in the real world, with finite resources. Upper management in many cases will find your programming time a more reasonable expense then replacing the computer you just got with a faster one (and compiler revisions are infrequent at best...and remove old bugs simply to replace them with a host of new bugs). I shudder when I think the CS students who *don't* work in the real world while pursuing a degree, and face a dreadful shock when they get out of the ivory tower. -- Dave Weinstein Internet: olorin@walt.cc.utexas.edu UUCP: {ames,utah-cs,uunet}!ut-sally!ut-emx!{walt.cc.utexas.edu,juniper}!olorin GEnie: DHWEINSTEIN