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

[REBOL] Re: Tuples - Was Pair! thread

From: joel:neely:fedex at: 8-Feb-2002 8:28

Hi, again, Carl, Carl Read wrote:
> Let's say you got your wish and REBOL was open-sourced and some > here gave their REBOLs the ability to compare pairs for lesser > and greater. Now, what's to stop them puting scripts on the Net > that require those comparisons? >
Absolutely nothing. Except their own good sense and wish to have other people actually USE their scripts. (And my earlier post touches on the point that variations of this sort are *already* happening WRT various libraries that people base subsequent code on.) Why do we have to make the assumption that programmers must have a centralized, absolute control "to stop them" from destroying the universe?
> It's a recipe for a mess. >
I must disagree. Let's use me as an example. A few months back we had a discussion of zero-origin vs one-origin WRT blocks. There is absolutely nothing *currently* preventing me from writing my own custom definitions of AT , PICK , POKE , INDEX? etc. that use zero-origin design, putting those definitions in my user.r file, then writing code that depends critically on that choice of origin. And then posting that code to the list. Actually that's not correct. There's no *external*authority* telling me that I can't do so, but I am restrained by my own sense of ethics and my desire to have others use my work and take it seriously. If I kept posting such code to the list, I'd run the risk of confusing newcomers to the language, and causing them to waste their time, energy, attention, enthusiasm, and interest on code that they wouldn't be able to use (and might think was their fault or representative of the state of REBOL). That would be wrong. If I kept posting such code to the list, I'd get the reputation of being "that crazy zero guy" and regular readers of the list would simply ignore anything I posted. That would be detrimental to my ability to contribute anything meaningful to the REBOL community, which would make me unhappy. However, both of those hypotheticals assumed that I failed to provide appropriate disclaimers and explanation. Anyone should have the right to post experimental or demonstration code along the lines of "Here's what we could do if we had the foo feature" as a part of a discussion of how things might be done. By the same token, anybody who isn't interested in the discussion of the foo feature is free to ignore such discussions. IMHO it's just a truth-in-labeling issue. Let's not forget that Freedom of Speech is A Good Thing, but it also implies the equally important Freedom Not To Listen.
> Like HTML and Javascript are a mess. When HTML and Javascript > are updated, are all browsers updated at the same time? No, > because they're produced by a wide range of competing factions. >
You left out the important adjective "commercial". In the dog- eat-dog mentality epitomized by The Nameless Company From Redmond, one must introduce incompatibilities in order to lock one's customers into using only one's products, to the exclusion of all alternatives. One's value is largely determined by how much one can control other people's behavior. In the marketplace-of-ideas mentality of open source (and the entire educational system, I might add), there is the freedom for vigorous debate, exploration, experimentation, and difference of opinion, but the outcome is usually convergence on what works best for the greatest number of people. One's value is largely determined by how much one can contribute that others find to be useful to their needs and circumstances. However, the number of outright geniuses that can blaze brilliant new trail and accumulate a following is an incredibly small portion of the total community (and the community usually figures out who they are fairly quickly -- massively parallel processing works!) The bulk of the community are pragmatic folks who want to get a job done. They are motivated to stay with what has been shown to work well, rather than chasing the latest fad. Therefore their work tends to be portable and re-usable. And -- if it's open to the community -- others are usually more than willing to help them make it more so. I might point out that there's another variation on this issue; in a standards-and-interoperability-driven world, much of the energy of competition goes into doing the BEST job of delivering tools that conform to the standard, so that the consumer gets to make her/his own choices within the price/performance/features space. Having a published standard for residential electrical outlets (and then letting companies do their best to produce desirable outlets and extension cords) is IMHO a far more beneficial state of affairs than requiring everyone to buy their cords from a single manufacturer. Is that a perfect solution? Probably not, for most definitions of perfection. Does it always make everyone maximally happy? No. But as one wag remarked regarding democracy, "It's the worst system possible, except for all of the alternatives!" -jn- -- ; sub REBOL {}; sub head ($) {@_[0]} REBOL [] # despam: func [e] [replace replace/all e ":" "." "#" "@"] ; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"} print head reverse despam "moc:xedef#yleen:leoj" ;