[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "static" declaration




--- Pixel <pixel@mandrakesoft.com> wrote:

> - standardisation pb: if "strict" changes the semantic (the way it
> does in perl), you allow people to define their "own perl". The
> result
> is that you have to know the "strict"ness to understand & modify a
> program. This is already somewhat the case in perl, but since there's
> only one "strict", one learns&knows it.

I think this strikes at the heart of "lightweight" vs. "heavyweight"
langauges. One of the things I look for in a lightweight langauge is
the freedom to develop my own idioms and style. The whole point of
programming in Scheme, for example is to use Macros to define my own
programming syntax.

Your point about making a program easy to modify by a second programmer
is certainly a good argument for developing languages with lots of
standardization for certain situations, such as business programming.
That's why Java has such "heavy" libraries, covering everything from
how to write a web server to how to model a business entity to how to
iterate over the members of a collection.

It's not so much making it easy to do the first time: any competent
programmer can write a collection class in the same time it takes to
figure out the library's idiosyncrasies. Instead, I suggest it's the
fact that there's a standard idiom that every programmer understands,
which makes it easier to read someone else's code.

However, there's a "heavy" price to pay for standards. It's difficult
to use another paradigm for those situations where the designer's
concepts do not fit the situation. Look at the hacks (I intend this
word in a complimentary sense) people have put together for Design by
Contract in Java, for example. Perhaps if I had a programmable "strict"
facility in Perl I would want to add C++'s const keyword to the
language?

I am not suggesting that Perl is a good language (whatever "good"
means). I am merely suggesting that it is an extrordanarily good thing
to have a language where you are free to develop and hopefully enforce
your own programming style and idioms.

Peace out :-)

=====
Reginald Braithwaite-Lee
http://www.braithwaite-lee.com/   <-- background information
416-827-3488

__________________________________________________
Do You Yahoo!?
HotJobs - Search Thousands of New Jobs
http://www.hotjobs.com