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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,f45b1f6d53ecbae4 X-Google-Attributes: gid103376,public From: "Robert C. Leif, Ph.D." Subject: Re: Why couldn't an operating system be written in ada Date: 1996/07/15 Message-ID: <2.2.32.19960715224930.00680d94@mail.cts.com>#1/1 X-Deja-AN: 169051548 sender: Ada programming language x-sender: rleif@mail.cts.com comments: To: nasser@APLDBIO.COM content-type: text/plain; charset="us-ascii" mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Windows Eudora Pro Version 2.2 (32) Date: 1996-07-15T00:00:00+00:00 List-Id: The following appeared on Comp.Lang.Ada ---------------------------------------------------------------------------- ------------- Date: Mon, 15 Jul 1996 02:12:25 GMT From: Nasser Abbasi Subject: Re: Why couldn't an operating system be written in ada >From: Mark McKinney Mark McKinney> > 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? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nasser Abbasi >The question should be: why build another OS ? we already have >too many. ---------------------------------------------------------------------------- ------------------------- The question, "So why not build an OS in ADA"? requires more than a yes or no response. Firstly, one should define, what constitutes an operating system. Then, one should determine what parts will be improved by recreating and redesigning them in Ada. Since Windows is the best selling operating system, I will take the liberty of offending some of you by defining an operating system as what one purchases when buying Windows. This is NOT meant as an endorsement of Microsoft's code. Component Should be Ada Comment --------------- --------------------- Executive (core). Yes GUI Needs a binding. Device Drivers Use off the shelf. If not available, create in Ada. Applets Use what is provided. File System Use what is provided, and if necessary, add Ada enhancements. Ada POSIX Binding Would help. Executive: I suspect that for both real-time systems and pseudo embedded systems where the operating system only runs one application. These include medical instruments and other dedicated devices. GUI: I would prefer a thick binding for my applications. The use of some standard to permit portability will greatly help. My present guess is that HTML will be the successful portable solution. Device Drivers: A major real advantage of Windows is the availability of device drivers. Parenthetically, the major disadvantage of Ada is the lack of device drivers for boards, such as analog to digital converters, printers, and high resolution displays. The only applets from Windows, where Ada would obviously help are those to do with communication. Applets such as games, screen savers, and file viewers The Windows 95 Explorer is a great improvement. However, a database based system would be a further improvement. Ada POSIX bindings would increase portability. I quite well understand that it is probably too costly to provide a complete POSIX binding. However, where possible, the Ada POSIX binding syntax should be employed. The exceptions: Can_Not_Be_Implemented or Not_Implemented probably will need to be created and used fairly often. Lastly, I wish to emphasize that the present GUIs are often far beyond the capabilities of most users. Many individuals, including some of considerable ability in other fields, are still quite happy with DOS applications, such as WordPerfect. A 32 bit version of DOS might still be a profitable enterprise. Robert C. Leif, Ph.D. Robert C. Leif, Ph.D., PMIAC, Vice President & Research Director Ada_Med, A Division of Newport Instruments Tel. & Fax (619) 582-0437