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

[REBOL] More Re: [RSL/UHURU discussion]

From: joel:neely:fedex at: 25-May-2001 19:46

Hi, Volker, and everyone, Here's a bit more on the role of general libraries, stimulated by Volker's discussion.
> I even think the library is the more important part often. > But i read and experience building good libraries > is a very much harder part than special purpose code, >
This far we are in strong agreement...
> because with SPC you know what you want, > with libraries/frameworks you dont. >
...but not to this conclusion! I would state the difference this way: * With special-purpose code, I'm only focusing on the individual task at hand. My code may contain some dependencies on the peculiarities of the task at hand. * After I have accomplished enough similar tasks with special-purpose code, that experience starts to show me which parts are general and which are specific. I copy the general parts, make the specific parts into parameters, and I have something useful for my library. Of course, if I generalize/parameterize the wrong parts, or guess too quickly instead of using experience, I may very well create something not so useful. But trying to apply it will tell me where I got it wrong. It's just a part of the learning process.
> And function is only one part, usability is another. > You try to anticipate what it will be use for, > and that needs experience, experience and talent (i read:). >
And I'm confident that the members of the REBOL community have amassed sufficient experience to begin producing useful generalizations, even if it takes all of us ganging up on the problem.
> I think the core-libraries should be build in and carefully > balanced against each other, and cover the really important > parts. >
Agreed. I'm not proposing UHURU as a replacement for the built-in mezzanine functions.
> If it can't do that, and i have to work with perl-like > »collect your system first«, a large part of Carls > promises failed. >
Here I must disagree. If Carl had built something that only Carl could understand and use effectively, then I'd call *THAT* a failure. But I believe that Carl (and company) have built a foundation that the rest of us can join together to build on top of, and I call such a foundation a success. Unfortunately, Carl only gets a ration of 24 hours per day, just like the rest of us. Therefore, I also believe that we "little people" can play our role in helping that successful foundation achieve fuller acceptance by contributing useful material to a community library. Even if some of it (or even if *all* of it) were not written to the same standards of elegance and conciseness that Carl could achieve (given unbounded time and other resources), that's better than not having it, isn't it?
> > ... If we fail to offer the newcomer to REBOL a large > > collection of existing code (both for the purpose of > > study *and* for immediate black-box re-use) then we > > condemn him to the task of building everything for himself > > from first principles. Such a task is much more suited to > > "highly skilled experts" than to everyday users. > > Want to mention the white-box-reuse. > If i look in the library there are some of Carls scripts > which have an example-section on the end which one has to > outcommend before use. > Making this an option would need > if not args/no-example[ > ... > ] > and thats the crux with black-box: you have to code > much more options, and they bloat the code clarity, > where a single char patch would be sufficient. >
But that's precisely why I've suggested that an UHURU unit contain three distinct parts (within one file,for the convenience of the author): 1) the meta-data used by UHURU itself for indexing, tracing dependencies, searching, etc., 2) documentation, which I assumed would include the usage examples, and 3) the functional code itself. Since the example section wouldn't be embedded in (3), but would be in (2), there wouldn't be any need for commenting out, switches, bloat, or any of those enemies of "clarity".
> And, having customized a script for use gives a good > feeling specially to beginners... I think »you can touch > it« is a good message for rebol :) >
I apologize if I wasn't clear enough in the earlier post; when I said ... offer the newcomer to REBOL a large collection of existing code (both for the purpose of study *and* for immediate black-box re-use) ... I would assume that a beginner might very well (as part of that "purpose of study") take a function from the library, play with it, try changing things to see what happens, see if (s)he could improve performance in specific situations, and so on. Speaking for myself, that's how I learn a new language best -- taking samples, changing them, breaking them, fixing them, etc.
> i would say »to recreat, find or understand«. > And the last two are growing easy if there is nobody > skilled enough to collect, refactor and compress them. > no, the general creation has do be done by > We pay them for that ;-) >
Not nearly enough!
> I would prefer creating »standard examples« > instead of »standard libray«. > hm. what will i say with this?! Well - .. >
There's room enough for both! You work on the first, and some of the rest of us will work on the second. (And any time Carl provides a better solution than what's in the library, I'll be the first to say, "Here's a better way!") -jn- ------------------------------------------------------------ Programming languages: compact, powerful, simple ... Pick any two! joel'dot'neely'at'fedex'dot'com