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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,abfa4f5da664715 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!news.motzarella.org!motzarella.org!octagram.motzarella.org!not-for-mail From: Ivan Levashew Newsgroups: comp.lang.ada Subject: Re: AuroraUX Combines SunOS with Ada Date: Fri, 13 Mar 2009 05:53:35 +0600 Organization: A noiseless patient Spider Message-ID: References: <6af3aae9-5f85-4bdc-82c2-dfad5d4deaed@d2g2000pra.googlegroups.com> <%ndul.56315$4m1.48387@bgtnsc05-news.ops.worldnet.att.net> <49B98BCF.3050203@bredband.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: news.eternal-september.org U2FsdGVkX19mAYpeICj5bWKYDZYm+RMSPTXVlm+a6lN/DgvyY5Vx/sKwK0G1Cgplk/vDaGTTJiKf5Bewvz9kkMNstm26fh0rUsYng20aycBsbjsoKnzhHUvkPHgZU3GbhT5w5bqOFByx3Qyql3k+hQ== X-Complaints-To: Please send complaints to abuse@motzarella.org with full headers NNTP-Posting-Date: Thu, 12 Mar 2009 23:52:52 +0000 (UTC) In-Reply-To: <49B98BCF.3050203@bredband.net> X-Auth-Sender: U2FsdGVkX1/i6uRYZiqpWZs5sI0/aebETLuCB7HVmNn9jkV3u06yXQ== X-Image-URL: http://img220.echo.cx/img220/9664/111408397042725603791c71pb.gif Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEUAAAOZlpMaJz3/9fYs //8FP1E2M3Qbef+MAAACEklEQVQ4jZ2TTW7bMBCFJwO465B2uqZfS+4NnyBA7LXMerSPEPL+R+gb KqmTIAWKDiCCmo9v/kSJqGaVJCp/TLk3kbypSPmdX2QD2YikTUrAe6CqiWuCL/LR3Cfu/AJgbP4K Phtjfz77vwAfOv4XkNPXVSkqwZvmfTZMAriHMOGG1EOt7xw1Rli8hTIkV4DDTIFn6qqYZJ5JFLhT yIVnHAoIrlYTNGKf7yVMUS4yvYITdC8EMaZwHyX4t4ERnCv2uN+HGMFH4x2bHuDEahD1IUR18LAn mC3Jjork3Wny28Gp+h1pMhR08VV9s55hc/J08qrg90RHP15uXag4c1pYMFvVbHmBB3bFtVGBpVwe z+Hno7UyABU8yYEt1l5q+P54Mj8sM5dsVdRqu4RDCLvWGn2lj8pMJdC2BMdtCFG0L8rptiz6Y3s8 Hh1wjehXby133vRneo5hBSgvu+rfozdodnDYui6g7645m1jpVXELFUtnz6yo9MUKfo1YhzXF6WSc bu09Ax7rcGSsgNKezKggaDNGLH8icz80EsmlcwxOPMcBBJZd0VnWzOnSGbYUMEXNnqO00gvB4p1T gG7TUMydxjljz9xxAAyFzUvpfiEZLHD91iwNhVmvfXybYaksDioVlDh4JdqbwVYFyQ2Unq8EeQDr GDfcrS/ZUF8VJAtWUW8pPyFXr8oDMun4r0pHgiVMafoNgUqRDtakwdAAAAAASUVORK5CYII= X-Face: *tpB#/X3&Zh\?<4l;hAgY:m6lt6L]v#Udy\Xwy{@<'qP=9clA}kEbbSV1]B0a^O{|ibsNV~|zu.Da}V4*se@ns!8*Bt$9l-]nbD}o*7ml9J2)u:"!6P%_-`y9,'.L.Psp),njUf!=F5;kx%~\,'D$%{" Cancel-Lock: sha1:mX89gYvsykwn1uGfF3b4QJHId4M= User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; ru; rv:1.8.1.19) Gecko/20081209 Thunderbird/2.0.0.19 ThunderBrowse/3.2.3 Mnenhy/0.7.6.666 Xref: g2news2.google.com comp.lang.ada:5063 Date: 2009-03-13T05:53:35+06:00 List-Id: 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