OT, What's Native
[1/5] from: ed:brittlestar at: 27-Jun-2004 10:54
(I've been away from a computer for nearly a week... hard to imagine, I
know.)
> EOC> Simplicity is subjective. It's about balance. Einstein is quoted as
saying
> EOC> "Everything should be made as simple as possible, but not simpler."
The end
> EOC> of that quote implies a warning.
GS> Again, exactly the point. Java is not as simple as possible
GS> because REBOL is simpler. And I don't think REBOL is simpler than
GS> "as simple as possible" --- maybe it could even be made simpler.
My point was mainly that simplicity may not be a significant factor as to
why a language or technology is adopted. WAIS and Gopher predated the web by
quite a few years, and they are far simpler than the web. The web was late
to the online scene, and it was much more complex & bloated than these other
technologies, yet the web quickly left them in the dust. In the US, NTSC is
a horrible & complex television standard, yet it has served a purpose for
30+ years. The human genome is said to contain 60% bloat. Nature & society
at large seems to have intricate needs and complex requirements. These
pressures often result in the success of creations that simply work, with no
particular bias toward things that work simply.
> EOC> - Things too simple are complex
>
> We're not trying to be "too simple". Also, simplicity is
> difficult, I agree, but you always have a price to pay in order to
> have advantages.
Perhaps the issue is intuitiveness ("the path of least surprise") rather
than simplicity. I think that's what Ruby's founder was saying. Larry Wall
also justifies some of the inconsistencies of Perl based on his assertion
that human thought/language also harbors fundamental inconsistencies.
> EOC> - Human thoughts are not simple
>
> That's human's fault. ;-) The good thing is that with enough
> effort you can get simpler.
It matters little if you have a language or technology that is simple,
powerful, etc. if you fail to reach a critical mass for adoption. It is
people that matter, they're the ones writing the programs. Human complexity
is not something that can be corrected; it's baiscally a fixed constraint
that all technologies accommodate to some extent.
> EOC> - Combination of simple concepts can be complex very easily
>
> Right. That's why OO doesn't work --- even if the classes, once
> isolated, are simple enough, just putting them together would
> result in a monster. You need an architectural view, a global
> design. Just putting things together doesn't work.
OO works very well in certain domains. It just may not work well when forced
to fit in all domains, or as a cure-all, as it is currently promoted. I
think it's fair to say that OO is over-hyped, but not to suggest that it is
failed. No form of programming--functional, declarative, imperative,
intentional, or dialects can claim to have solved the complexity problem.
I'm not trying to be argumentative, I'm just trying to stimulate some
thought & dialogue about issues that impact perceptions and adoption of
REBOL.
Best regards,
Ed
[2/5] from: g::santilli::tiscalinet::it at: 28-Jun-2004 15:31
Hi Ed,
On Sunday, June 27, 2004, 4:54:31 PM, you wrote:
EOC> My point was mainly that simplicity may not be a significant factor as to
EOC> why a language or technology is adopted.
Of course --- on the contrary, simplicity goes against wide
adoption, because it's very uncommon, and often requires more
effort.
EOC> The human genome is said to contain 60% bloat.
Actually, most recent studies show that what was considered to be
bloat
(the so called "junk DNA") could actually be the most
important part of it. I.e. not only the coding parts (the ones
which express a protein) are important. For example some parts
express iRNA that is crucial in the life as much as the proteins
themselves, and other parts contribute to the regulation of the
expressions of genes.
Anyway, the human genome is the result of evolution, not design.
If we're going to rule out design from programming then yeah,
maybe we can just let our programs evolve and forget about
simplicity.
EOC> Nature & society
EOC> at large seems to have intricate needs and complex requirements. These
EOC> pressures often result in the success of creations that simply work, with no
EOC> particular bias toward things that work simply.
Fine, but between two things that work, I choose the simpler one.
Programming is a form of art, not industry; I use over-complicated
programs too, because they (almost) work and I have no
alternative; yet I think that they are really badly designed. If I
am to design something, I just don't want it to be badly designed,
at least on my eyes. :)
EOC> Perhaps the issue is intuitiveness ("the path of least surprise") rather
EOC> than simplicity. I think that's what Ruby's founder was saying. Larry Wall
EOC> also justifies some of the inconsistencies of Perl based on his assertion
EOC> that human thought/language also harbors fundamental inconsistencies.
If we're talking about making something widely accepted, surely.
Though it's surprise that will be giving you knowledge. :) I don't
think you can really learn from "the path of least surprise". A
good design is always surprising (positively, hopefully :), like a
great painting or the building of a great architect.
EOC> It matters little if you have a language or technology that is simple,
EOC> powerful, etc. if you fail to reach a critical mass for adoption. It is
EOC> people that matter, they're the ones writing the programs. Human complexity
EOC> is not something that can be corrected; it's baiscally a fixed constraint
EOC> that all technologies accommodate to some extent.
It matters to me; I'm not saying that I don't care about REBOL
being successful, however if making it successful would make it
uninteresting to me, then why would I want it?
Is a poet less important if it is not successful amongst the mass?
EOC> OO works very well in certain domains. It just may not work well when forced
EOC> to fit in all domains, or as a cure-all, as it is currently promoted. I
EOC> think it's fair to say that OO is over-hyped, but not to suggest that it is
EOC> failed.
Failed as a cure-all; but I agree the ideas are good (polymorphism
especially IMHO), though it is not that much better than any other
paradigm.
EOC> No form of programming--functional, declarative, imperative,
EOC> intentional, or dialects can claim to have solved the complexity problem.
Of course it hasn't --- a paradigm can't. Solving the problem of
complexity requires thinking, not new paradigms.
EOC> I'm not trying to be argumentative, I'm just trying to stimulate some
EOC> thought & dialogue about issues that impact perceptions and adoption of
EOC> REBOL.
Me too. :)
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
[3/5] from: ed:brittlestar at: 28-Jun-2004 23:56
> EOC> My point was mainly that simplicity may not be a significant factor
as to
> EOC> why a language or technology is adopted.
>
> GS> Of course --- on the contrary, simplicity goes against wide
> GS> adoption, because it's very uncommon, and often requires more
> GS> effort.
Is further pursuit of simplicity (or any other ideal, such as compactness,
platform-independence, etc.) a good idea, if it can be determined that
simplicity does not represent an inflection point for the adoption of REBOL?
As a contrived example, let's imagine that we have survey data showing that
developers do not distinguish between interpreter sizes below 1MB-- anything
under a megabyte is equally valued in terms of compactness. Further, imagine
learning that Carl feels that with one exclusive year of work, /Core could
be squeezed down to 100KB, and /View to 200KB. Would the pursuit of this
reduction reasonable, given that no significant increase in adoption (or
software revenues) could be expected?
I'm asking these questions not to devalue the principles upon which REBOL is
based, but to discover their cost vis a vis traditional drivers of software
tool markets: speed, scalability, robustness, interoperability, etc.
Programming languages are highly elastic goods; for any given language,
there exists an abundance of alternatives available. REBOL and other
languages do not live solely within an artist's solipsistic universe, they
exist within markets competing for developer's minds.
> EOC> The human genome is said to contain 60% bloat.
>
> Actually, most recent studies show that what was considered to be
> "bloat" (the so called "junk DNA") could actually be the most
> important part of it. <snip>
Well perhaps that bloat is a result of a backward compatibility layer, or
protein-plug-'n-play :-) Reminds me of the saying that "one man's garbage is
another's treasure."
> Anyway, the human genome is the result of evolution, not design. <snip>
The human genome (and those of other biological creatures) is an example of
a system that has adapted and survived in competitive environment. Design
and evolution are not mutually exlusive. Can the REBOL's design evolve to
compete more aggressively in the wild, or is that only an option for
monopolies and OSS? :-)
From an evolution standpoint, success on small, isolated or endangered
islands does not bode well for survivability. I admit, it makes for
fascinating diversity and beautiful plumage, though :-)
> EOC> Nature & society
> EOC> at large seems to have intricate needs and complex requirements.
These
> EOC> pressures often result in the success of creations that simply work,
with no
> EOC> particular bias toward things that work simply.
>
> Fine, but between two things that work, I choose the simpler one.
I too prefer simpler solutions, to the extent I can appreciate the
difference. I'm finicky in many ways, but I can't say that others is the
programming world share my obessions.
> Programming is a form of art, not industry; <snip>
In that light, all craft can be said to be art. (My code is exempt, though!)
This may satisfy artists, but not artisans.
> EOC> Perhaps the issue is intuitiveness ("the path of least surprise")
rather
> EOC> than simplicity. I think that's what Ruby's founder was saying. Larry
Wall
> EOC> also justifies some of the inconsistencies of Perl based on his
assertion
> EOC> that human thought/language also harbors fundamental inconsistencies.
>
> If we're talking about making something widely accepted, surely.
> Though it's surprise that will be giving you knowledge. :) I don't
> think you can really learn from "the path of least surprise". A
> good design is always surprising (positively, hopefully :), like a
> great painting or the building of a great architect.
The suggestion is that the surprise is negative and frustrating. "The path
of least surprise" is more about ensuring that the syntax or behavior of a
language does not disrupt the programmer's ability to express code.
> EOC> It matters little if you have a language or technology that is
simple,
> EOC> powerful, etc. if you fail to reach a critical mass for adoption. It
is
> EOC> people that matter, they're the ones writing the programs. Human
complexity
> EOC> is not something that can be corrected; it's baiscally a fixed
constraint
> EOC> that all technologies accommodate to some extent.
>
> It matters to me; I'm not saying that I don't care about REBOL
> being successful, however if making it successful would make it
> uninteresting to me, then why would I want it?
>
> Is a poet less important if it is not successful amongst the mass?
Balance is important. Poets need money for food (and let's not forget wine,
women and song). Poets want to write poems, right? And not to be forced to
take part-time jobs waiting tables and living with their parents. :-)
And not all artists fit the mold of Ayn Rand objectivistists. Many artists
create in order to form a connection with others, rather than to exclusively
satisfy personal ideals.
<snip>
Late, must sleeep. My posts are overly long and bloated, so I'll end them
here. My points are long past made anyway. Any further comments I'll post on
a weblog. Thanks for reading.
Ed
[4/5] from: g:santilli:tiscalinet:it at: 29-Jun-2004 12:23
Hi Ed,
On Tuesday, June 29, 2004, 5:56:08 AM, you wrote:
EOC> From an evolution standpoint, success on small, isolated or endangered
EOC> islands does not bode well for survivability. I admit, it makes for
EOC> fascinating diversity and beautiful plumage, though :-)
:-)
EOC> Balance is important.
I agree. We need to try to be successful, yet follow the ideals
that make REBOL different. Not an easy task... but surely cannot
be done by just rushing into "let's add XYZ to REBOL and it will
be widely accepted!". :-)
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
[5/5] from: amicom:sonic at: 2-Jul-2004 22:56
>Anyway, the human genome is the result of evolution, not design.
Gabriele,
I appreciate your work on Rebol and your general intelligence. However,
your comment above is stated quite factually when in fact, it is your opinion.
But don't worry, this is a very common occurrence among members of the
religion called evolutionists. ;-)
Last I checked, it was still called "the theory of evolution". "Molecular
theory", which is proven quite thoroughly (unlike evolution), is still
called a theory.
-Bo