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.
next prev 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