comp.lang.ada
 help / color / mirror / Atom feed
From: fjh@cs.mu.oz.au (Fergus Henderson)
Subject: Re: Ultimate Language feature list
Date: 1998/05/15
Date: 1998-05-15T00:00:00+00:00	[thread overview]
Message-ID: <6jgita$ovt$1@mulga.cs.mu.OZ.AU> (raw)
In-Reply-To: 6jc18b$lug$1@news.eclipse.net


Have you considered Sather?
It satisfies most of these requirements.

"MSG" <michael@pickles.org> writes:

 >#1 Verbosity.  C++ and Java's cryptic syntax is cute and fun, but not
 >useful.  Our Language (OL -- come up with a good name) should be verbose
 >like Ada and Eiffel.  Semicolons optional like Eiffel (except where
 >ambiguous).
 >#2 Completely OO.  No free floating subroutines.  The only construct higher
 >than a CLASS is an Organizational Unit (like an Eiffel cluster).
 >#3 Object-Dot-Feature syntax.  No Ada95esque subprograms which take class
 >arguments (like C++ friend functions).  I am torn between Object-Dot-Feature
 >and Object SPACE feature syntax (like Smalltalk).
 >#4 Reference Objects as a default with the ability to expand an object or
 >class to full form (like Eiffel EXPANDED types)
 >#5 Garbage Collection.
 >#6 Construction and Finalization
 >#7 Predictable Finalization for stack-based objects (either reference or
 >expanded).  When the immediately enclosing scope terminates, the
 >finalization is called THEN. This is VERY important for reliable external
 >resource management (OK, C++ did this right).
 >#8 Polymorphism as the rule.  Let the compiler figure out which routines are
 >not overridden and use static calls where appropriate (a la Eiffel).
 >#9 Named arguments.  Either like Ada or like Smalltalk (object moveTo: here
 >usingPath: aPath).
 >#10 Array and record aggregates (like Ada).
 >#11 Multiple inheritance like Eiffel, NOT C++.
 >#12 STRONG typing and constraint/program checking in the compile and runtime
 >like Ada.  Options to remove such features in a "finalized" version is very
 >much necessary.
 >#13 Ada-style tasks.  Using Object-as-task, like the proposed Eiffel
 >extension "separate".  Ada's SELECT mechanism.  Protected types (like
 >Ada95), Java almost got this right.
 >#14 EASY access to other languages/calling conventions.  Any CLASS's
 >features my be effected by external other-language routines. The includes an
 >easy way to link to C++ libraries.  Such special classes can specify that
 >for "THIS" an other-language-notion be used. Such classes would lack
 >"variables", being limited to routines only.
 >#15 Generics.  Not templates.
 >#16 Intrinsic types (like Integer) as objects, but completely replaced in
 >generated code by native types (like Eiffel).
 >#17 Ada's float types (delta, digits).
 >#18 Range specifications (like Ada).  Checked at compile time and run time.
 >#19 Discriminated record/class types (like Ada).  Checked at compile time
 >and run time. (maybe not necessary with inheritance)
 >#20 An easy with to extend and re-expose/hide features of parents.  Like
 >Eiffel.
 >#21 Distributed computing.
 >#22 Pre- and post-conditions (from Eiffel).  Including support for the "old"
 >keyword.  The closest thing to Z (pronounced Zed - a formal method) that
 >I've seen.

--
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3        |     -- the last words of T. S. Garp.




  parent reply	other threads:[~1998-05-15  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-05-13  0:00 Ultimate Language feature list MSG
1998-05-13  0:00 ` Charles Hixson
1998-05-14  0:00   ` Eugene Mayevski
1998-05-13  0:00 ` John McCabe
1998-05-13  0:00 ` Mark K. Gardner
1998-05-15  0:00   ` Jussi Santti
1998-05-14  0:00 ` Mats Weber
1998-05-15  0:00 ` Nick Leaton
1998-05-15  0:00 ` Chris Miller
1998-05-15  0:00   ` Franck Arnaud
1998-05-15  0:00   ` Stephen Bull
1998-05-20  0:00     ` John Volan
1998-05-15  0:00 ` Fergus Henderson [this message]
1998-05-15  0:00 ` Nick Roberts
1998-05-16  0:00   ` Tarjei T. Jensen
  -- strict thread matches above, loose matches on Subject: below --
1998-05-13  0:00 adam
1998-05-14  0:00 ` Rainer Joswig
1998-05-14  0:00   ` John English
1998-05-14  0:00     ` Michael F Brenner
1998-05-14  0:00       ` Charles Hixson
1998-05-14  0:00       ` John McCabe
1998-05-15  0:00 ` Fergus Henderson
replies disabled

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