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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1014db,304c86061dc69dba X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,5cb36983754f64da X-Google-Attributes: gid103376,public X-Google-Thread: f5d71,304c86061dc69dba X-Google-Attributes: gidf5d71,public X-Google-Thread: 109fba,304c86061dc69dba X-Google-Attributes: gid109fba,public X-Google-ArrivalTime: 2004-02-07 07:03:23 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.frii.net!newsfeed.frii.net!140.99.99.194.MISMATCH!newsfeed1.easynews.com!easynews.com!easynews!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 07 Feb 2004 09:03:21 -0600 Date: Sat, 07 Feb 2004 10:03:20 -0500 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.java Subject: Re: No call for Ada (was Re: Announcing new scripting/prototyping language) References: <20040206174017.7E84F4C4114@lovelace.ada-france.org> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.147.77.160 X-Trace: sv3-pMJkbWT0skpNH24USYD8kcKCxXn2nECq6tH+Y8HvCkYQfKEHpQ4QKPKNy2fLAf1Wn3X1K1uruBENVqq!KoUT7BFcYQC2XUnugcC1oxaUSHBJA2sWfVqFAsQ0gShaZ1XHEpL8uaNgTiWhUQ== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:5313 comp.lang.c:20938 comp.lang.c++:17981 comp.lang.java:2747 Date: 2004-02-07T10:03:20-05:00 List-Id: Ludovic Brenta wrote: > The third type is what I would call the "zen master" type of > languages. They treat you like an apprentice, slapping you on the > hand each time you make a small mistake, and they scorn at you for > choosing the quick and easy path -- which leads to the Dark Side. If > you accept their teachings, you quickly become a Master yourself. If > you rebel against them, you will never achieve Enlightenment and will > always produce bugs. The "zen master" languages are Pascal, Modula, > Oberon, and, master of masters, Ada. The beauty of these languages is > that, once you are Enlightened, you can apply your wisdom to other > languages as well -- but often would prefer not to. I think you are on the right track. When I am programming in Ada, I often spend most of a day coding. If I am exhausted at the end of it, I will put off compiling until the next day. Otherwise, I hand all the code to the compiler, and I am not surprised to be handed back dozens of error messages. Fix the syntax bugs, and now I get twices as many semantic errors. Kill all those and I am surprised if the test programs--often written between the package interface and the package bodies--don't run correctly. For example, I recently finished writing a library of matrix operations which works with "views" that may be a submatrix of an existing matrix, and supports operations like Add(A,B) where the result is written in A. That's a bit tricky, but the real complex one is Mult(A,B) where the amount of temporary storage space for two N by N matricies is N. (A buffer that stores one row.) Why am I mentioning this? After all the coding I had a bug in the Mult routine that the compiler didn't catch. A wrong subscript inside a loop. (Why am I doing this? To submit as a new benchmark for SPECfp. All that stuff is just scaffolding for implementing Strassen's algorithm efficiently.) Since I don't take what the compiler tells me personally, I love the ratio of a hundred to one or so between compile errors and run-time bugs. Some people though look at a list of compiler error messages as if each one was a major failing on their part. Me? I could proofread the code carefully, but it is easier to let the compiler find out where I typed a comma for a period, and so on. And IMHO it would be nice if the compiler found all the typos, not just most of them. ;-) Could I write the same code in C, C++, or Java? Sure. It is just much easier to let the Ada compiler do the heavy lifting part of the debugging, so I would still write in Ada, then modify the code to match the C, C++, or Java syntax. So to me, all that frequent hand-slapping is a major benefit. -- Robert I. Eachus "The war on terror is a different kind of war, waged capture by capture, cell by cell, and victory by victory. Our security is assured by our perseverance and by our sure belief in the success of liberty." -- George W. Bush