Jim Lawrence
accessd at shaw.ca
Fri Oct 26 00:28:54 CDT 2007
Hi Shamil: Comments and replies from my friend and myself are provided inline. >What are these "delayed calls"? - I'm wondering what real projects >development tasks they help to solve effectively? C# 2.0 has these - they are called "anonymous delegates". Most modern languages now have them in one form or another. I recommend googling for "closures in <language of your choice>" and just reading about them... (My comment: it is like an enhanced call-back.) >I'm not arguing with you and your friend nor am I trying to start a >discussion C# vs. Eiffel - I'm just wondering what are these attractive >Eiffel features your friend mentioned, which I'm unaware about, how useful >they are in business applications development and how can one simulate them >by using e.g. C# or C++/CLI.... Let's face it - anything you can do in Eiffel can also be done effectively in just about any current language. For me, it comes down to one simple thing: Eiffel provides a more direct path from the concept to the implementation. Take a look at www.eiffel.com and check out the various blurbs and then download the free version and try it out ;0) >"Multiple inheritance" and genericity - well, C# doesn't have multiple >inheritance but C# has Generics - aren't they enough for most of the real >business tasks programming? If not - then for that kind of tasks one can >use C++/CLI with all its power of multiple inheritance and C++ templates >etc. ? >(C++/CLI is not free but it's available in e.g. MS Empower program package, >which is not that expensive...) >I'd think that "design-by-contract" will not help to reduce that much the >bugs without good (unit) test coverage but when good test coverage exists >what is the use of "design-by-contract"? I hear a lot of talk about contracts in the Java community, but the language offers almost zero support for it. Contracts can change the way you think about the code, and are especially useful for doing incremental development. >"built-in doc that blows away the competition" - what is that? For instance, there is the "flat" view of a class, that shows *all* the attributes and methods in one place; each is annotated with the class from which it was inherited. Contrast that with the more common doc, where you have to go on a treasure hunt to figure out all the methods etc, and what was inherited from where. >"visual round-trip engineering tools" - what are that? Again, similar stuff exists for other languages. Eiffel has a tool that lets you diagram your system and then it will build the skeleton for you. Conversely, you can create the diagram from existing code; hence "round-trip". >Forward-/reverse-engineering for UML(?) object diagrams... Not sure what UML <--> Eiffel tools exist.. Jim -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Thursday, October 25, 2007 2:57 PM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB <<< - It has delayed calls (aka "closures") >>> Hi Jim, What are these "delayed calls"? - I'm wondering what real projects development tasks they help to solve effectively? I'm nor arguing with you and your friend nor am I trying to start a discussion C# vs. Eiffel - I'm just wondering what are these attractive Eiffel features your friend mentioned, which I'm unaware about, how useful they are in business applications development and how can one simulate them by using e.g. C# or C++/CLI.... "Multiple inheritance" and genericity - well, C# doesn't have multiple inheritance but C# has Generics - aren't they enough for most of the real business tasks programming? If not - then for rhat kind of tasks one can use C++/CLI with all its power of multiple inheritance and C++ templates etc. ? (C++/CLI is not free but it's available in e.g. MS Empower program package, which is not that expensive...) I'd think that "design-by-contract" will not help to reduce that much the bugs without good (unit) test coverage but when good test coverage exists what is the use of "design-by-contract"? "built-in doc that blows away the competition" - what is that? "visual round-trip engineering tools" - what are that? Forward-/reverse-engineering for UML(?) object diagrams... <<< Here is an article from there that helps to show its amazing power: http://www.eiffelroom.com/article/fun_with_generics >>> Jim, C# has Generics with static casting, when one will want to do something more tricky they can well generate and compile and bind C# code and classes and objects instances on-the-fly... ...but IMO this referred article titled "Fun with Generics" doesn't give any real life applications samples where dynamic Generics casting existing in Eiffel (and lacking in C# and Java) - where this dynamic Generics casting is really needed? Does your friend have such samples, which can be looked through? ... Thanks. -- Shamil -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Friday, October 26, 2007 12:32 AM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB Hi Gustav: As promised here is a reply from my friend: <email> Hi, Jim: The ISE Eiffel website is www.eiffel.com. Note that they now have a dual licensing model for EiffelStudio (the stand-alone workbench), so one can use it free for open source software. There is Eiffel for ASP.net which is *free* - we need to check this out! There is also a .net plugin for Visual Studio (EiffelEnvision) that is not too pricey ($US 1799). Why would we be interested in this beast? - The enterprise versions include visual round-trip engineering tools - The language is very high level, so you can get a lot of mileage with very little code - It works with .net and stand-alone on several platforms - It has design-by-contract, which really helps to reduce bugs - It has simple and powerful multiple inheritance and genericity (none of the "interface" crap that passes for o-o in most other languages) - It has delayed calls (aka "closures") - It has a powerful reflection api - It is really easy to learn because it is so straightforward and logical - It has built-in doc that blows away the competition After coding in Java for a year, I am more than ready to jump ship to Eiffel myself! I would recommend also checking out Gnu SmartEiffel - see http://smarteiffel.loria.fr/index.html Another good link: www.eiffelroom.com It has articles, blogs etc on eiffel. Here is an article from there that helps to show its amazing power: http://www.eiffelroom.com/article/fun_with_generics Best regards, Yigal </email> Hope you find this useful. If you need further details that is also easy to provide. Jim -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, October 25, 2007 10:45 AM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB Hi Gustav: I am not qualified to give comment of the Eiffel product myself as all my knowledge is second hand but I have passed your query on to my friend and when he responds I will post his email here. Jim -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, October 25, 2007 10:18 AM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB Hi Jim Interesting. Perhaps your friend could tell us briefly about the highlights of Eiffel? Why is it worth the money? /gustav >>> accessd at shaw.ca 25-10-2007 19:18 >>> Shamil... you are correct in all that. This friend who is strongly recommending Eiffel is planning on leaving his current job soon and as his wife now has an excellent job at the college and he has decided to go freelance. He wants to work with me on projects and is planning on buying a full licensed version.... To make a short story long I may be becoming an Eiffel guru whether I want to or not. Jim -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, October 24, 2007 11:48 PM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB <<< I was unaware of the product cost.... >>> Hi Jim. Yes, I have just checked the price - it looks unaffordable for small-/middle-size businesses. Yes, there is evaluation version but... I'd currently think that ASP.NET and C#/VB.NET(VS Express) + MS SQL 2005 Express/Access backend DB is the best ever available toolset for Web (and whatever else) real life business applications development... And they are free for download and use, aren't they?... -- Shamil -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, October 25, 2007 5:46 AM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB I do not usually answer my own emails but... I must qualify my last comments as I was unaware of the product cost which had me fumbling for my oxygen mask as soon as I saw it. Fortunately there are evaluation copies available. Jim -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, October 24, 2007 12:12 PM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Renaming DBA-VB I offer wonder why Ruby-on-rails is such a popular program considering that its performance is rated at one thirtieth of that of C and far below the speed of any .Net flavour. A friend has recently been required to work with ROR and was not impressed with performance and that it could be written so cryptic that he was required to write extensive notes in the code. His recommendation for the finest .Net programming language is Eiffel: http://archive.eiffel.com/doc/manuals/technology/dotnet/eiffelsharp/ Jim _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com