Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: zip file support wanted - help needed

From: joel:neely:fedex at: 15-Mar-2001 15:09

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