comp.lang.ada
 help / color / mirror / Atom feed
From: Ivan Levashew <octagram@bluebottle.com>
Subject: Re: AuroraUX Combines SunOS with Ada
Date: Fri, 13 Mar 2009 03:09:11 +0600
Date: 2009-03-13T03:09:11+06:00	[thread overview]
Message-ID: <gpbtkc$qgr$1@octagram.motzarella.org> (raw)
In-Reply-To: <%ndul.56315$4m1.48387@bgtnsc05-news.ops.worldnet.att.net>

anon wrote:
> 
> But to show the true power of what an Ada OS can do, the entire project from 
> the ground up must be created in 100% Ada. Not just using Ada to rebuild an 
> existing OS or to build a environmental shell like Windows on top of DOS 
> was. 
> 
There's absolutely no need to do 100% Ada environment. After all, it's 
not simple. How do you suppose to manage version inconsistencies? Ada is 
better suited for environments where every piece is fixed after 
compilation and thus the whole program can be observed by compiler. It 
is OK for embedded solutions. If you want to target dekstops, you need:
1) either binary platform (e. g. XPCOM, GLib, NSObject) that makes 
possible changing different pieces without rebuilding the whole program. 
Pure GNAT programs/libraries are even sensitive to compiler version.
2) or create an Ada virtual machine. Did you have BlueBottle or Inferno 
in mind?

There are little desktop/server areas where one can exploit the full 
power of Ada. First of all, it should be OK to recompile everything.
1. NAS distroes. Several NASes give ability to run custom software, and 
FreeNAS is the example of such software. It can be single solid program 
as well.
2. Ada CMS. It is also OK here to recompile everything. Recompiling 
doesn't differ much from Zend Optimizing and the like.

In other cases the best way would be to forget all that false proudness. 
100% pragmatic as opposed to 100% Ada. We need to do the same (or nearly 
the same) things as the others. If you look at GLib, Qt and NSObject 
frameworks, you can see the common details:
1. Loosy structures. Arrays and dictionaries, most commonly. There is 
GArray in GLib despite existence of arrays in C. Loosy structures enable 
structure-agnostic data processing.
2. Some kind of component model.

First of all, there is a field for improvements here. Code generators 
might create typed views on loosy structures. And the component model is 
even wider field for improvements. I don't think that any of the 
existing framework is the last word.

Dmitry Kazakov many times demanded multiple dispatch. AFAIK there is no 
component model with MI support yet.

On the other hand there seem to be just 2 platforms allowing both local 
and remote interoperation: COM and NSObject. XPCOM is only local 
(1-process), UNO and CORBA are only remote.

-- 
If you want to get to the top, you have to start at the bottom



  reply	other threads:[~2009-03-12 21:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-12 15:57 AuroraUX Combines SunOS with Ada qunying
2009-03-12 19:28 ` anon
2009-03-12 21:09   ` Ivan Levashew [this message]
2009-03-12 22:25     ` Per Sandberg
2009-03-12 23:53       ` Ivan Levashew
2009-03-14  6:01         ` Rugxulo
2009-03-13  5:16     ` sjw
2009-03-13  6:51       ` Ivan Levashew
2009-04-04  8:07     ` Ivan Levashew
2009-03-12 19:44 ` Paul Zacharzewski
2009-03-13 20:35   ` anon
2009-03-14 21:28     ` Ivan Levashew
2009-03-16  7:47       ` anon
2009-03-16 10:00         ` Ivan Levashew
2009-03-16 12:26         ` Paul Zacharzewski
2009-03-16 16:41   ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox