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.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a1ce307c10055549 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-12-13 04:26:15 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!logbridge.uoregon.edu!newsfeed.wirehub.nl!beamish.news.atl.earthlink.net!news.atl.earthlink.net!stamper.news.atl.earthlink.net!harp.news.atl.earthlink.net!not-for-mail From: "Marin David Condic" Newsgroups: comp.lang.ada Subject: Re: IBM Acquires Rational Ada Date: Fri, 13 Dec 2002 07:25:34 -0500 Organization: MindSpring Enterprises Message-ID: References: <3DF1615C.7AAAC86E@adaworks.com> <3DF1B042.6603DDDE@easystreet.com> <3DF2A483.EC512CDF@adaworks.com> <8db3d6c8.0212091445.12594821@posting.google.com> <3DF628C4.7090607@cogeco.ca> <3DF6653D.3030603@cogeco.ca> <8db3d6c8.0212101850.51506572@posting.google.com> <3DF8D33F.9020205@cogeco.ca> NNTP-Posting-Host: d1.56.a0.7a X-Server-Date: 13 Dec 2002 12:30:59 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Xref: archiver1.google.com comp.lang.ada:31779 Date: 2002-12-13T12:30:59+00:00 List-Id: Warren W. Gay VE3WWG wrote in message news:3DF8D33F.9020205@cogeco.ca... > > Getting back to the language (which I think was the suggested issue > earlier), was that the "Ada Mentality" requires you to structure your > programs a bit differently (hence the "frustration"). But here, I think > this is just a matter of becoming familiar with what is there (language > features, generics, standard and public packages etc.) > In this particular case, I was talking of the "Ada Mentality" with respect to language design issues, rather than coding style. We've been asking the question "How do we make the language more reliable or more safe or more comprehensible to the maintainer?" which is fair and reasonable but not what is of critical importance to the customer. Asking "How can we make Ada get an app out the door quicker than its competitors?" is likely to be a more profitable line of inquiry. The language is already safer, more reliable, more maintainable, etc, than just about anything out there already, but that "Better Mousetrap" is not apparently what the market has so much of an interest in. > > For example, you could get near standard conformance on text screens. > Yet, there does not exist any _standard_ curses package. There are > some public versions of bindings, but none of them are > complete or "standard". So even text based applications are > barely accomplished in a portable fashion. In this sense IMHO, > Ada is still better suited to embedded applications, rather than > the general purpose use that other languages are used for. > To start with, I don't think that trying to add some sort of support for character cell terminals is going to impress anybody much. ("Wow! I'm impressed! You guys put into the language something that C has had for 20+ years and got there just in time for the character cell terminal to go the way of the punchcard. What's next? A paper tape I/O package???") Also, if I were doing it, I wouldn't make bindings. I think that just ends u p in the "Me Too!!!" category and makes your stuff dependent on what happens in another language - also requiring you to haul around another compiler. If you wanted a curses package, it would be better (and not that big a deal) to implement it from the ground up in Ada and give it an Ada flavor while you're at it. You could probably even dramatically improve it beyond just cursor positioning and the like - give it more of a GUI feel (DEC had something like this - pasteboards, windows, etc, all out of VT220's.) That said, it probably wouldn't hurt to throw in some version of a curses package if there was some reasonable perception out there that it would be mildly useful. (I just wouldn't advertize it as The Major Ada Productivity Improvement.) Suppose we had a package called "CAL" ("Conventional Ada Library") and under it we had, at minimum, a branch called "CAL.Containers". There's no reason someone couldn't propose a "CAL.Curses" and if whoever the controlling body of the library was agreed that it was at least moderately useful and not too difficult to make work on most platforms, I don't see why it should be kept out of the library. The notion being that this "CAL" library would be some semi-formal (Suit&Tie - No Tux Required :-) reference implementation that could maybe be released every 6 months or so and thus react quickly to what the perceived needs are of the Ada community and beyond. It would be a LOT more useful than waiting for some limited language extensions to come around every ten to fifteen years via the ARM. > > And if they actually did that (shift emphasis), there would be > less that would need to craft so much from scratch (like a > standard and complete curses binding). > That is exactly my claim. If you provide a million lines of code to the developer and he finds 100,000 lines of that is useful in getting his app out the door, he's got a reason to go use Ada. People often use languages they don't like because of all the leverage that goes with it. I've worked with guys who have been programming things in C for forever and they are fully aware of its weaknesses and wish they were using something else, but they've got some embedded RTOS or graphics library or something else that would be too costly to redevelop in another language, so they keep using C. Give them an Ada substitute and maybe they can see their way to switching languages. MDC -- ====================================================================== Marin David Condic I work for: http://www.belcan.com/ My project is: http://www.jast.mil/ Send Replies To: m c o n d i c @ a c m . o r g "I'd trade it all for just a little more" -- Charles Montgomery Burns, [4F10] ======================================================================