From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,79bbf7e359159d0d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-04-09 12:16:23 PST Path: supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!newsfeed.mesh.ad.jp!sjc-peer.news.verio.net!news.verio.net!sea-read.news.verio.net.POSTED!not-for-mail Newsgroups: comp.lang.ada From: Brian Rogoff Subject: Re: newbie can't get exceptions to work! In-Reply-To: <86u23yszjo.fsf@acm.org> Message-ID: References: <9ao1if$cq9$1@taliesin.netcom.net.uk> <3ACFC902.115624A1@mindspring.com> <86u23yszjo.fsf@acm.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Date: Mon, 09 Apr 2001 19:15:53 GMT NNTP-Posting-Host: 206.184.139.136 X-Complaints-To: abuse@verio.net X-Trace: sea-read.news.verio.net 986843753 206.184.139.136 (Mon, 09 Apr 2001 19:15:53 GMT) NNTP-Posting-Date: Mon, 09 Apr 2001 19:15:53 GMT Organization: Verio Xref: supernews.google.com comp.lang.ada:6672 Date: 2001-04-09T19:15:53+00:00 List-Id: On 9 Apr 2001, Laurent Guerby wrote: > Brian Rogoff writes: > > On Mon, 9 Apr 2001, Ted Dennison wrote: > > > That being the case, you'd like to strive for readability, not tersenes. > > > > False dichotomy. In many cases, terse notation is more readable. > > > > Besides, I imagine English keywords, rather than French, German, Chinese, > > or Hindi, were chosen for some reason. > > I hope you're not thinking terseness here, No, I was thinking that most of the educated world can read English so choosing English rather than French as the language from which the keywords are drawn makes sense. From there, I reason that if we accept familiarity as an argument (familiar symbols are more readable) then the choice of {} for begin end is so well ingrained in some huge fraction of systems programmers (I assume you believe that C is more popular than Ada; if not, we don't have much to talk about :) that it is a reasonable choice. > The reason for the choice of english is probably due to the language > being used to vehiculate scientific knowledge, That's definitely it. > and may be 7-bit ASCII only supporting english and not really well > other european or non european languages. Well, no doubt some Dutch speaker could put forth Nederlands as a choice, and there is already some precedent there on account of the names for the semaphor operations ;-). > > Assume that there are far more programmers (C, C++, Java, ....) who > > use a programming language with {} instead of begin-end nowadays, I > > think it's a fairly obvious argument which suggests that today {} is > > a readable choice based on the experience of readers. > > I think the {} vs begin/end issue being completly unsignificant vs, > for example, Yes, I completely agree. Let's look at some of these > brain damaged declarations, Hey, I said ditch the C declaration syntax, didn't I? > broken case statements, Broken semantically. Using the name switch wouldn't make a difference. Besides, I much prefer ML or Haskell pattern matching to Ada's case statement. More readable, more powerful, terser, better. > unambiguous and readable if/then/elsif/else/endif nesting, Yes. C is very weak here. elsif and mandatory {} would help a lot. > named and order free arguments and agregates, Would be nice. There is some discussion about adding this to Ocaml now too. You can use labelled params, but commuting arguments are still up in the air. > silly numerous levels of operator priority Of course. > and operator character choice, True, but I must say that the += and friends are nice. Of course an Ada version would be +:= and still nice. And while I don't like the syntax, the ? : of C is also nice, but, as you know, I'm a functional kind of guy now. > conflict between those silly operators and template syntax in C++, Right, and no need to go to C++ for that, as a similar problem pops up (albeit far less frequently) in C with "x = numerator /*p_denominator;" > idiotic comma operator, and in > general hard to parse by simple technique syntax (ask C++ compiler > writers). Sure. Some guy wrote a paper called "C++ Resyntaxed" which fixed a lot of these problems. And you forgot to mention how many ways the keyword "static" is used, and... well, I guess we could go on forever. > And I would absolute religious belief in keeping those > historical mistakes around (see Java). I can't parse that. Let me guess, "And I would add, an absolute ..."? I agree. C++ can be forgiven, as can Ada 95, since backwards compatibility was a goal. Java just sucks. Does C# fix that stupid drop through case problem, or was that botched too? > If {} vs begin/end is issue for a new language, allow both and end of > the story. That would be a mistake. Personally, I can go either way, begin-end or {}. I'm just annoyed at the bizarre thinking that puts one of these as greatly superior to the other. I really find () to be a bummer about Ada syntax and I don't agree that wordier is always better. > PS: also, on a french keyboard, {} [] are a major pain to type ;-). Hey man, get an American keyboard! -- Brian