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.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,11414a19b0e4a97a X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder.news-service.com!newsfeed.kamp.net!newsfeed.kamp.net!news.ett.com.ua!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: Advice on selling Ada to a C shop Date: Tue, 6 Jul 2010 11:14:17 +0000 (UTC) Organization: ETT newsserver Message-ID: References: <101bf8f3-b823-45ee-9afd-40cbafb4b7a9@t26g2000prt.googlegroups.com> <774c25c4-3270-4ffb-ad19-366a0ab16659@i31g2000yqm.googlegroups.com> Reply-To: anon@anon.org NNTP-Posting-Host: dialup-4.225.169.14.dial1.dallas1.level3.net X-Complaints-To: usenet@news.ett.com.ua X-Notice: Filtered by postfilter v. 0.6.1 X-Newsreader: IBM NewsReader/2 2.0 Xref: g2news2.google.com comp.lang.ada:13190 Date: 2010-07-06T11:14:17+00:00 List-Id: In , David Thompson writes: >On Tue, 22 Jun 2010 22:39:51 -0700, Dennis Lee Bieber > wrote: > >> On Tue, 22 Jun 2010 18:01:50 +0000 (UTC), anon@anon.org declaimed the >> following in comp.lang.ada: >> >> > A second problem is until Ada 2012, C is the only common used language >> > that allows functions to have "in out" type of parameters. If functions >> > having the "in out" parameters, was a good idea, you would think then >> > other older languages like Fortran, Pascal would have them. Or even >> >> Uhm... The last time I worked FORTRAN (about a decade ago), >> functions COULD have side-effects. After all, the normal passing method >> in FORTRAN is by-reference, and I never encountered a compiler that >> would enforce read-only access to arguments inside a function. Now, >> maybe post '90/'95 standard have implemented such -- but I'd bet most >> shops are still running a compatibility option for older code... > >Indeed. Classic Fortran did, and F90+ still does by default (i.e. >INTENT unspecified) or if you specify INTENT OUTor INOUT. >Only if you explicitly make a subprogram PURE or ELEMENTAL then a >function, but not a subroutine, is prohibited from having modifiable >arguments. (Both a function and subroutine are prohibited from other >'global' side-effects, i.e. on module~package data or external files.) > >So did Pascal if you specify VAR, a68 with ref, and COBOL and PL/I >always. anon may argue that some of those are not now 'common[ly] >used', but Java certainly is and makes all nonprimitive arguments >writable references; there's not even a syntax to make a reference >readonly -- although you can write a target object, or a wrapper or >adapter etc., to be readonly (always or controllably) and some >important standard objects like java.lang.String are immutable. > >And C++ of course, but that's arguably covered under C. It does have >added syntax for references (and OO 'this') but same semantics. > Classic Fortran is Fortran I,Fortran II, Fortran IV. Now with Fortran 77 they introduce the if-then-else structure which start the fall of Fortran. But "Intent" was not a Fortran keywords yet. And with the addition of the keyword "Intent" in Fortran 90/95 and other features, it just hammered the nails in the coffin for Fortran. Most of the major Fortran players have since move on. But now, Adacore and others wants to do the same for Ada. by allowing functions to have or "out" and "in out" as parameter modes. As well as some other features. What people are trying to do is create a PLII or PL2. If people want to create a PLII aka "Programming Language II" then they should start from scratch and create it. And stop trying to add the features of one language they like into an other language, and in the process destroying the beauty of the unmodified original language. Building PLII is not difficult, it start with setting down and make a list of what features one like about each language then adopt common features and then add those features that are desired. But most people who want a type of PLII just think they can modify an existing language and community for that language will accept it. The community as a whole does not accept the changes they just find another language. So, it is time to tell those modifiers that's enough. If you want PLII then create it and leave the other languages like "Ada" alone. If Adacore and others want to modify Ada why not create a new language which base language would be Ada, then they could called new language may be Ada2. And this new language could adopt the new additions, they want to add, and remove some features they dislike about the original Ada. This way they could keep their existing clients that wants the original Ada design without unintentionally destroying the "Ada language" as well as their relationship with existing clients that uses the original Ada. And if Ada2 works then fine, no harm done to either language or their clients, but if Ada2 falls then Adacore has the original Ada and clients to fall back on and still no harm done. Just a little cost for "research and development" which could be a waste or grow into a great value. In other words, if Adacore keep playing this game with adding features of other languages, like C they may find themselves out of bussiness. With the death of the "Ada Language". Note: I started using Ada before Fortran 90 came into existence, and found it to be a better language for my needs than Fortran, C or any other language.