Re: Essential feature: assertions

new topic     » goto parent     » topic index » view thread      » older message » newer message

On Mon, 29 Jan 2001 23:52:45 Martin Hunt wrote:
>Sounds pretty complicated to me - sort of like writing your code twice -
>once for the code, and then once for the assertion.
>
>It's not stuff that I want in a language that I use. It would absolutely
>make my life much harder.

Uh, Martin, it's not a feature you would be forced or obligated in any way to
use. Just encouraged to use, in order to make your code more correct,
bullet-proof, however you want to say it. This is one of those computer science
things that has been proven in theory AND practice.

Eiffel has proven to be the most successful OO language for large projects
(dozens of programmers, millions of lines of code) precisely because of its
extensive and well-thought-out assertion facilities. There is a unifying
principle, called "design by contract," behind all of that. It's something every
programmer who uses any language would do well to read up on (even if you never
intend to use Eiffel), because it improves your thinking and your approach to the
whole software development process.

So anyway, if you don't like assertions or have a use for them, just ignore the
facility, pretend it doesn't exist, and go on coding the way you have been doing.
It's no skin off my nose, unless I am tempted to use your software, in which case
"written with extensive use of assertions" would make me more confident that it
will work as advertised most of the time.

>It is very bizarre (IMHO) that people are putting so much pressure on Robert
>to make Euphoria into some kind of C++ or VB substitute. If you want the
>resources of those languages, why not go and pay !0 times more and buy them
>and leave Euphoria for those of us who need a simple, elegant and compact
>interpreted language?

There is nothing I want less than "some kind of C++ or VB substitute." I am
against featurism and unnecessarily complex tools. I appreciate the cleanness and
simplicity of Euphoria. That and sequence are the reasons I am using it. (Also
the *free* public domain version and low cost of registering.)

There are two ways to "improve a language." One is to learn to use it better
without any changes. I admit to being a largely ignorant newbie, but I'm working
to change that. The second way is to add a few well-chosen features. I think Rob
has done an excellent job with the language as it stands. However, there are some
useful features that just might be worth the trouble to add.

Features are divided (fuzzily) into two types: Those you should use, and those
you can use if you want to (and in certain circumstances would make life easier
for you). [There is actually a third type - features you should avoid at all
costs, to the point of shunning languages that require you to use them. smile] The
fuzziness usually depends on the context. I think assertions should be used in
developing commercial software, or even non-commercial software intended for
widespread use by others. (Things like IDEs and GUI libraries come to mind, or
any general-purpose libraries that people are likely to view as essential parts
of their toolkits.) For hacking, prototyping, or personal-use software, one
should feel free to use assertions as much or as little as they like.

>It is even more bizarre that people get so unfriendly about it. RDS provides
>an excellent product at an excellent price. I've never made a purchase of
>any sort where the vendor provides so much support. When was the last time
>you were able to ask a question directly to the programmer when you had a
>problem in VB? Yet last year we had Everett calling Robert immoral or worse,
>and this year we have the lovely MTS feeling that anything goes in the
>attempt to make RDS jump to _their_ tune. What I'm seeing is people who
>don't have anything to offer themselves demanding that RDS do their work for
>them. For free. Yuk.

How about I implement my own language - that borrows heavily from Euphoria,
since as I said it incorporates some very useful ideas, nicely implemented at
that. Then I will get a chance to "walk in Rob's shoes," so to speak. (Just an
idea. Don't hold your breath waiting for me to do it.)

I don't want RDS to do my work for me. I have used lots of languages in the past
where, as you say, I had absolutely no input regarding what features might be
available. Here, we are all in effect part of the "ANSI standard committee,"
though Rob has final say, but at least he listens and responds to requests that
have some merit, even if many of us disagree with his decisions. Having the
opportunity to make suggestions of potentially useful features (useful to
EVERYONE, not just myself), I for one intend to make full use of that
opportunity.

I could grumble back at all the people who keep silent about possibly improving
Euphoria. Surely you have some potentially useful ideas? Is so, you are doing
yourselves, RDS, and the entire Euphoria users' community a disservice by keeping
them to yourselves.

I think Rob will agree that there are opportunites to improve the language. In
general, he seems to appreciate suggestions. Whether to make enhancements for
free or to charge for them is his choice.

>One of the services that RDS has provided free of charge is this mailing
>list. Yet when Robert wants to change it, to solve some obvious problems,
>and to make things a bit easier on himself - all he gets is a crescendo of
>whining.

I have gotten rather tired of that, myself.

>Many people have left the list  - the whiners are saying it's because RDS
>isn't doing enough. In fact, the whiners have made the list into something
>that's not much fun and not very useful - so why would anyone stay?
>
>And in case anyone asks - this post isn't a whine - it's a grumble.

(Intelligent) grumbling is a lot more palatable than whining.

George


Get your small business started at Lycos Small Business at
http://www.lycos.com/business/mail.html

____________________________________________________________
T O P I C A  -- Learn More. Surf Less. 
Newsletters, Tips and Discussions on Topics You Choose.
http://www.topica.com/partner/tag01

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu