Hello, Petr, (and world!)...

Petr Krenzelok wrote:
> 
> I know what multiplatform issue means. I am sorry but sometimes all
> that be-multiplatform-or-die voices sounds a little bit
> "masochistic" to me :-)
> 

Perhaps, but the demands of a typical multiplatform each-box-does-
-things-differently seem more than a little bit sadistic to me ;-)

>
> Isn't purpose of language to SOLVE various situations in first
> place? How often do MOST ppl in reality need their solution to work
> on more than one platform? On more than two platforms? etc.?
>

I can only speak for myself, but I LIVE in a multiplatform world ...

    Solaris
    HP-UX
    Linux
    w95
    w2000
    MacOS

... and consider cross-platform compatibility to be a survival issue
rather than a luxury, for at least the following reasons:

1)  I have frequently needed to use a script or reusable object on
    many of the above platforms to get actual work done.

2)  Even when not deploying the final code to multiple platforms for
    "real" use, I have found it convenient (if not necessary) to be
    able to do development in one environment (e.g., my laptop, home
    box, etc.) of code that I will actually use "for real" in another.

3)  I often have needed to "do nuclear physics" on REBOL -- perform
    one or more semi-obscure experiments in an attempt to deduce the
    way that some feature of the language works, or to confirm my
    mental model of how it works -- in order to use REBOL for some
    specific task.  It's been VERY useful to be able to do such
    things with whichever platform is at hand.

4)  Even when specific finished pieces of code haven't needed to move
    from one platform to another, the experience I've gained writing
    something on one platform has enabled me to re-use the same ideas
    and skills on all REBOL-enabled platforms -- without even having
    to think about that fact!

5)  There is substantial productivity gain from the fact that REBOL
    provides a clean conceptual basis for doing many things that
    require mass quantities of picky and variable details with other
    languages on various platforms.  Consider how much code it would
    take to say

        foo: read http://www.bletch.com/

    using language X on platform Y.  This gain is addictive; having
    once tasted its nectar, I am loathe to return again to the fetid
    swamp of proprietary irrelevantia.

>
> We should probably find some balance here. Many ppl here expressed
> need for link to external environments here already. We probably
> lost some ppl already too because of that fact.
> 

With respect to point (5) above, it is the very high standard that
REBOL sets for clarity and expressivity that is the origin of those
(assuredly few) places where I find myself frustrated with REBOL.

For example, it is beautiful to be able to say any of:

    baz-from-web:  read http://www.xxx.com/
    baz-from-ftp:  read ftp://ftp.xxx.com/
    baz-from-disk: read %/path/to/file.data

trusting READ to handle the trivia implicit in those similar-in-idea
but very-different-in-implementation-detail access methods.  Coming
from that "high", it is a very deep "low" indeed to discover that I
am left so much to my own devices in handling CGI input -- having to
concern myself with very different aspects of the lightly-documented
SYSTEM object depending only on the length of my input!  It is of
little help to have the "GET" vs. "POST" distinction managed for me,
only to trip over some magic buffer size limit.

In a related example, there is a wealth of relevant information
for a CGI program that is available via the system environment.  I
found it truly baffling not to have all of these same parameters
offered via a single object or associative data store, but rather
split up into different "places".

I'm sure that this is not quite what you meant in your reference to
"external environments", but it is an example of a concept that is
widely available in many platforms and languages, and which has some
fairly obvious incarnations in REBOL (e.g., object fields or assoc.
data store) and yet was either obscured or taken completely away
from the programmer.

I don't want to sound as if I am condemning REBOL or RT here, but
rather I am suggesting that the quest for perfection admits of no
balance points.  The more beautiful and elegant the majority of
the language is, the more glaring the small imperfections are by
contrast.  Once we start down the road of freeing the programmer
from platform minutia, it is hard to find an acceptable off ramp!

Joel "I think I just used two weeks quota of REBOL time" Neely
-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to