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 05:53:35 +0600
Date: 2009-03-13T05:53:35+06:00	[thread overview]
Message-ID: <gpc78k$prc$1@octagram.motzarella.org> (raw)
In-Reply-To: <49B98BCF.3050203@bredband.net>

Per Sandberg wrote:

> Well I do not understand this statement since adding extra pieces of
> code aka plug-ins is very simple to achieve with any language and
> with Ada you get the safety as a bonus.

Adding, but what about changing and removing in the long term? Adding/
removing methods. It can't be easily achieved in Ada.

Adding new method in XPCOM requires defining new interface in an
ideal world. In the real world, XPCOM interfaces are modified in
situ, and it might result in a crash. In practice crashes are rarely
due to interface mismatch, because developers avoid unfrozen interfaces.

Compare it to NSObject: in NSObject there are no such problems.
Adding a method to a class has no consequences for code that uses
changed classes. Introducing new API is very easy on Mac OS X,
Etoile, GNUStep and Cocotron. Calling a removed method issues an
error as opposed to crashing. There still problems with NSObject
component model. One can introduce/remove methods but can't do it
with fields without breaking dependent code. Public Objective-C
classes often have reserved fields. Either pointer-to-object or array
of char.

Ada (pure Ada) doesn't address this problems at all. That's why
desktop OS based on Objective-C is possible and the one based on 100%
Ada isn't.

> but apart from that the languages are equal when it comes to dynamic
> loading etcetera.

GNAT libraries are sensitive to compiler version whereas G++ ones
aren't (the last ABI change was about 2.95 or so).


In Delphi, dynamically loaded libraries are also sensitive to compiler 
version. Closed source developers have to provide packages for every 
version of BDS.

It's bearable for standalone development environment, but not for OS as 
a whole.

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



  reply	other threads:[~2009-03-12 23:53 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
2009-03-12 22:25     ` Per Sandberg
2009-03-12 23:53       ` Ivan Levashew [this message]
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