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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!kanaga.switch.ch!news-zh.switch.ch!switch.ch!cernne03.cern.ch!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: How come Ada isn't more popular? Date: Fri, 09 Feb 2007 11:36:01 +0100 Organization: CERN News Message-ID: References: <1169636785.504223.139630@j27g2000cwj.googlegroups.com> <45b8361a_5@news.bluewin.ch> <3pejpgfbki.fsf@hod.lan.m-e-leypold.de> NNTP-Posting-Host: abpc10883.cern.ch Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: cernne03.cern.ch 1171017361 25077 137.138.37.241 (9 Feb 2007 10:36:01 GMT) X-Complaints-To: news@@cern.ch NNTP-Posting-Date: Fri, 9 Feb 2007 10:36:01 +0000 (UTC) User-Agent: Thunderbird 1.5.0.9 (X11/20061220) In-Reply-To: Xref: g2news2.google.com comp.lang.ada:9176 Date: 2007-02-09T11:36:01+01:00 List-Id: Jean-Pierre Rosen wrote: >> While the inability to return limited types from a function is a bit of >> an inconvenience, ... > And you can always return a *pointer* to a limited type, which is what > you would do in most other languages. Which is entirely missing the point. The purpose of returning limited types from a function is to implement the constructor functionality for those types that are considered critical and cannot be left uninitialized. Initialization by procedure is prone to bugs that cannot be checked at compile-time (forgetting or bypassing the initialization), same for initialization by pointer. Both "solutions" fail to meet the initial goal which is to enforce at compile time the proper initialization for selected important types. The ideal solution is called "constructor", everything else is just patchwork. Returning limited types is a compromise that can be satisfying in most cases - that's why it's good that Ada 2005 provides at least this feature. -- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/