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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,d5b211b0c1ffcf3e,start X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.196.232 with SMTP id ip8mr7694084pbc.6.1339188521955; Fri, 08 Jun 2012 13:48:41 -0700 (PDT) Path: l9ni29713pbj.0!nntp.google.com!news2.google.com!postnews.google.com!qz1g2000pbc.googlegroups.com!not-for-mail From: wrp Newsgroups: comp.lang.ada Subject: Practicalities of Ada for app development Date: Fri, 8 Jun 2012 13:48:40 -0700 (PDT) Organization: http://groups.google.com Message-ID: <79c5c9f7-4b72-4990-8961-b3e2db4db79b@qz1g2000pbc.googlegroups.com> NNTP-Posting-Host: 75.170.67.182 Mime-Version: 1.0 X-Trace: posting.google.com 1339188521 769 127.0.0.1 (8 Jun 2012 20:48:41 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 8 Jun 2012 20:48:41 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: qz1g2000pbc.googlegroups.com; posting-host=75.170.67.182; posting-account=_xNmGgoAAADzVbG1LIrTaXAR97KD43ZC User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20110327 Firefox/4.0 Iceweasel/4.0,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Date: 2012-06-08T13:48:40-07:00 List-Id: What would you say about using Ada for developing desktop applications? I like what I have read in descriptions of the language, but I have concerns about the practicality of using it. I develop small to medium sized tools. Tasks are mostly limited to text processing, database management, and simple visualization. I have no need for high precision calculation or support for distributed, concurrent, or real-time control. You can picture for example the size and scope of the traditional Unix utilities. Sometimes I build something larger with a GUI. For considerations of size and performance, I'm planning to shift from scripting to a compiled language. I develop on Linux but also target Windows and OS X. After trying to consider everything available, I feel that the only serious cadidates for me are C and Ada. 1. To begin with, I've heard it said that Ada, designed for embedded system building, is simply not suited to apps for a general computing platform. That's rather vague and I haven't seen any detailed justification of that claim. What would you say? 2. I don't need tools to be free, but they have to be affordable to a small shop. If I'm targeting x86-64 (and possibly ARM) is GNAT the only compiler option I have? 3. How about the quality and availablity of supporting tools like debuggers and profilers? 4. How about production quality, open source libraries for things like Unicode support, sockets, network communication, GUIs, etc? The stuff at www.dmitry-kazakov.de looks good, but most of what I have seen online is from the 1980s and pretty rough to begin with. 5. How well is incremental development supported? I'm thinking of things like modular compiling and speed of the edit-compile-test cycle. 6. Size and latency are sometimes an issue. I've heard that since GNAT is oriented to building larger systems, the executables it produces are comparatively bulky. What is the situation relative to C in that regard? 7. What advanced tutorial material is there for using Ada in this way? Say that I have Norman Cohen's _Ada as a Second Language_. What more advanced material is available on subjects other than concurrency, distributed processing, or real-time systems? On a related note, what projects would you recommend looking at as examples of great code? Thanks