More Re: [RSL/UHURU discussion]
[1/2] 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
<<quoted lines omitted: 13>>
> 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 rebol.com.
> 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
[2/2] from: gjones05::mail::orion::org at: 26-May-2001 7:39
From: "Joel Neely"
> 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!")
I contemplated the two sides of the coin yesterday evening, and realized
that the community does need both. A lot of my learning occurs just
like Volker is describing. There are several FAQ's and How-To's spread
around. Some of these contain positively golden nuggets. The problem I
have currently, is that I remember running across a hint, but I can't
remember where it was. Furthermore, given that I learn one thing, I
forget another, I can't even remember who all is maintaining FAQ-ettes
and How-To's.
Like, I know that Allen's site has a /View FAQ, and some explanatory
articles on select topics. Brett's site has distilled some of the
knowledge farmed from the list. REBOL's site has various bits and bytes
of documentation that is "spread around" (my characterization added for
dramatic purposes ;), and the desktop has lead-ins to demos and sites
with code examples. And, of course, the list is archived in total at
escribe. And on, and on, ad infinitum, ad nauseum... But, wow, where
was that reference to how to collect cgi HTTP posts that are larger than
4k?
So, I have to start surfing. By the time I finished surfing, I usually
could have figured it out myself. But, what a waste of effort. There
is no unified location.
Of course, I could ask the list, but, unless someone just happens to
remember *exactly* where the snippet is, the answerer has to expend some
time and energy to collect and answer. And, of course, the same
question gets asked time and time again, because it *is* a good
question.
What Volker describes would be like a super-FAQ/HowTo. It would be a
very nice addition to the community, but it is a project with a
different scope than the RSL/UHURU project in my mind. (Aside: scary
thought about what resides in my mind! ;)
If RT dedicated one official page of reference links (like the rebol.org
page) that were also kept up-to-date and were organized, the problem
might not be so bad. The only other short-term solution would be to
have our own special purpose REBOL sites search engine (Hey, yet
another REBsite). But I think the grand-unified Volker creation would
be better in the long run --- a long standing, current, up-to-date,
organized repository of snippets/howtos/etc.
I know that this monlogue has drifted way off topic, but not really,
though, because Volker has a great idea that is being diluted by being
included in this library thread.
Yes, Joel, we need both solutions.
May I get another cup of coffee? Maybe I've had enough already!
--Scott Jones
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted