Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site sdcsvax.UUCP Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!houxm!houxz!vax135!cornell!uw-beaver!tektronix!hplabs!sdcrdcf!sdcsvax!alex From: alex@sdcsvax.UUCP (Alex Pournelle) Newsgroups: net.lang Subject: Re: Re: Modula-2, exceptions, C Message-ID: <918@sdcsvax.UUCP> Date: Fri, 22-Jun-84 13:39:16 EDT Article-I.D.: sdcsvax.918 Posted: Fri Jun 22 13:39:16 1984 Date-Received: Wed, 27-Jun-84 19:40:40 EDT References: <1986@mit-eddi.UUCP>, <11800018@iuvax.UUCP> Organization: Alex Pournelle @ UC San Diego; freelance writer Lines: 36 { I guess this is the symbol for a Japanese smiley face: ;-) } M2 does indeed provide exception-handling, at least in real implementations. Rather than Ada's hide-bound "this is the way you will handle them, unless you stick in a statement to pass the buck" exception declaration, M2's allows them to be passed in at run-time (heavens! Shades of LISP!). C may be flexible, but it's also incomplete: no modules, little data hiding (except with the primitive "across file boundaries" method), no nesting, and an infuriating VAR parameter passing method. Not to mention that PROCS are an add-on (using the void type), there is no initialization section (hand-in-hand with modules), and loony-bin syntax. Sure, you can cure the rather baroque syntax oddities with #DEFINEs, but then no one will be able to read your code ("Hey, mac, what are all these BEGINs and ENDs doing in your C program!"). C is also very hard to learn as a first (or even seventh!) language. Its syntax and I/O lead to hair-tearing bugs that can take hours to find: e.g., leaving out the word "case" in front of the cases of a switch(); leaving the file parameter out of an fprint(); the crazy dichotomy between zero- and one-based arrays (in the same language, mind you!). More examples on request. Here's a question that the lions of net.lang can tear into: will we see a coming-together of "traditional" Pascaloid languages with the more "experimental" LISPoids? We've seen some of this already; what with the tremendous inertia of FOOBOL and COTRAN, we're unlikely to see wholesale change within a year, are we? Alex Vituperation will be cheerfully laughed at, then sent to the TwiByte Zone. Constructive comments will be saved.