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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ca0b11ae1c9a00cb X-Google-Attributes: gid103376,public From: "Stanley R. Allen" Subject: Re: Papers saying Ada as an overly complex language and hard to implement Date: 1998/02/18 Message-ID: <34EB82C7.15FB@hso.link.com>#1/1 X-Deja-AN: 326416207 Content-Transfer-Encoding: 7bit References: <34E7B551.115C289F@cs.utexas.edu> <34E8AA02.7ED447E0@cs.utexas.edu> <34E91572.CE9CEED2@cs.utexas.edu> <34EB6579.C791152D@cs.utexas.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Organization: NASA, Kennedy Space Center Newsgroups: comp.lang.ada Date: 1998-02-18T00:00:00+00:00 List-Id: Yongxiang Gao wrote: > > Hi, Guy > I put the original mail from my boss here. What are you going to say? > Don't show off too much. > Thanks. > Yongxiang > > Subject: another TA task > Date: Thu, 12 Feb 1998 09:14:53 -0600 (CST) > From: Calvin Lin > To: gyx@cs.utexas.edu > > Yongxiang, > > Could you do another literature search for me? I'm interested in > papers that explain why Ada is an overly complex language, why it's > a hard language to write a compiler for, and other problems with Ada. > > Thanks a lot. > > Calvin Ha, Ha! This is a good one. Perhaps some of the compiler vendors here should clarify matters for Dr. Lin. However, it is possible that his mind has already snapped shut concerning this topic. In the mean time, Yongxiang, please look at both sides of the issue and make up your own mind. Understand that every language has its enemies as well as proponents. It is not a hard problem to find articles which say bad things about Ada, C++, Java, Eiffel, COBOL, or any other computer language. Every time a new language comes out, "complexity" is always one of the things it is criticized for, and this includes languages whuch are explicitly designed to be "simple" (yes, even Java has been criticized on this basis). There common yearning among software developers for more "simplicity", akin to the desire often expressed by people for "simpler times" -- when life itself was supposedly not so busy and complicated. A related desire is for "pure" programming languages, meaning different things to different people, e.g. "mathematically rigorous" (the kind of thing Dr. Edsger Dijkstra wants), "perfectly orthogonal" (all features independent and composable), or "uni-visionary" (integrated around a single concept: Smalltalk ["every feature is an object"], purer versions of Lisp ["everything is a list"], occam2 ["all statements are processes"]). Academic research tends to theoretical concerns, so it is not surprising that "pure" or "simple" languages are rated more highly among language researchers (like Dr. Lin) than pragmatic languages like Ada or C++. Dr. Dijkstra, for example, is so emphatically concerned with languages as theory-proof vehicles that he even objects to implementing the languages! Theoretical research in programming languages is very valuable and has contributed considerably to the success of Ada as a great implementation tool. However, it is generally true that the original languages developed for the theory or research were too limited to be used by themselves as broadly-applicable programming languages. As an example, consider CSP by Tony Hoare -- a great advance in the theory of programming languages, and the foundation of the occam language. occam proved to be too restrictive in practice, and so came occam2 -- which was still too often limited in its breadth. CSP did contribute to the Ada rendevous concept, and thus some of its legacy continues to be influential in a broader context. Likewise, Ada 95's "protected objects" mechanism was influenced by research done by Andrew Tannenbaum on the Orca programming language. All of this does not mean that programming language research has only one goal, to see new and better features appear in general programming languages; but it is definitely one of the goals of such research. And those general programming languages (like Ada) which incorporate well-researched elements will of necessity also include things like low-level bit-oriented operations, extensive file I/O features run-time library routines, and other features which are generally excluded from languages used for CS research. All of these things "complicate" a general programming language (though they will often make the job of development simpler) and make it more difficult to implement. For a more positive perspective on the Ada language than you may be getting from U Texas, see these WWW pages: http://sw-eng.falls-church.va.us/AdaIC/projects http://www.acm.org/sigada/news/suny.html http://www.adahome.com -- Stanley Allen mailto:s_allen@hso.link.com