comp.lang.ada
 help / color / mirror / Atom feed
From: JKop <NULL@NULL.NULL>
Subject: Re: OOP Language for OS Development
Date: Sat, 24 Apr 2004 15:27:51 GMT
Date: 2004-04-24T15:27:51+00:00	[thread overview]
Message-ID: <XHvic.5501$qP2.13349@news.indigo.ie> (raw)
In-Reply-To: d853834.0404230630.4c782a58@posting.google.com

Steven Wurster posted:

> Calum <calum.bulk@ntlworld.com> wrote in message
> news:<c6ap5j$1nh$1@newsg1.svr.pol.co.uk>... 
>> 
>> I am in no doubt that Eiffel is cleaner safer language, however 
that's
>> not quite the same as power.
>> 
>> So what can you express in Eiffel that cannot be expressed in C++? 
>> [Actually, resolving name-clashes in multiple inheritance is one, 
>> contracts is another.]  But are these fundamentally difficult in 
C++,
>> or  just a little uglier? 
> 
> Contracting is fundamentally difficult in C++, because adhering to 
the
> inheritance rules of contracting is not easily accomplished.  Doing 
so
> requires a lot of preprocessor directives/macros, and makes the 
code
> extremely ugly.
> 
> Resolving name clashes in C++ *can* be difficult if there are a lot 
of
> them, and you need to make sweeping changes.  Automated search and
> replace can help, of course, but may not do everything you need. 
> Otherwise, it's just flat out ugly in C++.
> 
> Eiffel supports selective exporting, covariant argument 
redefinition,
> constrained genericity, and has polymorphism by default without any
> added performance penalty.  C++ supports none of these.  Eiffel 
also
> fully supports the Open Closed Principle, while C++ does not (due 
to
> requirement of virtual keyword and private access limitations).  
None
> of these issues really affect the choice about whether one can 
develop
> an OS with them or not.
> 
> 
>> Are parameterized types in Eiffel as flexible as those in C++?
> 
> Not really.  Eiffel supports constrained genericity, but it does 
not
> support expression templates like C++ does.  Of course, expression
> templates are really a side-effect in C++, as they were not part of
> the original intention.  They are great for performance and 
expressive
> power, but they are damn ugly.  :-)
> 
> Steve


Why the hell would you want automatic polymorphism? There's times 
when I want functions NOT to be polymorphic!

-JKop



  parent reply	other threads:[~2004-04-24 15:27 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-15  5:53 OOP Language for OS Development KingIshu
2004-04-15  8:02 ` Martin Krischik
2004-04-15 12:25 ` Ioannis Vranos
2004-04-15 12:49   ` Ioannis Vranos
2004-04-15 12:39 ` Thomas Gagné
2004-04-15 14:32 ` jeffc
2004-04-15 14:45 ` Luke Guest
2004-04-17 16:30 ` Ender Everett
2004-04-19  1:53 ` EventHelix.com
2004-04-19  7:25   ` Martin Krischik
2004-04-19  8:35   ` Jean-Pierre Rosen
2004-04-19  9:16     ` Ioannis Vranos
2004-04-19 11:15       ` Jean-Pierre Rosen
2004-04-19 11:32       ` Martin Krischik
2004-04-19 17:36       ` Christopher Benson-Manica
2004-04-19 11:09   ` Philippe Ribet
2004-04-22  7:34     ` Calum
2004-04-22 10:48       ` John English
2004-04-23  8:36       ` Philippe Ribet
2004-04-23  9:55         ` Calum
2004-04-23 14:30           ` Steven Wurster
2004-04-23 15:04             ` Hyman Rosen
2004-04-23 22:08               ` Brian_Heilig
2004-04-23 22:33                 ` Hyman Rosen
2004-04-24 12:53                   ` Robert C. Martin
2004-04-25  1:25                     ` Steven Wurster
2004-04-25 12:30                       ` Robert C. Martin
2004-04-24 19:58                   ` Anthony Weissenberger
2004-04-25  2:24                     ` Hyman Rosen
2004-04-24  0:01               ` Steven Wurster
2004-04-24 15:27             ` JKop [this message]
2004-04-24 21:41               ` Greg C
2004-04-24 22:17               ` Steven Wurster
2004-04-29 17:43               ` Brian_Heilig
2004-04-23 16:22           ` Georg Bauhaus
2004-04-23 16:45             ` Hyman Rosen
2004-04-23 20:13               ` Georg Bauhaus
2004-04-23 21:18                 ` Hyman Rosen
2004-04-24 10:33                   ` Georg Bauhaus
2004-04-25  2:27                     ` Hyman Rosen
2004-04-23 23:03               ` Brian_Heilig
2004-04-25  2:42                 ` Hyman Rosen
2004-05-04 18:37                   ` Dr Chaos
2004-05-05 11:58                   ` Ged
2004-05-05 12:28                     ` Thomas Gagné
2004-05-06  9:35                       ` Ged
2004-04-24  0:10               ` Steven Wurster
2004-04-25  2:37                 ` Hyman Rosen
2004-04-24  1:00 ` Brian_Heilig
2004-04-26  3:43   ` Berend de Boer
2004-04-26  4:17     ` Christopher Browne
2004-04-26 21:52       ` Berend de Boer
2004-05-04  4:14     ` Richard  Riehle
2004-05-04 21:15       ` Berend de Boer
2004-04-28 19:53   ` Philippe Ribet
2004-04-29  8:32     ` Georg Bauhaus
2004-04-30 17:48       ` Philippe Ribet
2004-04-29 17:39     ` Brian_Heilig
     [not found]       ` <1402879.WneVss6BD6@linux1.krischik.com>
     [not found]         ` <ba03b545.0404300503.376243c8@posting.google.com>
     [not found]           ` <c6tk6v$amm$1@news.BelWue.DE>
2004-04-30 13:46             ` Preben Randhol
2004-04-30 19:30             ` Steven Wurster
2004-04-24 22:09 ` Thomas Gagné
2004-04-25  2:17   ` Hyman Rosen
2004-04-25 16:31     ` Alexander E. Kopilovich
2004-04-25 16:58     ` Isaac Gouy
2004-04-26  0:01       ` Cesar Rabak
2004-04-26  6:14         ` Isaac Gouy
2004-04-26  2:06       ` Thomas Gagné
2004-04-25 16:29   ` Alexander E. Kopilovich
2004-04-26  4:17   ` Christopher Browne
replies disabled

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