Home > Archive > Scheme > August 2007 > Scheme's Attributes and Direction (was Re: Dissecting the electorate)
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Scheme's Attributes and Direction (was Re: Dissecting the electorate)
|
|
| Aaron Hsu 2007-08-16, 10:15 pm |
| On 2007-08-16 13:08:14 -0500, Griff <grettke@gmail.com> said:
> "The Scheme programming language is an experiment in developing a
> complete and usable MODERN programming language that offers room for
> experimentation and research."
While I like this definition, I think it emphasises and limits Scheme's
usefulness. First of all, as an experiment itself, it reduces the
stability of the language as an idea, and encourages broad, sweeping
alterations to Scheme's core philosophy. The usage of complete and
usable implies too much in the way of features and not enough in the
way of application. I emphasized the word Modern in the above because I
feel it is the most perilous term in the definition. By using "Modern"
we are immediately condemning ourselves to both an attempt at current
fame and possibly future obscurity if our "experiment" cannot change to
keep up with such an ever moving target. In other words, the definition
of modern restricts the scope of the language to a VERY limited range
of motion. Additionally, experimentation and research in the above
texts are "tacked" on as a final note, receiving what I would call a
secondary status to the primary goals of usabiltiy, modernity, and
completeness. To me, this creates a language other than the inspiring
ideal of what I imagine Scheme could become.
Instead of modern and usable, I would use the term General Purpose,
meaning that it is capable of successfully and adequately accomplishing
any goal desired to be accomplished in the arena of computer languages
provided that the proper hardware and tools are provided in which do
it. That is, there should be no intrinsic limitation of the language
making it unsuitable for any programming task. I would leave out the
ideas of experimentation and research entirely, and let all arenas of
computer science rest firmly within the primary scope of the language's
capacity.
The term Modern, however, I wish to address more singularly. :-) As far
as languages go, Mathematics is a pretty long standinag one. It's
universal, and though syntax is a little different here and there, it
has a long history of facilitating clear communication to many people
of differing regions of the world. The principles of mathematics are
timeless, and I propose that Scheme should be similarly timeless.
Scheme should not try to bind itself to specific regions or methods of
implementing the ideas behind Computer Science, but it should represent
a means of communicating any concept of computer science, past, present
or future (conceviably). [The current proposed standard's requirement
of Unicode is an example of a failure in this approach.]
In other words, I don't want the Scheme standard to be a product of the
times, but rather, a product of the best ideas in the highest level
concepts of computer science. To this end, I think that dubbing it as a
"High Level" language would be better than using the term Modern.
Here's an alternative definition:
"The Scheme programming language is a general-purpose, high-level
programming language that emphasizes the elegant, simple, and minimal
expression of all forms, idioms, and techniques of computer science by
providing a means of such expression in a formally defined language."
Then, I recommend that another entity, the Scheme Library be introduced
as, "The Scheme Library is a set of programs designed to implement
various desirable features for practical computing that are widely
useful accross the domain of programming, which is written in the
Scheme language."
Just my thoughts.
--
Aaron Hsu <aaron.hsu@sacrificumdeo.net>
"No one could make a greater mistake than he who did nothing because he
could do only a little." - Edmund Burke
| |
|
| On Aug 16, 4:14 pm, Aaron Hsu <aaron....@sacrificumdeo.net> wrote:
> Instead of modern and usable, I would use the term General Purpose,
> meaning that it is capable of successfully and adequately accomplishing
> any goal desired to be accomplished in the arena of computer languages
> provided that the proper hardware and tools are provided in which do
> it.
That was my original thought:
http://www.r6rs.org/ratification/pr...esults.html#X22
| |
| Brian Harvey 2007-08-20, 4:48 am |
| Aaron Hsu <aaron.hsu@sacrificumdeo.net> writes:
> By using "Modern"
>we are immediately condemning ourselves to both an attempt at current
>fame and possibly future obscurity if our "experiment" cannot change to
>keep up with such an ever moving target.
Don't worry, "modern" is just a euphemism for "lexically scoped." :-)
But anyway, my preferred tag line is
Languages should be designed, not by piling feature on top of
feature, but by removing the restrictions that make additional
features appear necessary.
|
|
|
|
|