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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1116ece181be1aea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-25 14:58:12 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!hammer.uoregon.edu!skates!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: Re: Is the Writing on the Wall for Ada? Date: 25 Sep 2003 17:50:51 -0400 Organization: NASA Goddard Space Flight Center (skates.gsfc.nasa.gov) Message-ID: References: NNTP-Posting-Host: anarres.gsfc.nasa.gov Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: skates.gsfc.nasa.gov 1064526821 20304 128.183.235.92 (25 Sep 2003 21:53:41 GMT) X-Complaints-To: usenet@news.gsfc.nasa.gov NNTP-Posting-Date: 25 Sep 2003 21:53:41 GMT User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 Xref: archiver1.google.com comp.lang.ada:42940 Date: 2003-09-25T21:53:41+00:00 List-Id: Jan Kroken writes: > My view is that it will be a sad day when the writing is not on the > wall for every language. In the long run, that is true. The subject line doesn't mention a time frame, but it usually means "Real Soon Now". > My only Ada experience is with Gnat, so my view is maybe colored by > that, but I miss several things in Ada: > > 1. A garbage collector > > I know perfectly well that the Ada 95 standard allows for GC, but what > does that help me when the implementation doesn't have it. The > argument against GC is that it's not desireable for realtime systems, Actually, the argument against GC is that it's the wrong solution to the problem. See the recent thread here on GC. The reason no current Ada implementations provide GC is that no customers are demanding it. I have no direct knowledge, but my impression is there are plenty of customers using Ada for other than real-time systems. > but I have never written a real time system in my life, so why > should I not have one? Solidarity? You should not have GC because Ada provides better ways to solve the problems that GC is typically used to solve. Stack based allocation of dynamically objects is one method; Controlled types is another. > 2. Better organization on disk > > The java idea of organizing packages in directories is really a good > idea. Same with .jar files, and the CLASSPATH. This is totally up to you; the Ada language does not define this. So if you like it, use it. The GNAT compiler is perfectly happy with this as well. Hmm, I guess the Sun java compiler assumes this directory organization, so you don't have to add all the directories to the path. With GNAT, you have to add the directories to the path. You could write a tool to do that. But I prefer one directory, with dots in the file names. The directory gets large, but that's not a problem for me. Consider a typical Ada package, named SAL.Math_Float.DOF_3.Text_IO. It's in the file src/sal-math_float-dof_3-text_io.ads. In java, that would be src/sal/math_float/dof_3/text_io.java. Change the slashes to dots; no big deal. > 3. OO > > I know the tagged record thingie is considered OO, but that's just > playing with words. OO as a concept is more than inheritance. Yes, OO is more than inheritance. Which OO feature do you think is missing from Ada? Every OO concept I have heard of is in Ada, except C++ style multiple inheritance, and Java interface inheritance. Java interface inheritance will be in the next version. Other forms of multiple inheritance are currently in Ada, allowing very similar programming styles to the current C++ and Java styles, or different styles if that fits the problem better. > 4. Dynamic strings > > Dynamic strings, with proper library support. Ada.Strings.Unbounded. Way better than C++ Strings. -- -- Stephe