Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!jade!eris!mwm From: mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) Newsgroups: comp.sys.amiga Subject: Re: Language Wars (Was: Turbo Pascal Rumor) Message-ID: <3241@jade.BERKELEY.EDU> Date: Mon, 20-Apr-87 19:47:12 EST Article-I.D.: jade.3241 Posted: Mon Apr 20 19:47:12 1987 Date-Received: Wed, 22-Apr-87 02:14:24 EST References: <110@usafa.UUCP> <1614@cbmvax.cbmvax.cbm.UUCP> Sender: usenet@jade.BERKELEY.EDU Reply-To: mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) Organization: Missionaria Phonibalonica Lines: 86 Keywords: Modula, C, looks grim In article <3865@sdcc3.ucsd.EDU> ma183say@sdcc3.ucsd.edu.UUCP (Lee Fountain) writes: > Identical? Ha! (excuse me while I finish laughing). Modula-2 is a Huh? Read what I said, not what you wish I'd said: >>Once you get past those (to a distance of about 4 feet :-), the two >>languages are identical, and suffer the same problems: >> >> 1) Typing is broken. In different ways, though. From a _distance_, the languages are identical. I even pointed out that the Modula ][ and C typing are broken in different ways. > From this chart I am looking at, C's language definition was > released in ~1974, while Modula-2's was released in ~1980, so M2 > is the newer of the two. Corret; roughly. C is older than that (you're using K&R, right?), though. > The advantage to M2 is the Module > construct. It allows for data hiding and abstraction better than > any other current method (except for Ada's Package, but who wants > to discuss Ada?). Uh, CLU clusters are better. So is CLU typing, for that matter. Almost anything that support inheritance (LOOPS, Flavors, Smalltalk, Simula-67, C++, etc) is better than the Modula modules. Of course, if you want, I'll show you how to write C to get most of the benefits of Modula modules. > Now, we do have the C++ Class construct, > borrowed from a 1967 language called Simula-67, which does allow a Simula-67 was almost certainly the original inspiration for the Modula module, also. Filtered through Xerox PARC and the languages they use there, of course. > itself well to Object-Oriented programming. But neither have we > C++ nor Ada for the Amiga, so whatever suits your needs, suit it. You want C++ for the Amiga? It can be arranged. >>Many of these faults can be forgiven, if a language suffers from only >>a couple. But _all_ of them are deadly. They combine to make it >>painfull to go from an algorithm in my head to a running version. And >>that's what a language is supposed to be for. > > It really annoys me to see such generic statements, please qualify > your arguments in the future 8^&. Ok, how about this: I have to worry about the details of extending a dynamic data structure, and usually make sure the memory it's using gets put back in the free pool later. I have no way of writing control constructs that reflect what I'm thinking, as opposed to what the machine is doing (check out the CLU "iterators". Neat things). Even after all that, the syntax for using new types is kludgy in both languages - it all looks like function invocations, even if the logical operation is something that the language has an operator for. > Again, C or Modula-2, you're still going to have to learn C if you > are to program on the Amiga. No, _you_ may have to learn C to program the Amiga. I had to learn C before the 32-bit super-mini's were being sold, I have no reason to relearn it. > (uh, yeah, but what about Lisp? Well son, that's another story, > now go to bed.) Damn straight, that's another story. LISP has some problems, but it also gives you the tools to solve them. We talked about this before; and I decided not to buy the MetaComCo LISP when I found out they were abandoning their US offices.