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: g2news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!usenet-fr.net!gegeweb.org!aioe.org!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: Advice on selling Ada to a C shop Date: Thu, 24 Jun 2010 17:24:13 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: <101bf8f3-b823-45ee-9afd-40cbafb4b7a9@t26g2000prt.googlegroups.com> <9b5af9c0-43a3-4a9d-9a03-5b6c794f611e@e5g2000yqn.googlegroups.com> Reply-To: anon@anon.org NNTP-Posting-Host: rN+PGqTC7d7JjvHzNLG87Q.user.speranza.aioe.org X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: IBM NewsReader/2 2.0 Xref: g2news1.google.com comp.lang.ada:11914 Date: 2010-06-24T17:24:13+00:00 List-Id: In <9b5af9c0-43a3-4a9d-9a03-5b6c794f611e@e5g2000yqn.googlegroups.com>, Maciej Sobczak writes: >On 23 Cze, 21:57, "Peter C. Chapin" wrote: > >> My understanding is that Ada is primarily a "systems" programming language. It >> supports embedded programming, real time programming, and other "low level" >> applications. People writing such programs are not particularly concerned >> about GUI packages. Well... I can't speak for everyone, but I'm using Ada in >> an embedded application and I'm certainly not worried about the lack of GUI >> support. > >The reason for why GUI is not (and will not be) in the Ada standard >library is the same as in C++ - there are too many ways to do it and >the cost of prototyping is too high to attract attention of >individuals who are usually *volunteers* in standardization efforts. >Especially when the already acceptable solution is to live with >existing third-party library or libraries. > >> I wasn't involved in the discussion that lead to the decision to include >> conditional expressions in Ada > >Again similarity to C++ - conditional expressions are *essential* for >initializing constants. Without them programmers are forced to either >use modifiable variables where constants would be more natural (this >is unsafe) or to write local or helper functions, which destroys the >locality of reference for code entities (this is less readable -> >unsafe). > >I'm glad that Ada is going to adopt them. > >-- >Maciej Sobczak * http://www.inspirel.com > >YAMI4 - Messaging Solution for Distributed Systems >http://www.inspirel.com/yami4 Now, except for "GNAT.Sockets.*" and the outdate "pragma No_Rum_Time" GNAT has side-step the following design concept. "The language must also be "complete" in the sense of the user being able to write all usual programs without having to resort to assembly language or local extensions. It had to have real-time capability and it had to be set up to produce programs for the bare machine in a missile, without support of an operating system. It also was required to support large Command and Control systems, so it had to have a file input/output system, however messy that might be." This paragraph suggest that they should be packages under Ada.* or System.* that would control the hardware such as the Serial (both UART and USB), parallel ports. And all connection types (bus, serial, usb, and parallel, etc) for the keyboard and mouse devices. Plus, it should have routine to control network cards and other standard I/O, such as direct video control and disk while bypassing the OS. But no Ada 83 system every used the RM defined Low_Level_IO package. And in Ada 95 and Ada 2005 there is no packages that are defined in the RM that control any group of hardware directly, bare machine or not. The Ada package mostly just linked to a precompiled library (aka local extensions) that connected to the OS. So, where are these packages? Note: Allowing Ada to be written without using "Local Extension" can mean that Ada needs a "Universal Windows/Graphics" package groups that in one version links to the OS, as well as having another directly control the graphics of a group of common GPU cards. Where is the package or packages, without the programmer using assembly language or the Machine_Code package? Plus, the file system in some case needs to be self-contained without the OS. So where are the System.File_System.* packages like fat, ext2, ext3, etc. ? Or may be a generic package for creating file systems.