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=0.6 required=5.0 tests=BAYES_05,INVALID_MSGID, SUBJ_ALL_CAPS autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,4873305131bf4d94 X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,4873305131bf4d94 X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,4873305131bf4d94 X-Google-Attributes: gid103376,public X-Google-Thread: fdb77,4873305131bf4d94 X-Google-Attributes: gidfdb77,public From: ckann@seas.gwu.edu (Charles W. Kann) Subject: Re: ADA SUCKS, C/C++/JAVA RULES!!!! Date: 1997/11/10 Message-ID: <647jig$igl17@beaker.nit.gwu.edu>#1/1 X-Deja-AN: 288358094 Distribution: world References: <34557f2b.1934172@news.mindspring.com> <36984222@NEWS.SAIC.COM> <345A83CA.CD776C91@flash.net> <63fl3r$d5c$1@news.luth.se> <345B7A48.F32E4924@flash.net> <63usl7$hqo$7@route1.mdrf.france3.fr> Followup-To: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.java.advocacy Organization: George Washington University Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.java.advocacy Date: 1997-11-10T00:00:00+00:00 List-Id: Boyd Roberts (boyd@france3.fr) wrote: : In article , jstevens@samoyed.ftc.nrcs.usda.gov (John Stevens) writes: : >Sort of like what I tell my students: learning C++ doesn't make you an : >object oriented programmer. Learning the OOP paradigm, however, will : >make it childishly simple to write in whatever OOPL you choose for the : >current project. It becomes a simple matter of translation from design to : >language specific syntax, at that point. : Simple matter of syntax? You are living in a dream world. : Say the design calls for a feature the language does not have? This is too true. Many authors now advocate "designing to an interface", for example Design Patterns by Gamma, et al, or any of the recent books by Coad and Mayfield. It can be done in C++, it is just clunky. But because Ada made the decision that there is never a reason to use multiple inheritence, I have never been able to figure out a way to write general purpose programs which use an interface like construct. I would love to hear if someone has (and Generics don't count. They are backwards and non-dynamic. And neither does the stupid "alias type" field in a record which is advocated by AdaMagic. Talk about a KLUDGE, it was never even checked when I used it). Many researchers believe that language greatly influences how programmers generate code, even when things can be done one of several languages. There are papers by Thomas Green, Simon Davis, Rachael Belamy, David Gilmore, and more that show, for simple programs and constructs, that the type type of program developed depends on the language. And I am personally convinced that if you need to change your best model of your program to match the language, you will nearly always end up with a less good program. That said, I believe you should learn many programming languages and ways to develop a program so you have many more ways to view a program, and more tools to use when implementing it. Which is my argument for teaching Ada, Java, C++, Eiffel, Prolog, and LISP (minimally) in any real Computer Science curriculum. My 2 cents worth. -- chuck kann ckann@seas.gwu.edu