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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Why couldn't an operating system be written in ada Date: Tue, 26 Feb 2019 10:30:36 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <4s8rud$9j3@tribune> <792fba1b-7a54-4d00-ae85-e6bd0737f001@googlegroups.com> NNTP-Posting-Host: fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:55670 Date: 2019-02-26T10:30:36+01:00 List-Id: On 2019-02-26 09:46, Niklas Holsti wrote: > On 19-02-25 23:56 , Rabican wrote: >> On Saturday, July 13, 1996 at 3:00:00 AM UTC-4, Mark  McKinney wrote: >>> It has been claimed that the capability to interface with other >>> languages >>> is a great asset to ada. Sometimes interfacing can be a tremendous >>> liability. Besides the OS could perform most of work that the language >>> runtime does. So why not build an OS in ADA? >> >> yeah why not?  anything? > > This has been discussed many times before in comp.lang.ada. > > The first question is not "why not build an OS is Ada", the first > question is "why build a new OS at all"? > > Then, if a new OS is going to be built for some reason, we can ask which > language should be used, and of course (IMO) Ada would be a strong > contender. However, for larger systems, the OS must usually implement a > "process" concept that goes beyond Ada tasking and provides isolation > between different users and applications. This means that the OS will > have a process/service-level API that is not, as such, Ada-language > specific. And so the fact that the OS is implemented in Ada becomes > invisible on the application level. > > This is not to say that an OS API specified in Ada could not be an > improvement (for Ada applications) on the current OS APIs which are > usually specified in C. However, such an Ada OS API could also be > provided for an OS implemented in C or some other language. Right. This is a general problem only tangentially related to Ada. The purely procedural OS API outlived their time. A new generation of OSes must have higher-level API which would include tasking and synchronization primitives as well as other abstract types types. Call it OO or not, but that is beyond procedures, ints and void *. The world is not ready for this and the languages, Ada included, are not mature enough either. So, yes, one can write an C-esque OS in Ada, but who needs yet another horse cart? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de