[REBOL] Re: What's wrong with Ruby
From: Michael_Chean:msn at: 21-Mar-2007 16:25
Maybe so...
but in his 2nd to last paragraph:
Despite what I've written above, I didn't find Ruby horrible. If I needed to use a scripting
language, it's the one I would now use. It's cleaner than Perl, and I like its syntax
better than Python.
----- Original Message -----
From: Maxim Olivier-Adlhoch<mailto:moliad-gmail.com>
To: rebolist-rebol.com<mailto:rebolist-rebol.com>
Sent: Wednesday, March 21, 2007 4:09 PM
Subject: [REBOL] Re: What's wrong with Ruby
hi all,
I had a little bit of time for my monthly rant ;-) ... so I decided to apply
it to "reviewing languages".
when I read the Article (and most comments to it) Its funny how people
judge languages, based on their skill set and current knowledge rather than
on the pros and cons of specific capabilities when paired to each other (or
not). And most importantly, the language's intended style.
the author of that article clearly has one skill set and specific uses for
programming. For example, he is accademic first and foremost AFAICT, and
didn't seem to adapt his programming "style" to ruby's paradigm. people
who learn stuff, usually stick with the things they know as "right" and then
by lack of learning ability, time or interest, will just position themselves
along/against a language with their previous paradigm as the center of the
"right" world.
here we see one individual who (I do not try to undermine the skill and
intelligence) clearly designs and maps his applications in a specific
unchanging way. in what he explains, by flushing out functions and their
argument datatypes. so if you allow types to change, he is distabilised in
trying to clearly define anything. thus he views the lack of static typing
as a con of ruby. he also has a clear cut definition of what an object is,
does, and how one must be used. He is weary of self-modifying code. ahem.
to me, he really comes accross like a person used to be workin in the bounds
of compilation.
I do give him credit for being thorough though and giving some explanations
behind why he likes/dislikes the language. He also clearly has a lot of
background in languages and all. so I value his opinion but I don't really
value his evaluation of ruby itself.
what I don't like is the fact that in almost every review of the kind,
people do not adapt their programming style to the language. they try to
program a square hole with a round peg. that obviously never works. For
example, when coding in REBOL vs python, all the program flow will be
different. each allows its own strenghts, so you must ply yourself to the
language, otherwise, you're just waisting your time. Rebol is slender,
agile and fast.. then you get hit by a branch, and you are KO. one blow and
you're out then you have to find a way to plow through the branch. python
and C are juggenaughts ... slowly but most definitely, there are no walls,
they just plough thru.
try to explain this single line to most non REBOLERS:
a: if arg [red]
which assigns none to 'a when arg has no value and most programmers of most
language will wonder how 'a even gets assigned! then the natural review
will be.. hell, rebol is not clean, you can put your assignment outside of
your conditionals and statements, this is not proper!
but they miss the fact that this scales... like so:
color: any [
all [arg arg2 green]
if arg [red]
if arg2 [black]
purple
]
the above 6 lines are chaos to implement in most languages with a heavy dose
of nested if then (maybe even case) statements and multiple lines of
repetitive assignment code, add one arg and it just gets panicy.
if someone tries out REBOL and isnt' instantly "impressed" by its syntax (or
lack off) he will usually say it looks ugly and its unclear... yet, will
they then really go further and ask why? did this fellow go further than
say its not static typed, so that's bad? He said why he didn't like it, but
he didn't give the reason WHY it isn't static typed ... so probably really
didn't really try to change his programming habits in favor of ruby, there
probably is a good reason why type is not static (which is most definitely
not code looks).
In REBOL, for example, this single detail is intrinsic of the concept of
the universality of series manipulation and dialects. and is one of the
main features of the language, one of the core elegances of its ease of use
and simplicty... word type is as much meaning as word content or value.
Dialects use type to infer meaning, many funcs use type to adapt their
handling.
The fact that each series type in python has its own interface of
differently named methods and members drives me (and others) mad! but then,
can I argue against the fact that any compiled C/C++ code is usable natively
in minutes in python?
so, this all being said, I think REBOL has made me (and many others) a lot
more critic of the actual syntax of languages. Carl hasn't tried to build
the purest language, but the most consistent sweetspot amongst many
competing philosophies and concepts. every decision was weighed heavily and
i don't think a lot of "fanatism" about any one paradigm has disturbed the
overall vision.
btw, I'm just having fun stiring all of you up ;-)
-MAx
On 3/21/07, Michael Chean <Michael_Chean-msn.com<mailto:Michael_Chean-msn.com>> wrote:
> Interesting article...
> http://www.bitwisemag.com/2/What-s-Wrong-With-Ruby<http://www.bitwisemag.com/2/What-s-Wrong-With-Ruby><
> http://www.bitwisemag.com/2/What-s-Wrong-With-Ruby<http://www.bitwisemag.com/2/What-s-Wrong-With-Ruby>>
> --
> To unsubscribe from the list, just send an email to
> lists at rebol.com with unsubscribe as the subject.
>
>
--
To unsubscribe from the list, just send an email to
lists at rebol.com with unsubscribe as the subject.