[dba-VB] Renaming DBA-VB

Shamil Salakhetdinov shamil at users.mns.ru
Fri Oct 26 03:19:42 CDT 2007


Hello Jim,

Thank you for your clarifications!

<<<
C# 2.0 has these - they are called "anonymous delegates".
>>>
OK, I'm using them  in C# - I didn't know they are also called "delayed
calls"...

<<<
Let's face it - anything you can do in Eiffel can also be done effectively
in just about any current language.
>>>
Yes.

<<<
For me, it comes down to one simple
thing:  Eiffel provides a more direct path from the concept to the
implementation.
>>>
OK. This is what is called "Design By Contract"?

======================================================================
http://en.wikipedia.org/wiki/Design_by_contract 

If the invariant AND precondition are true before using the service, then
the invariant AND the postcondition will be true after the service has been
completed.
======================================================================


<<<
  Take a look at www.eiffel.com and check out the various
blurbs and then download the free version and try it out ;0)
>>>
Thanks. I might do that but the next year only probably - hopefully I will
have some time to play with Eiffel by that time....

<<<
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.
>>>
OK. For C#/VB.NET such "contracts" is what agile Test Driven
Development(TDD)/Domain Driven Developpment (DDD) or its modern variation
Behaviour Driven Development (http://behaviour-driven.org/ ) propose to use
for incremental development with latter renamed to Feeedback Driven
Development by thus highlighting the fact the (next) increment is
implemented based on customers' feedback... (We do that in MS Access all the
times don't we? (just a rhetoric remark :) )

<<<
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".
>>>
OK. The more I'm being in software development the more I feel that all kind
of diagramming could be helpful but only when implemented software
architecture is clean - and the latter usually mainly depends on developers'
experience - diagramming/CASE tools are very often helpless here to improve
the software quality... Just my experience of course...

Thank you. 


--
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 9:29 AM
To: dba-vb at databaseadvisors.com
Subject: Re: [dba-VB] Renaming DBA-VB

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

_______________________________________________
dba-VB mailing list
dba-VB at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-vb
http://www.databaseadvisors.com




More information about the dba-VB mailing list