By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,213 Members | 1,086 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,213 IT Pros & Developers. It's quick & easy.

The Importance of Terminology's Quality

P: n/a
I'd like to introduce a blog post by Stephen Wolfram, on the design
process of Mathematica. In particular, he touches on the importance of
naming of functions.

• Ten Thousand Hours of Design Reviews (2008 Jan 10) by Stephen
Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/

The issue is fitting here today, in our discussion of “closure”
terminology recently, as well the jargons “lisp 1 vs lisp2” (multi-
meaning space vs single-meaning space), “tail recursion”, “currying”,
“lambda”, that perennially crop up here and elsewhere in computer
language forums in wild misunderstanding and brouhaha.

The functions in Mathematica, are usually very well-name, in contrast
to most other computing languages. In particular, the naming in
Mathematica, as Stephen Wolfram implied in his blog above, takes the
perspective of naming by capturing the essense, or mathematical
essence, of the keyword in question. (as opposed to, naming it
according to convention, which often came from historical happenings)
When a thing is well-named from the perspective of what it actually
“mathematically” is, as opposed to historical developments, it avoids
vast amount of potential confusion.

Let me give a few example.

• “lambda”, widely used as a keyword in functional languages, is named
just “Function” in Mathematica. The “lambda”happend to be called so
in the field of symbolic logic, is due to use of the greek letter
lambda “λ” by happenstance. The word does not convey what it means.
While, the name “Function”, stands for the mathematical concept of
“function” as is.

• Module, Block, in Mathematica is in lisp's various “let*”. The
lisp's keywords “let”, is based on the English word “let”. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you'll see that it means many
disparate things. One of them, as in “let's go”, has the meaning of
“permit; to cause to; allow”. This meaning is rather vague from a
mathematical sense. Mathematica's choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn't perfect, since the word also
has meanings like “obstruct; jam”)

• Functions that takes elements out of list are variously named First,
Rest, Last, Extract, Part, Take, Select, Cases, DeleteCases... as
opposed to “car”, “cdr”, “filter”, “filter”, “pop”, “shift”,
“unshift”, in lisps and perl and other langs.

The above are some examples. The thing to note is that, Mathematica's
choices are often such that the word stands for the meaning themselves
in some logical and independent way as much as possible, without
having dependent on a particular computer science field's context or
history. One easy way to confirm this, is taking a keyword and ask a
wide audience, who doesn't know about the language or even unfamiliar
of computer programing, to guess what it means. The wide audience can
be made up of mathematicians, scientists, engineers, programers,
laymen. This general audience, are more likely to guess correctly what
Mathematica's keyword is meant in the language, than the the name used
in other computer languages who's naming choices goes by convention or
context.

(for example, Perl's naming heavily relies on unix culture (grep,
pipe, hash...), while functional lang's namings are typically heavily
based on the field of mathematical logic (e.g. lambda, currying,
closure, monad, ...). Lisp's cons, car, cdr, are based on computer
hardware (this particular naming, caused a major damage to the lisp
language to this day). (Other examples: pop, shift are based on
computer science jargon of “stack”. Grep is from Global Regular
Expression Print, while Regular Expression is from theoretical
computer science of Automata... The name regex has done major hidden
damage to the computing industry, in the sense that if it have just
called it “string patterns”, then a lot explanations, literatures,
confusions, would have been avoided.))

(Note: Keywords or functions in Mathematica are not necessarily always
best named. Nor are there always one absolute choice as best, as there
are many other considerations, such as the force of wide existing
convention, the context where the function are used, brevity,
limitations of English language, different scientific context (e.g.
math, physics, engineering), or even human preferences.)

----------------------------

Many of the issues regarding the importance and effects of
terminology's quality, i've wrote about since about 2000. Here are the
relevant essays:

• Jargons of Info Tech Industry
http://xahlee.org/UnixResource_dir/writ/jargons.html

• The Jargon “Lisp1” vs “Lisp2”
http://xahlee.org/emacs/lisp1_vs_lisp2.html

• The Term Curring In Computer Science
http://xahlee.org/UnixResource_dir/writ/currying.html

• What Is Closure In A Programing Language
http://xahlee.org/UnixResource_dir/writ/closure.html

• What are OOP's Jargons and Complexities
http://xahlee.org/Periodic_dosage_dir/t2/oop.html

• Sun Microsystem's abuse of term “API” and “Interface”
http://xahlee.org/java-a-day/interface.html

• Math Terminology and Naming of Things
http://xahlee.org/cmaci/notation/math_namings.html

Xah
xa*@xahlee.org
http://xahlee.org/


Jun 27 '08 #1
Share this Question
Share on Google+
97 Replies


P: n/a

<xa****@gmail.comwrote in message
news:f4**********************************@u12g2000 prd.googlegroups.com...

[...]

(for example, Perl's naming heavily relies on unix culture (grep,
pipe, hash...), ...

"hash" + "pipe"? Ahhhhh, /no wonder/ Perl is the syntactic mishmash it is!
;-)

Jun 27 '08 #2

P: n/a
Module, Block, in Mathematica is in lisp's various let*. The
lisp's keywords let, is based on the English word let. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you'll see that it means many
disparate things. One of them, as in let's go, has the meaning of
permit; to cause to; allow. This meaning is rather vague from a
mathematical sense. Mathematica's choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn't perfect, since the word also
has meanings like obstruct; jam)
If the purpose of let is to introduce one or more variable bindings,
then I don't see how changing to block or module would improve
anything. I've always found it fairly intuitive to parse (let ((x
5)) ...) to "let x be five". Additionally, replacing let with the
synonyms you provided would approximately yield "permit x to be five"
or "allow x to be five". In my mind you have constructed an argument
in favor of let here (obviously it's better than block, because
nobody's going to come along and be confused about whether let will
"obstruct" or "jam" them :)

There are many easy targets to poke at in the CL spec. let isn't one
of those.
Jun 27 '08 #3

P: n/a
On Wed, 7 May 2008 16:13:36 -0700 (PDT), "xa****@gmail.com"
<xa****@gmail.comwrote:
>I'd like to introduce a blog post by Stephen Wolfram, on the design
process of Mathematica. In particular, he touches on the importance of
naming of functions.

Ten Thousand Hours of Design Reviews (2008 Jan 10) by Stephen
Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/

The issue is fitting here today, in our discussion of closure
terminology recently, as well the jargons lisp 1 vs lisp2 (multi-
meaning space vs single-meaning space), tail recursion, currying,
lambda, that perennially crop up here and elsewhere in computer
language forums in wild misunderstanding and brouhaha.

The functions in Mathematica, are usually very well-name, in contrast
to most other computing languages. In particular, the naming in
Mathematica, as Stephen Wolfram implied in his blog above, takes the
perspective of naming by capturing the essense, or mathematical
essence, of the keyword in question. (as opposed to, naming it
according to convention, which often came from historical happenings)
When a thing is well-named from the perspective of what it actually
mathematically is, as opposed to historical developments, it avoids
vast amount of potential confusion.

Let me give a few example.

lambda, widely used as a keyword in functional languages, is named
just Function in Mathematica. The lambda happend to be called so
in the field of symbolic logic, is due to use of the greek letter
lambda ? by happenstance. The word does not convey what it means.
While, the name Function, stands for the mathematical concept of
function as is.
Lambda is not a function - it is a function constructor. A better
name for it might be MAKE-FUNCTION.

I (and probably anyone else you might ask) will agree that the term
"lambda" is not indicative of it's meaning, but it's meaning is not
synonymous with "function" as you suggest.

I suspect Mathematica of just following historical convention itself.
Mathematica uses the term inappropriately just as it was (ab)used in
Pascal (circa 1970). I'm not aware of earlier (ab)uses but there
probably were some.

> Module, Block, in Mathematica is in lisp's various let*. The
lisp's keywords let, is based on the English word let. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you'll see that it means many
disparate things. One of them, as in let's go, has the meaning of
permit; to cause to; allow. This meaning is rather vague from a
mathematical sense. Mathematica's choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn't perfect, since the word also
has meanings like obstruct; jam)
"Let" is the preferred mathematical term for introducing a variable.
Lisp uses it in that meaning. What a word means or doesn't in English
is not particularly relevant to its use in another language. There
are many instances of two human languages using identical looking
words with very different meanings. Why should computer languages be
immune?

> Functions that takes elements out of list are variously named First,
Rest, Last, Extract, Part, Take, Select, Cases, DeleteCases... as
opposed to car, cdr, filter, filter, pop, shift,
unshift, in lisps and perl and other langs.
Lisp has "first" and "rest" - which are just synonyms for "car" and
"cdr". Older programmers typically prefer car and cdr for historical
reasons, but few object to the use of first and rest except for
semantic reasons - Lisp does not have a list data type, lists are
aggregates constructed from a primitive pair data type. Pairs can be
used to construct trees as well as lists and "rest" has little meaning
for a tree. When used with lists, first and rest are meaningful terms
and no one will object to them.

Besides which, you easily create synonyms for car and cdr (and
virtually any other Lisp function) with no more burden on the reader
of your code than using a C macro. You can call them "first and
rest", or "first and second", or "left and right", or "red and black"
or whatever else makes sense for your data.

People coming to Lisp from other languages often complain of macros
that they have to learn "a new language" every time they read a
program. But in fact, the same is true in all languages - the reader
always has to learn the user-defined functions and how they are used
to make sense of the code. In that sense Lisp is no different from
any other language.

Common Lisp doesn't have "filter". Even so, with respect to the
merits of calling a function "extract" or "select" versus "filter", I
think that's just a matter of familiarity. The term "filter" conveys
a more general idea than the others and can, by parameterization,
perform either function.

>The above are some examples. The thing to note is that, Mathematica's
choices are often such that the word stands for the meaning themselves
in some logical and independent way as much as possible, without
having dependent on a particular computer science field's context or
history. One easy way to confirm this, is taking a keyword and ask a
wide audience, who doesn't know about the language or even unfamiliar
of computer programing, to guess what it means. The wide audience can
be made up of mathematicians, scientists, engineers, programers,
laymen. This general audience, are more likely to guess correctly what
Mathematica's keyword is meant in the language, than the the name used
in other computer languages who's naming choices goes by convention or
context.

(for example, Perl's naming heavily relies on unix culture (grep,
pipe, hash...), while functional lang's namings are typically heavily
based on the field of mathematical logic (e.g. lambda, currying,
closure, monad, ...). Lisp's cons, car, cdr, are based on computer
hardware (this particular naming, caused a major damage to the lisp
language to this day). (Other examples: pop, shift are based on
computer science jargon of stack. Grep is from Global Regular
Expression Print, while Regular Expression is from theoretical
computer science of Automata... The name regex has done major hidden
damage to the computing industry, in the sense that if it have just
called it string patterns, then a lot explanations, literatures,
confusions, would have been avoided.))

(Note: Keywords or functions in Mathematica are not necessarily always
best named. Nor are there always one absolute choice as best, as there
are many other considerations, such as the force of wide existing
convention, the context where the function are used, brevity,
limitations of English language, different scientific context (e.g.
math, physics, engineering), or even human preferences.)

----------------------------

Many of the issues regarding the importance and effects of
terminology's quality, i've wrote about since about 2000. Here are the
relevant essays:

Jargons of Info Tech Industry
http://xahlee.org/UnixResource_dir/writ/jargons.html

The Jargon Lisp1 vs Lisp2
http://xahlee.org/emacs/lisp1_vs_lisp2.html

The Term Curring In Computer Science
http://xahlee.org/UnixResource_dir/writ/currying.html

What Is Closure In A Programing Language
http://xahlee.org/UnixResource_dir/writ/closure.html

What are OOP's Jargons and Complexities
http://xahlee.org/Periodic_dosage_dir/t2/oop.html

Sun Microsystem's abuse of term API and Interface
http://xahlee.org/java-a-day/interface.html

Math Terminology and Naming of Things
http://xahlee.org/cmaci/notation/math_namings.html

Xah
xa*@xahlee.org
? http://xahlee.org/

?
George
--
for email reply remove "/" from address
Jun 27 '08 #4

P: n/a
George Neuner <gneuner2/@/comcast.netwrote:
>On Wed, 7 May 2008 16:13:36 -0700 (PDT), "xa****@gmail.com"
<xa****@gmail.comwrote:
+-------------------+ .:\:\:/:/:.
| PLEASE DO NOT | :.:\:\:/:/:.:
| FEED THE TROLLS | :=.' - - '.=:
| | '=(\ 9 9 /)='
| Thank you, | ( (_) )
| Management | /`-vvv-'\
+-------------------+ / \
| | @@@ / /|,,,,,|\ \
| | @@@ /_// /^\ \\_\
@x@@x@ | | |/ WW( ( ) )WW
\||||/ | | \| __\,,\ /,,/__
\||/ | | | jgs (______Y______)
/\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
================================================== ============

jue
Jun 27 '08 #5

P: n/a
På Thu, 08 May 2008 04:14:35 +0200, skrev Kyle McGivney
<Ky*****@gmail.com>:
>• Module, Block, in Mathematica is in lisp's various “let*”. The
lisp's keywords “let”, is based on the English word “let”. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you'll see that it means many
disparate things. One of them, as in “let's go”, has the meaning of
“permit; to cause to; allow”. This meaning is rather vague from a
mathematical sense. Mathematica's choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn't perfect, since the word also
has meanings like “obstruct; jam”)

If the purpose of let is to introduce one or more variable bindings,
then I don't see how changing to block or module would improve
anything. I've always found it fairly intuitive to parse (let ((x
5)) ...) to "let x be five". Additionally, replacing let with the
synonyms you provided would approximately yield "permit x to be five"
or "allow x to be five". In my mind you have constructed an argument
in favor of let here (obviously it's better than block, because
nobody's going to come along and be confused about whether let will
"obstruct" or "jam" them :)
How about bind?
(bind ((v f (mod i)) ((a b) list) (t (rem q)))

1. is a multiple-value-bind
2. is a destructuring-bind
3. is a let

http://common-lisp.net/project/metabang-bind/

To me this is a example of where the ANSI group could have spent more time
on naming.

--------------
John Thingstad
Jun 27 '08 #6

P: n/a
* * * * *| * PLEASE DO NOT * | * * * * * *:.:\:\:/:/:.:
* * * * *| *FEED THE TROLLS *| * * * * * :=.' - * - '.=:
I don't think Xah is trolling here (contrary to his/her habit)
but posing an interesting matter of discussion.

Don't know to which point it fits, but I would like to do some rather
novel comment on operator naming:
As a non native english speaker, the first time I ever encountered the
word "if" was when learning to program. The same can be said of the
other words (for, then, else...) This caused my brain to adscribe them
meanings completely outside the context of everyday language. My point
is that perhaps this is advantageous. So, contrary to tradition (which
considers a desirable goal to write programs as close as possible to
everyday english), I found convenient that programming languages use
words different from the words of my native tongue. I suspect that is
why car and cdr have caught on vs. first end rest.
Jun 27 '08 #7

P: n/a
From: "xah...@gmail.com" <xah...@gmail.com>
the importance of naming of functions.
I agree, that's a useful consideration in the design of any system
based on keywords, such as names of functions or operators.
(I'm not using "keyword" in the sense of a symbol in the KEYWORD package.)
the naming in Mathematica, as Stephen Wolfram implied in his blog
above, takes the perspective of naming by capturing the essense, or
mathematical essence, of the keyword in question.
For concepts adapted from mathematics, that naming meta-convention makes sense.
For concepts adapted from data-processing, it's not so clearly good.
lambda, widely used as a keyword in functional languages, is
named just Function in Mathematica.
That makes sense, but then what does Mathematica call the special
operator which Common Lisp calls Function? Or is that not provided,
and the programmer must case-by-case handcode what they really mean?
(function foo) == (symbol-function 'foo) ;so FUNCTION not really needed there
(function (lambda (x) (+ x y)) ;y is a lexical variable to be encapsulated
; into the resultant closure
How would you do something like that in mathematica?
Module, Block, in Mathematica is in lisp's various let*
The lisp's keywords let, is based on the English word let.
No, that's not correct. It's based on the mathematical use of "let":
Let R be the complete ordered field of real numbers.
Let S be the subset of R consisting of numbers which satisfy
equations expressed in transcendental functions with rational
parameters.
Prove that S is dense in R.
(Yeah, the question is trivial, but I'm just showing how "let" might be used.)

I see nothing wrong with LET used in that way in Lisp.
Bind would be good too.
I don't like Module or Block at all, because those words convey
nothing about binding some temporary local name to represent some
globally-definable concept, and they actually mis-lead because
module can mean either something like a vector space over a ring,
or a set of functions/methods that serve some small problem domain
within a larger library of functions/methods, or a set of lectures
on a single-topic within a curriculum, while Block sounds more like
just some random consecutive interval of statements rather having
nothing specific to do with bindings. TAGBODY or PROGN would be
more properly called Block perhaps.
One easy way to confirm this, is taking a keyword and ask a wide
audience, who doesn't know about the language or even unfamiliar of
computer programing, to guess what it means.
That is a biassed question because the only options are the words
you choose in advance. Better would be to reverse the question: Ask
random people on the street what they would like to call these
concepts:
1 You set up a temporary relation between a name and some datum,
such that all references to that name give you that same datum.
For example you might set up the name 'n' to temporarily mean 5.
Fill in the missing word: (word (n 5) <say "ouch" n times>)
2 You set up a rule by which one step of data-processing is performed,
taking input to produce output. For example you set up a rule by
which the input value is divided by two if it's even but
multiplied by three and then 1 added if it was odd.
Fill in the missing word: (word (n) <if n even n/2 else 3*n+1>)
3 You set up a rule as above, but also give it a permanent name.
Fill in the missing word: (word collatz (n) <if n even n/2 else 3*n+1>)
4 You already have a rule that takes two input data and produces one output.
(oldword foo (x y) <absolute value of difference between x and y>)
You now know one of the two inputs, and that info won't change for a while,
and you hate to keep repeating it. So you want to define a new rule
that has that one known parameter built-in so that you only have
to say the *other* parameter each time you use the new rule.
Fill in the missing newword: (newword foo <x is fixed as 3>)
So I'd choose words: 1=let 2=lambda 3=defun 4=curry.
What words would a typical man on the street choose instead?
The name regex has done major hidden damage to the computing industry
I have my own gripe against regular expressions ("regex" for short).
I hate the extremely terse format, with horrible concoctions of
escape and anti-escape magic characters, to fit within Unix's
255-character limit on command lines, compared to a nicely
s-expression nested notation that would be possible if regex hadn't
entrenched itself so solidly.
Jun 27 '08 #8

P: n/a
Lew
ko*****@eurogaran.com wrote:
> | PLEASE DO NOT | :.:\:\:/:/:.:
| FEED THE TROLLS | :=.' - - '.=:

I don't think Xah is trolling here (contrary to his/her habit)
but posing an interesting matter of discussion.
Interesting is in the eye of the beholder. After you'd read the same recycled
crud from certain posters again and again, it because trollish spam.

--
Lew
Jun 27 '08 #9

P: n/a
Lew
Robert Maas, http://tinyurl.com/uh3t wrote:
I have my own gripe against regular expressions ("regex" for short).
I hate the extremely terse format, with horrible concoctions of
escape and anti-escape magic characters, to fit within Unix's
255-character limit on command lines, compared to a nicely
s-expression nested notation that would be possible if regex hadn't
entrenched itself so solidly.
This is all very interesting, but not Java.

--
Lew
Jun 27 '08 #10

P: n/a
ko*****@eurogaran.com writes:
>* * * * *| * PLEASE DO NOT * | * * * * * *:.:\:\:/:/:.:
* * * * *| *FEED THE TROLLS *| * * * * * :=.' - * - '.=:

I don't think Xah is trolling here (contrary to his/her habit)
but posing an interesting matter of discussion.
It might be interesting in the abstract, but any such discussion, when
cross-posted to multiple language groups on usenet, will inevitably
devolve into a flamewar as proponents of the various languages argue
about which language better expresses the ideas being talked about.
It's like a law of usenet or something.

If Xah wanted an interesting discussion, he could have posted this to
one language-neutral group such as comp.programming. He doesn't want
that - he wants the multi-group flamefest.

sherm--

--
My blog: http://shermspace.blogspot.com
Cocoa programming in Perl: http://camelbones.sourceforge.net
Jun 27 '08 #11

P: n/a
xa****@gmail.com ha scritto:
[bli bla blo, blu blu bum bum bam bam bim bim bim...]
don't know Y, by your arty-phycial excerptions always seem chinese
me...

-JO
Jun 27 '08 #12

P: n/a
xa****@gmail.com wrote:
I'd like to introduce a blog post by Stephen Wolfram, on the design
process of Mathematica. In particular, he touches on the importance of
naming of functions.

? Ten Thousand Hours of Design Reviews (2008 Jan 10) by Stephen
Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/

The issue is fitting here today, in our discussion of ?closure?
terminology recently, as well the jargons ?lisp 1 vs lisp2? (multi-
meaning space vs single-meaning space), ?tail recursion?, ?currying?,
?lambda?, that perennially crop up here and elsewhere in computer
language forums in wild misunderstanding and brouhaha.

The functions in Mathematica, are usually very well-name, in contrast
to most other computing languages.
The mathematical functions are well named but many of the general
programming constructs are not even well defined, let alone well named.

For example, overloaded "Gamma" in Mathematica vs "gammainc" in MATLAB for
the incomplete gamma functions.
In particular, the naming in
Mathematica, as Stephen Wolfram implied in his blog above, takes the
perspective of naming by capturing the essense, or mathematical
essence, of the keyword in question. (as opposed to, naming it
according to convention, which often came from historical happenings)
When a thing is well-named from the perspective of what it actually
?mathematically? is, as opposed to historical developments, it avoids
vast amount of potential confusion.

Let me give a few example.

? ?lambda?, widely used as a keyword in functional languages, is named
just ?Function? in Mathematica. The ?lambda? happend to be called so
in the field of symbolic logic, is due to use of the greek letter
lambda ??? by happenstance. The word does not convey what it means.
While, the name ?Function?, stands for the mathematical concept of
?function? as is.
Look at the "function" keyword in OCaml and F#. They also pattern match over
their input whereas Mathematica does not allow this in "Function".
? Module, Block, in Mathematica is in lisp's various ?let*?. The
lisp's keywords ?let?, is based on the English word ?let?. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you'll see that it means many
disparate things. One of them, as in ?let's go?, has the meaning of
?permit; to cause to; allow?. This meaning is rather vague from a
mathematical sense. Mathematica's choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn't perfect, since the word also
has meanings like ?obstruct; jam?)
Bad example. Mathematica's "Block" implements what we all know as "Scope".
Mathematica's "Module" implements something most people have never needed
to learn (rewriting a subexpression with uniquely tagged identifiers to
disambiguate them from externals):

In[1] := Module[{a}, a]
Out[1] = a$617
? Functions that takes elements out of list are variously named First,
Rest, Last, Extract, Part, Take, Select, Cases, DeleteCases... as
opposed to ?car?, ?cdr?, ?filter?, ?filter?, ?pop?, ?shift?,
?unshift?, in lisps and perl and other langs.
You are comparing arrays in Mathematica to lists in other functional
languages. Mathematica is often asymptotically slower as a consequence,
with "Rest" being O(n):

In[1] := AbsoluteTiming[Rest[Range[1, 1000000]];]
Out[1] = {0.219, Null}

The equivalents over lists are all O(1) in SML, OCaml, F#, Haskell, Scala,
Lisp and Scheme and is called the "tail" of a list. For example, in F#:
time List.tl [1 .. 1000000];;
Took 0ms
val it : int list = ...

Perhaps the best example I can think of to substantiate your original point
is simple comparison because Mathematica allows:

a < b < c

I wish other languages did.

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
Jun 27 '08 #13

P: n/a

"Jon Harrop" <jo*@ffconsultancy.comwrote in message
news:5NCdnRlmwIIt5L7VnZ2dnUVZ8sSrnZ2d@plusnet...
| Perhaps the best example I can think of to substantiate your original
point
| is simple comparison because Mathematica allows:
|
| a < b < c
|
| I wish other languages did.

Python does also.

Jun 27 '08 #14

P: n/a
Terry Reedy wrote:
"Jon Harrop" <jo*@ffconsultancy.comwrote in message
news:5NCdnRlmwIIt5L7VnZ2dnUVZ8sSrnZ2d@plusnet...
| Perhaps the best example I can think of to substantiate your original
point
| is simple comparison because Mathematica allows:
|
| a < b < c
|
| I wish other languages did.

Python does also.
Nice. :-)

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
Jun 27 '08 #15

P: n/a
On Thu, 08 May 2008 03:25:54 -0700,
us*****************@SpamGourmet.Com (Robert Maas,
http://tinyurl.com/uh3t) wrote:
>From: "xah...@gmail.com" <xah...@gmail.com>
the importance of naming of functions.
>... [take] a keyword and ask a wide
audience, who doesn't know about the language or even unfamiliar of
computer programing, to guess what it means.
This is a dumb idea ...
>Better would be to reverse the question: Ask
random people on the street what they would like to call these
concepts:
.... and this one is even dumber.

Terms don't exist in a vacuum - they exist to facilitate communication
within a particular knowledge or skill domain. For example, English
is only meaningful to those who speak English. The opinions of random
people who have no relevant domain knowledge are worthless.

Such a survey could only be meaningful if the survey population
already possessed some knowledge of programming, but were not already
aware of the particular terminology being surveyed.

George
--
for email reply remove "/" from address
Jun 27 '08 #16

P: n/a
Sherman Pendley wrote:
ko*****@eurogaran.com writes:
PLEASE DO NOT | :.:\:\:/:/:.:
FEED THE TROLLS | :=.' - - '.=:
I don't think Xah is trolling here (contrary to his/her habit)
but posing an interesting matter of discussion.

It might be interesting in the abstract, but any such discussion, when
cross-posted to multiple language groups on usenet, will inevitably
devolve into a flamewar as proponents of the various languages argue
about which language better expresses the ideas being talked about.
It's like a law of usenet or something.

If Xah wanted an interesting discussion, he could have posted this to
one language-neutral group such as comp.programming. He doesn't want
that - he wants the multi-group flamefest.
Not everyone follows language-neutral groups (such as comp,programming
as you pointed out), so you actually reach more people by cross posting.
This is what I don't understand - everyone seems to assume that by cross
posting, one intends on start a "flamefest", when in fact most such
"flamefests" are started by those who cannot bring themselves to
skipping over the topic that they so dislike.

--
wg
Jun 27 '08 #17

P: n/a
Lew
Waylen Gumbal wrote:
Not everyone follows language-neutral groups (such as comp,programming
as you pointed out), so you actually reach more people by cross posting.
This is what I don't understand - everyone seems to assume that by cross
posting, one intends on start a "flamefest", when in fact most such
"flamefests" are started by those who cannot bring themselves to
skipping over the topic that they so dislike.
It's not an assumption in Xah Lee's case. He spams newsgroups irregularly
with rehashed essays from years ago, and a number of people are just tired of
him. Don't blame the victims for the perpetrator's actions, OK?

--
Lew
Jun 27 '08 #18

P: n/a
"Waylen Gumbal" <wg*****@gmail.comwrote:
>Sherman Pendley wrote:
>ko*****@eurogaran.com writes:
>
PLEASE DO NOT | :.:\:\:/:/:.:
FEED THE TROLLS | :=.' - - '.=:
Not everyone follows language-neutral groups (such as comp,programming
as you pointed out), so you actually reach more people by cross posting.
You seem so have failed to grasp the concept of why Usenet is divided
into separate groups in the first place.
>This is what I don't understand - everyone seems to assume that by cross
posting, one intends on start a "flamefest", when in fact most such
"flamefests" are started by those who cannot bring themselves to
skipping over the topic that they so dislike.
By your argument there is no need for individual groups in the first
place. We could just as well use a single "HereGoesEverything" and just
skip over those topics that we so dislike.

jue
Jun 27 '08 #19

P: n/a
Lew wrote:
Waylen Gumbal wrote:
>Not everyone follows language-neutral groups (such as
comp,programming as you pointed out), so you actually reach more
people by cross posting. This is what I don't understand - everyone
seems to assume that by cross posting, one intends on start a
"flamefest", when in fact most such "flamefests" are started by
those who cannot bring themselves to skipping over the topic that
they so dislike.

It's not an assumption in Xah Lee's case. He spams newsgroups
irregularly with rehashed essays from years ago, and a number of
people are just tired of him.
I did not know this. One should obviously not do that.
Don't blame the victims for the perpetrator's actions, OK?
I'm not blaming any "victims", but I don't see anyone saying "read this
or else", so why not just skip the thread or toss the OP in your
killfile so you don't see his postings. If others want to discuss his
topics, who are you or I to tell them not to?

--
wg
Jun 27 '08 #20

P: n/a
Jrgen Exner wrote:
"Waylen Gumbal" <wg*****@gmail.comwrote:
Sherman Pendley wrote:
ko*****@eurogaran.com writes:

PLEASE DO NOT | :.:\:\:/:/:.:
FEED THE TROLLS | :=.' - - '.=:
Not everyone follows language-neutral groups (such as
comp,programming as you pointed out), so you actually reach more
people by cross posting.

You seem so have failed to grasp the concept of why Usenet is divided
into separate groups in the first place.
No, not really. You keep group specific content in the applicable group
or groups only. But are there not times where content overlaps the
topics of multiple groups and to get maximum feedback, post to all
applicable groups (the keyword being "applicable") ?

--
wg
Jun 27 '08 #21

P: n/a
"Waylen Gumbal" <wg*****@gmail.comwrote:
so why not just skip the thread or toss the OP in your
killfile so you don't see his postings.
Done years ago.
>If others want to discuss his
topics, who are you or I to tell them not to?
They are very welcome to do so in an appropriate NG for those topics.

jue
Jun 27 '08 #22

P: n/a
On Thu, 8 May 2008 22:38:44 -0700, "Waylen Gumbal" <wg*****@gmail.com>
wrote:
>Sherman Pendley wrote:
>ko*****@eurogaran.com writes:
>
PLEASE DO NOT | :.:\:\:/:/:.:
FEED THE TROLLS | :=.' - - '.=:

I don't think Xah is trolling here (contrary to his/her habit)
but posing an interesting matter of discussion.

It might be interesting in the abstract, but any such discussion, when
cross-posted to multiple language groups on usenet, will inevitably
devolve into a flamewar as proponents of the various languages argue
about which language better expresses the ideas being talked about.
It's like a law of usenet or something.

If Xah wanted an interesting discussion, he could have posted this to
one language-neutral group such as comp.programming. He doesn't want
that - he wants the multi-group flamefest.

Not everyone follows language-neutral groups (such as comp,programming
as you pointed out), so you actually reach more people by cross posting.
This is what I don't understand - everyone seems to assume that by cross
posting, one intends on start a "flamefest", when in fact most such
"flamefests" are started by those who cannot bring themselves to
skipping over the topic that they so dislike.
The problem is that many initial posts have topics that are misleading
or simplistic. Often an interesting discussion can start on some
point the initial poster never considered or meant to raise.

George
--
for email reply remove "/" from address
Jun 27 '08 #23

P: n/a
George Neuner <gneuner2/@/comcast.netwrote:
+---------------
| Common Lisp doesn't have "filter".
+---------------

Of course it does! It just spells it REMOVE-IF-NOT!! ;-} ;-}
(remove-if-not #'oddp (iota 10))
(1 3 5 7 9)
(remove-if-not (lambda (x) (x 4)) (iota 10))
(5 6 7 8 9)
>

-Rob

-----
Rob Warnock <rp**@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607

Jun 27 '08 #24

P: n/a
George Neuner wrote:
On Thu, 8 May 2008 22:38:44 -0700, "Waylen Gumbal" <wg*****@gmail.com>
wrote:

Not everyone follows language-neutral groups (such as
comp,programming as you pointed out), so you actually reach more
people by cross posting. This is what I don't understand - everyone
seems to assume that by cross posting, one intends on start a
"flamefest", when in fact most such "flamefests" are started by
those who cannot bring themselves to skipping over the topic that
they so dislike.

The problem is that many initial posts have topics that are misleading
or simplistic. Often an interesting discussion can start on some
point the initial poster never considered or meant to raise.
Is this not a possibility for any topic, whether it's cross-posted or
not?
--
wg
Jun 27 '08 #25

P: n/a
Lew
Waylen Gumbal wrote:
George Neuner wrote:
>On Thu, 8 May 2008 22:38:44 -0700, "Waylen Gumbal" <wg*****@gmail.com>
wrote:


>>Not everyone follows language-neutral groups (such as
comp,programming as you pointed out), so you actually reach more
people by cross posting. This is what I don't understand - everyone
seems to assume that by cross posting, one intends on start a
"flamefest", when in fact most such "flamefests" are started by
those who cannot bring themselves to skipping over the topic that
they so dislike.
The problem is that many initial posts have topics that are misleading
or simplistic. Often an interesting discussion can start on some
point the initial poster never considered or meant to raise.

Is this not a possibility for any topic, whether it's cross-posted or
not?
You guys are off topic. None of the million groups to which this message was
posted are about netiquette.

--
Lew
Jun 27 '08 #26

P: n/a
Lew <le*@lewscanon.comwrites:
You guys are off topic. None of the million groups to which this
message was posted are about netiquette.
Netiquette has come up at one point or another in pretty much every
group I've ever read. It's pretty much a universal meta-topic.

sherm--

--
My blog: http://shermspace.blogspot.com
Cocoa programming in Perl: http://camelbones.sourceforge.net
Jun 27 '08 #27

P: n/a
Lew
Sherman Pendley wrote:
Lew <le*@lewscanon.comwrites:
>You guys are off topic. None of the million groups to which this
message was posted are about netiquette.

Netiquette has come up at one point or another in pretty much every
group I've ever read. It's pretty much a universal meta-topic.
Good. Then please have the courtesy not to include comp.lang.java.programmer
in this thread's distribution any longer.

--
Lew
Jun 27 '08 #28

P: n/a
Lew
Sherman Pendley wrote:
Lew <le*@lewscanon.comwrites:
>You guys are off topic. None of the million groups to which this
message was posted are about netiquette.

Netiquette has come up at one point or another in pretty much every
group I've ever read. It's pretty much a universal meta-topic.
Good, then please have the courtesy not to include comp.lang.java.programmer
in the distribution for this thread any longer.

--
Lew
Jun 27 '08 #29

P: n/a
On Fri, 09 May 2008 22:45:26 -0500, rp**@rpw3.org (Rob Warnock) wrote:
>George Neuner <gneuner2/@/comcast.netwrote:
>>On Wed, 7 May 2008 16:13:36 -0700 (PDT), "xa****@gmail.com"
<xa****@gmail.comwrote:
>>> Functions [in Mathematica] that takes elements out of list
are variously named First, Rest, Last, Extract, Part, Take,
Select, Cases, DeleteCases... as opposed to car, cdr,
filter, filter, pop, shift, unshift, in lisps and
perl and other langs.
>>| Common Lisp doesn't have "filter".

Of course it does! It just spells it REMOVE-IF-NOT!! ;-} ;-}
I know. You snipped the text I replied to.

Xah carelessly conflated functions snatched from various languages in
an attempt to make some point about intuitive naming. If he objects
to naming a function "filter", you can just imagine what he'd have to
say about remove-if[-not].

George
--
for email reply remove "/" from address
Jun 27 '08 #30

P: n/a
"xa****@gmail.com" <xa****@gmail.comwrites on Wed, 7 May 2008 16:13:36 -0700 (PDT):
...
Let me give a few example.

• “lambda”, widely used as a keyword in functional languages, is named
just “Function” in Mathematica. The “lambda” happend to be called so
in the field of symbolic logic, is due to use of the greek letter
lambda “λ” by happenstance. The word does not conveywhat it means.
While, the name “Function”, stands for the mathematical concept of
“function” as is.
"lambda" is not a function, but an operator with two operands, a variable
name and an expression resulting in another expression
which behaves like a function (the abstraction
of the variable name in the expression).
Dieter
Jun 27 '08 #31

P: n/a
In article <68*************@mid.individual.net>,
Waylen Gumbal <wg*****@gmail.comwrote:
>Sherman Pendley wrote:
>ko*****@eurogaran.com writes:
>
PLEASE DO NOT | :.:\:\:/:/:.:
FEED THE TROLLS | :=.' - - '.=:

I don't think Xah is trolling here (contrary to his/her habit)
but posing an interesting matter of discussion.

It might be interesting in the abstract, but any such discussion, when
cross-posted to multiple language groups on usenet, will inevitably
devolve into a flamewar as proponents of the various languages argue
about which language better expresses the ideas being talked about.
It's like a law of usenet or something.

If Xah wanted an interesting discussion, he could have posted this to
one language-neutral group such as comp.programming. He doesn't want
that - he wants the multi-group flamefest.

Not everyone follows language-neutral groups (such as comp,programming
as you pointed out), so you actually reach more people by cross posting.
This is what I don't understand - everyone seems to assume that by cross
posting, one intends on start a "flamefest", when in fact most such
"flamefests" are started by those who cannot bring themselves to
skipping over the topic that they so dislike.

--
wg
Not one person on the planet agrees with me, I believe, but
it's always seemed to me that an *advantage* to posting to
multiple groups (especially ones generally "interested" in similar
subject matter but NOT subject to huge poster/lurker/answerer overlap,
er, without too many *people* getting multiple copies of the *same*
post) is that it would provide an opportunity of a widely-dispersed
bunch of people to have a *joint* discussion, with comments hopefully
coming in from a *variety* of viewpoints.

David

Jun 27 '08 #32

P: n/a
In article <re***************@yahoo.com>,
Robert Maas, http://tinyurl.com/uh3t <us*****************@SpamGourmet.Comwrote:
>From: "xah...@gmail.com" <xah...@gmail.com>
the importance of naming of functions.
Lisp is *so* early a language (1960?), preceeded mainly only by Fortran (1957?)?,
and for sure the far-and-away the first as a platform for *so many* concepts
of computer-science, eg lexical vs dynamic ("special") variables, passing
*unnamed* functions as args (could Algol 60 also do something like that,
via something it maybe termed a "thunk"), maybe is still the only one
in which program and data have the same representation -- that it'd
seem logical to use it's terminology in all languages.

From C is the very nice distinction between "formal" and "actual" args.

And from algol-60, own and local -- own sure beats "static"!

And so on.
To me, it's too bad that that hacker-supreme (and certified genius)
Larry W. likes to make up his own terminology for Perl. Sure makes
for a lot of otherwise-unnecessary pages in the various Perl texts,
as well as posts here.

Of course, a whole lot better his terminology than no language at all!
David
Jun 27 '08 #33

P: n/a
(This one is also cross-posted, to apologize to one and all
about my just-prior followup.)

I stupidly didn't remember that whatever followup I made
would also get crossposted until *after* I had kneejerked
hit "s" (send) before I noticed the warning (Pnews?) on
just how many groups it would be posted to.

A suggestion for Pnews: that as soon as you give the
F (followup for trn), ie as soon as Pnews starts-up
on this followup, before you've typed in anything
or given it a filename to include, that AT THAT TIME
it remind you that it'll be crossposted to the
following 25 newsgroups:
1: foo
2: comp.lang.perl.misc
3: other-group
4: ...
, so way before you've said anything, you can
abort it if you want to.
SORRY!
David
Jun 27 '08 #34

P: n/a
P Fri, 30 May 2008 02:56:37 +0200, skrev David Combs <dk*****@panix.com>:
In article <re***************@yahoo.com>,
Robert Maas, http://tinyurl.com/uh3t
<us*****************@SpamGourmet.Comwrote:
>>From: "xah...@gmail.com" <xah...@gmail.com>
the importance of naming of functions.

Lisp is *so* early a language (1960?), preceeded mainly only by Fortran
(1957?)?,
and for sure the far-and-away the first as a platform for *so many*
concepts
of computer-science, eg lexical vs dynamic ("special") variables, passing
*unnamed* functions as args (could Algol 60 also do something like that,
via something it maybe termed a "thunk"), maybe is still the only one
in which program and data have the same representation -- that it'd
seem logical to use it's terminology in all languages.

From C is the very nice distinction between "formal" and "actual" args.

And from algol-60, own and local -- own sure beats "static"!

And so on.
To me, it's too bad that that hacker-supreme (and certified genius)
Larry W. likes to make up his own terminology for Perl. Sure makes
for a lot of otherwise-unnecessary pages in the various Perl texts,
as well as posts here.

Of course, a whole lot better his terminology than no language at all!
David

Perl is solidly based in the UNIX world on awk, sed, bash and C.
I don't like the style, but many do.

--------------
John Thingstad
Jun 27 '08 #35

P: n/a
Lew
John Thingstad wrote:
Perl is solidly based in the UNIX world on awk, sed, bash and C.
I don't like the style, but many do.
Please exclude the Java newsgroups from this discussion.

--
Lew
Jun 27 '08 #36

P: n/a
Lew wrote:
John Thingstad wrote:
Perl is solidly based in the UNIX world on awk, sed, bash and C.
I don't like the style, but many do.
Please exclude the Java newsgroups from this discussion.
Why? Do you speak for everyone in that, this, or other groups?
--
G.Etly
Jun 27 '08 #37

P: n/a
Lew
Gordon Etly wrote:
Lew wrote:
>John Thingstad wrote:
>>Perl is solidly based in the UNIX world on awk, sed, bash and C.
I don't like the style, but many do.
>Please exclude the Java newsgroups from this discussion.

Why? Do you speak for everyone in that, this, or other groups?
I don't know why you'd even want to impose your Perl conversation on the Java
group in the first place, troll.

Plonk.

--
Lew
Jun 27 '08 #38

P: n/a
Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, bash and C.
} I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.

Did it ever occur to you that you don't speak for entire news groups?
Stephan.
Jun 27 '08 #39

P: n/a
Stephan Bour wrote:
Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, bash and C.
} I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.

Did it ever occur to you that you don't speak for entire news groups?
Did it occur to you that there are nothing about Java in the above ?

Arne
Jun 27 '08 #40

P: n/a
szr
Arne Vajhj wrote:
Stephan Bour wrote:
>Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, bash and C.
} I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.

Did it ever occur to you that you don't speak for entire news groups?

Did it occur to you that there are nothing about Java in the above ?
Looking at the original post, it doesn't appear to be about any specific
language.

--
szr
Jun 27 '08 #41

P: n/a
On Fri, 30 May 2008 22:40:03 -0700, szr <sz***@szromanMO.comVEwrote:
Arne Vajhøj wrote:
>Stephan Bour wrote:
>>Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, bash and C.
} I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.

Did it ever occur to you that you don't speak for entire news groups?

Did it occur to you that there are nothing about Java in the above ?

Looking at the original post, it doesn't appear to be about any specific
language.
Indeed. That suggests it's probably off-topic in most, if not all, of the
newsgroups to which it was posted, inasmuch as they exist for topics
specific to a given programming language.

Regardless, unless you are actually reading this thread from the c.l.j.p
newsgroup, I'm not sure I see the point in questioning someone who _is_
about whether the thread belongs there or not. Someone who is actually
following the thread from c.l.j.p can speak up if they feel that Lew is
overstepping his bounds. Anyone else has even less justification for
"speaking for the entire newsgroup" than Lew does, and yet that's what
you're doing when you question his request.

And if it's a vote you want, mark me down as the third person reading
c.l.j.p that doesn't feel this thread belongs. I don't know whether Lew
speaks for the entire newsgroup, but based on comments so far, it's pretty
clear that there unanimous agreement among those who have expressed an
opinion.

If you all in the other newsgroups are happy having the thread there,
that's great. Please feel free to continue with your discussion. But
please, drop comp.lang.java.programmer from the cross-posting.

Pete
Jun 27 '08 #42

P: n/a
szr
Peter Duniho wrote:
On Fri, 30 May 2008 22:40:03 -0700, szr <sz***@szromanMO.comVEwrote:
>Arne Vajhj wrote:
>>Stephan Bour wrote:
Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, } bash
and C. I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.

Did it ever occur to you that you don't speak for entire news
groups?

Did it occur to you that there are nothing about Java in the above ?

Looking at the original post, it doesn't appear to be about any
specific language.

Indeed. That suggests it's probably off-topic in most, if not all,
of the newsgroups to which it was posted, inasmuch as they exist for
topics specific to a given programming language.
Perhaps - comp.programming might of been a better place, but not all
people who follow groups for specific languages follow a general group
like that - but let me ask you something. What is it you really have
against discussing topics with people of neighboring groups? Keep in
mind you don't have to read anything you do not want to read. [1]
Regardless, unless you are actually reading this thread from the
c.l.j.p newsgroup, I'm not sure I see the point in questioning
someone who _is_ about whether the thread belongs there or not.
I would rather have the OP comment about that, as he started the thread.
But what gets me is why you are against that specific group being
included but not others? What is so special about the Java group and why
are you so sure people there don't want to read this thread? [1] What
right do you or I or anyone have to make decisions for everyone in a
news group? Isn't this why most news readers allow one to block a
thread?
And if it's a vote you want, mark me down as the third person reading
c.l.j.p that doesn't feel this thread belongs. I don't know whether
Lew speaks for the entire newsgroup, but based on comments so far,
it's pretty clear that there unanimous agreement among those who have
expressed an opinion.
Ok, so, perhaps 3 people out of what might be several hundred, if not
thousand (there is no way to really know, but there are certainly a lot
of people who read that group, and as with any group, there are far more
readers than there are people posting, so, again, just because you or
two other people or so don't want to read a topic or dislike it, you
feel you can decide for EVERYONE they mustn't read it? Again, this is
why readers allow you to ignore threads. Please don't force your views
on others; let them decide for themselves. [1]
[1] I do not mean this topic specifically, but in general, if one
dislikes a thread, they are free to ignore it. I find it rather
inconsiderate to attempt to force a decision for everyone, when
one has the ability to simply ignore the thread entirely.
--
szr
Jun 27 '08 #43

P: n/a
"szr" <sz***@szromanMO.comVEwrote:
>I would rather have the OP comment about that, as he started the thread.
The OP is a very well-known troll who has the habit of spitting out a
borderline OT article to a bunch of loosly related NGs ever so often and
then sits back and enjoys the complaints and counter-complaints of the
regulars. He doesn't provide anything useful in any of the groups he
targets (at least AFAIK) and he doesn't participate in the resulting
mayhem himself, either.
He will only go away if everyone just ignores him.

With this in mind another reminder:

+-------------------+ .:\:\:/:/:.
| PLEASE DO NOT | :.:\:\:/:/:.:
| FEED THE TROLLS | :=.' - - '.=:
| | '=(\ 9 9 /)='
| Thank you, | ( (_) )
| Management | /`-vvv-'\
+-------------------+ / \
| | @@@ / /|,,,,,|\ \
| | @@@ /_// /^\ \\_\
@x@@x@ | | |/ WW( ( ) )WW
\||||/ | | \| __\,,\ /,,/__
\||/ | | | jgs (______Y______)
/\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
================================================== ============

Follow-up adjusted.

jue
Jun 27 '08 #44

P: n/a
szr
Jrgen Exner wrote:
"szr" <sz***@szromanMO.comVEwrote:
>I would rather have the OP comment about that, as he started the
thread.

The OP is a very well-known troll who has the habit of spitting out a
borderline OT article to a bunch of loosly related NGs ever so often
and then sits back and enjoys the complaints and counter-complaints
of the regulars.
While I agree cross-posting should be chosen more carefully, it seemed
like a harmless article to me. I did not get the impression he was just
trolling. There are people who like to post articles they come across
and maybe want to start a discussion on.

Like I said, this may have been better to put in a more general
programming group, and that yes, it is kind of OT for specific language
groups, but I really saw no harm in it (and I saw no one try to redirect
the discussion to a more general group), and you and anyone else are
free to ignore the thread. All I ask is you allow people to make up
their own minds.

--
szr
Jun 27 '08 #45

P: n/a
szr wrote:
Arne Vajhj wrote:
>Stephan Bour wrote:
>>Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, bash and C.
} I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.

Did it ever occur to you that you don't speak for entire news groups?
Did it occur to you that there are nothing about Java in the above ?

Looking at the original post, it doesn't appear to be about any specific
language.
That does not make it on topic in the Java group.

And the subthread Lew commented on most certainly is not.

Arne
Jun 27 '08 #46

P: n/a
szr wrote:
Peter Duniho wrote:
>On Fri, 30 May 2008 22:40:03 -0700, szr <sz***@szromanMO.comVEwrote:
>>Arne Vajhj wrote:
Stephan Bour wrote:
Lew wrote:
} John Thingstad wrote:
} Perl is solidly based in the UNIX world on awk, sed, } bash
and C. I don't like the style, but many do.
}
} Please exclude the Java newsgroups from this discussion.
>
Did it ever occur to you that you don't speak for entire news
groups?
Did it occur to you that there are nothing about Java in the above ?
Looking at the original post, it doesn't appear to be about any
specific language.
Indeed. That suggests it's probably off-topic in most, if not all,
of the newsgroups to which it was posted, inasmuch as they exist for
topics specific to a given programming language.

Perhaps - comp.programming might of been a better place, but not all
people who follow groups for specific languages follow a general group
like that - but let me ask you something. What is it you really have
against discussing topics with people of neighboring groups? Keep in
mind you don't have to read anything you do not want to read. [1]
I very much doubt that the original thread is relevant for the Java
group.

But the subthread Lew commente don was about Perl and Unix. That is
clearly off topic.

Personally I am rather tolerant for topics. But I can not blame Lew
for requesting that a Perl-Unix discussion does not get cross posted
to a Java group.
>Regardless, unless you are actually reading this thread from the
c.l.j.p newsgroup, I'm not sure I see the point in questioning
someone who _is_ about whether the thread belongs there or not.

I would rather have the OP comment about that, as he started the thread.
But what gets me is why you are against that specific group being
included but not others? What is so special about the Java group and why
are you so sure people there don't want to read this thread? [1] What
right do you or I or anyone have to make decisions for everyone in a
news group? Isn't this why most news readers allow one to block a
thread?
I doubt Lew read any of the other groups, so it seems quite
natural that he did not comment on the on/off topic characteristics
in those.
>And if it's a vote you want, mark me down as the third person reading
c.l.j.p that doesn't feel this thread belongs. I don't know whether
Lew speaks for the entire newsgroup, but based on comments so far,
it's pretty clear that there unanimous agreement among those who have
expressed an opinion.

Ok, so, perhaps 3 people out of what might be several hundred, if not
thousand (there is no way to really know, but there are certainly a lot
of people who read that group, and as with any group, there are far more
readers than there are people posting, so, again, just because you or
two other people or so don't want to read a topic or dislike it, you
feel you can decide for EVERYONE they mustn't read it? Again, this is
why readers allow you to ignore threads. Please don't force your views
on others; let them decide for themselves. [1]
And I am sure that Lew did not intended to pretend to speak for
the entire group. He spoke for himself.

I believe there has been several posts that agreed with him and none
that disagreed, so it seems very plausible that the group indeed agree
with him.

Arguing that a huge silent majority has a different opinion
than those speaking up is a very questionable argument. Everybody
could try and count them for their view. The only reasonable
thing is not to count them.

Arne
Jun 27 '08 #47

P: n/a
szr
Peter Duniho wrote:
On Sat, 31 May 2008 23:27:35 -0700, szr <sz***@szromanMO.comVEwrote:
>[...]
>>But the subthread Lew commente don was about Perl and Unix. That is
clearly off topic.

I agree with and understand what you are saying in general, but
still, isn't it possible that were are people in the java group (and
others) who might of been following the thread, only to discover
(probably not right away) that someone decided to remove the group
they were reading the thread from? I know I would not like that,
even if it wasn't on topic at the branch.

All due respect, I don't really care if those people find the thread
gone. And no one should.
I prefer to be considerate of others.
Each individual person has a wide variety of interests. A thread
that is off-topic in a newsgroup may in fact be concerning a topic of
interest for someone who just happened to be reading that newsgroup.
Well if a thread has absolutely no relation to a group, then yes,
cross-posting to said group is inappropiate, and setting follow ups may
well be warrented. But when there is some relation, sometimes it may be
better to mark it as [OT] i nthe subject line, a practice that is
sometimes seen, and seems to suffice.
What if someone cross-posted a thread about motorcycle racing in the
Perl newsgroup as well as an actual motorcycle racing newsgroup?
You are comparing apples and oranges now; sure, if you post about
motorcycles (to use your example) it would be wildly off topic, but the
thread in question was relating to programming (the naming of functions
and such) in general.
Does that justify the thread continuing to be cross-posted to the Perl
newsgroup? No, of course not.
but who decides this? And why does said individual get to decide for
everyone?
So please. Quit trying to justify a thread being cross-posted to a
newsgroup that you aren't even reading
You do not know what groups I read. And I am not attempting to justify
cross posting at all. Rather I am arguing against deciding for a whole
news group when a thread should be discontinued.

--
szr
Jun 27 '08 #48

P: n/a
From: dkco...@panix.com (David Combs)
Lisp is *so* early a language (1960?), preceeded mainly only by
Fortran (1957?)?, and for sure the far-and-away the first as a
platform for *so many* concepts of computer-science, eg lexical vs
dynamic ("special") variables, passing *unnamed* functions as
args ... maybe is still the only one in which program and data
have the same representation -- that it'd seem logical to use it's
terminology in all languages.
Yeah, but why did you cross-post to so many newsgroups? Are you
trying to run a flame war between advocates of the various
languages? (Same accusation to the OP moreso!)
From C is the very nice distinction between "formal" and "actual" args.
I think Lisp already had that nearly 50 years ago. Function
definition (lambda expression) has formal args, EVAL recursively
calls EVAL on sub-forms to create actual args and calls APPLY on
them and whatever function is named in the CAR position of the form.
Whether anybody bothered to use that specific jargon, or it was
just so obvious it didn't need jargon, I don't know.
And from algol-60, own and local -- own sure beats "static"!
Yeah. But now that you mention it and I think about it, what's
really meant is "private persistent". Global variables are public
persistent. Local variables and formal args to functions are
private transient (they go away as soon as the function returns).
but OWN variables are private to the function but stay around
"forever" just like globals do, so that side effects on the OWN
variables that occurred during one call can persist to affect the
next call. Lexical closures in Common Lisp go one step further,
allowing private persistent variables to be shared between several
functions. All those functions share access to the private variable
which they co-OWN. Another way in which OWN or lexical-closure
variables aren't like what the word "own" means in ordinary
language is that it's possible to transfer ownership by selling or
giving something to somebody else, but not with OWN variables or
lexical-closure variables. So even though I like the word OWN
better than the word STATIC for this meaning, I'm not totally
comfortable with that jargon. But "persistent private" is a
mouthful compared to "OWN", and I doubt anyone can find a word of
appx. 3 characters that conveys the intended meaning so we're
probably stuck with "OWN" as the best short term.
Jun 27 '08 #49

P: n/a
Robert Maas, http://tinyurl.com/uh3t wrote:
>From: dkco...@panix.com (David Combs)
Lisp is *so* early a language (1960?), preceeded mainly only by
Fortran (1957?)?, and for sure the far-and-away the first as a
platform for *so many* concepts of computer-science, eg lexical vs
dynamic ("special") variables, passing *unnamed* functions as
args ... maybe is still the only one in which program and data
have the same representation -- that it'd seem logical to use it's
terminology in all languages.

Yeah, but why did you cross-post to so many newsgroups? Are you
trying to run a flame war between advocates of the various
languages?
What would be the point? We all know that Java, Perl, Python and Lisp suck.
They don't even have pattern matching over algebraic sum types if you can
imagine that. How rudimentary...

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
Jun 27 '08 #50

97 Replies

This discussion thread is closed

Replies have been disabled for this discussion.