Matrix

Martin DeMello wrote:


There is one thing more important than brevity to a hacker: being able
to do what you want.

In essence, this article advocates anarchy. The counter-evidence is to
ask
which languages persist, and which fade away. Free-form languages,
languages that let you do whatever you please, tend to have short lives
or
are quickly rendered incomprehensible because of the very freedoms that
originally made them appealing (Perl). The longest-lived, most useful
languages have the strictest syntax and the fewest built-in dodges.
Example? mathematical notation.

Mathematical notation is extremely strict and slow to change. Apart from
some recent window dressing, the last significant change was the
adoption
of Liebniz’ Calculus notation over that used by Newton in the late 17th
century. Consequently, mathematical notation has the widest audience of
any
formal symbolic language. And programs that purport to be able to
fluently
read and write mathematical notation are in great demand and fetch high
prices (Mathematica, Maple, Matlab, IDL).

This notion flatly contradicts all our modern liberal instincts, but it
is
no less true for that.

Paul L. wrote:

In essence, this article advocates anarchy. The counter-evidence is to ask
which languages persist, and which fade away. Free-form languages,
languages that let you do whatever you please, tend to have short lives or
are quickly rendered incomprehensible because of the very freedoms that
originally made them appealing (Perl).

This seems to describe Ruby, and many here are very proud of how Ruby
lets you redo any primative. I’m confused. Are you saying that Ruby
doesn’t allow something?

The longest-lived, most useful
languages have the strictest syntax and the fewest built-in dodges.
Example? mathematical notation.

Mathematical notation is extremely strict and slow to change.

Every book has their own mathematical notation. Beyond basic addition a
(even then not always well defined when people leave out the vector
notation and essentially vectorize the plus operator implicitly). Many
math books are notorious for their poor notation and in lacking rigor.

Apart from
some recent window dressing, the last significant change was the adoption
of Liebniz’ Calculus notation over that used by Newton in the late 17th
century. Consequently, mathematical notation has the widest audience of any
formal symbolic language. And programs that purport to be able to fluently
read and write mathematical notation are in great demand and fetch high
prices (Mathematica, Maple, Matlab, IDL).

APL is its successor J is essentially defined by Iverson as executable
notation, yet APL has almost died off (not a positive in my view), and J
– despite fixing APLs worst misfeatures – has never really gathered
that big of a following. Lisp continues to outlive APL, even if on life
support, yet it is hard to classify as strict or loose. In syntax it may
be very strict, but in semantics it is very loose.

Language longevity seems to be based on the more nebulous but very real
world impact the language makes on its ability to add libraries and
functionality without making the language too complex. Perl failed, but
C with its simple libraries seems to continue.

-j

Paul L. wrote:

Mathematical notation is extremely strict and slow to change. Apart from
some recent window dressing, the last significant change was the adoption
of Liebniz’ Calculus notation over that used by Newton in the late 17th
century.

Ah, but a variant of Newton’s notation is still in wide use for ordinary
differential equations:

y’(x) = y(x); y(0) = 1

Consequently, mathematical notation has the widest audience of any
formal symbolic language. And programs that purport to be able to fluently
read and write mathematical notation are in great demand and fetch high
prices (Mathematica, Maple, Matlab, IDL).

I wouldn’t call Matlab a “symbolic” language, unless it’s changed a lot
over the years. And concerning the high prices, there are two or three
open-source Matlab-like environments, Octave being the most well known.
For purely numerical computing with an emphasis on statistics, there is,
of course, R as well.

In the symbolic realm, there is Axiom and Maxima, both open source, in
the general-purpose category. In addition, there are a number of
open-source high-speed special-purpose tools like GiNaC, Pari, GAP, and
Singular.

And let’s not forget TeX and mathematical typesetting and the notions of
“literate programming” and “reproducible research”. I know there are
some high-priced commercial tools to do this, but most everybody I know
uses things like LyX, TeXmacs, noweb and such rather than “the
high-priced spread”. (or Word.) :slight_smile:

Finally, I think there’s a formal symbolic language with a wider
audience than mathematics. Can you guess what it is? I’ll give you a
hint – Google for “lilypond”. :slight_smile:

Jason N. wrote:

Language longevity seems to be based on the more nebulous but very real
world impact the language makes on its ability to add libraries and
functionality without making the language too complex. Perl failed, but
C with its simple libraries seems to continue.
In what sense(s) has Perl “failed?” I still use it almost daily, and
will continue to do so until I’m paid to use something else.

It’s interesting that the most syntactically simple and absolute
languages, e.g., dialects of Lisp and ML, are usually the most
reflective and expressive.

let anarchy = higher-level-order in
programming languages;;

:wink:

I haven’t seen a new Perl project started in a long time. All Perl work
I see being done is legacy code. If Perl 6 is as complex as it appears
it is going to be, I think the language will be on life support.

-j

Jason N. wrote:

This seems to describe Ruby, and many here are very proud of how Ruby lets
you redo any primative. I’m confused. Are you saying that Ruby doesn’t
allow something?

No, I was identifying Perl as a language sometimes sufficiently cryptic
as
to be write-only.

Mathematical notation is extremely strict and slow to change.

Every book has their own mathematical notation. Beyond basic addition a
(even then not always well defined when people leave out the vector
notation and essentially vectorize the plus operator implicitly). Many
math books are notorious for their poor notation and in lacking rigor.

Yes, true, but there really is a universally accepted mathematical
notation.
There are many people who play with it as though it were free-form, but
the
essential core remains much the same.

/ …

Language longevity seems to be based on the more nebulous but very real
world impact the language makes on its ability to add libraries and
functionality without making the language too complex. Perl failed, but C
with its simple libraries seems to continue.

I think C survives only because of a huge legacy code base, not because
of
any particular merit. The same can be said of Fortran.

M. Edward (Ed) Borasky wrote:

Paul L. wrote:

Mathematical notation is extremely strict and slow to change. Apart from
some recent window dressing, the last significant change was the adoption
of Liebniz’ Calculus notation over that used by Newton in the late 17th
century.

Ah, but a variant of Newton’s notation is still in wide use for ordinary
differential equations:

y’(x) = y(x); y(0) = 1

Interesting. I didn’t realize that notation originated with Newton. I
find
myself increasingly dependent on that particular notation –

“Modeling Gravity with Ruby”:

Consequently, mathematical notation has the widest audience of any
formal symbolic language. And programs that purport to be able to
fluently read and write mathematical notation are in great demand and
fetch high prices (Mathematica, Maple, Matlab, IDL).

I wouldn’t call Matlab a “symbolic” language, unless it’s changed a lot
over the years.

I shouldn’t have listed it, because I now realize it can’t process
symbolic
math.

And concerning the high prices, there are two or three
open-source Matlab-like environments, Octave being the most well known.
For purely numerical computing with an emphasis on statistics, there is,
of course, R as well.

I hope for an eventual decent open-source symbolic math processor. There
was
one (the name of which escapes me at the moment), but it is presently
abandonware.

In the symbolic realm, there is Axiom and Maxima,

I believe I was thinking of Maxima, or a variant thereof, above. I was
able
to make it process some kinds of symbolic constructs, with somewhat more
effort than with Mathematica.

both open source, in
the general-purpose category. In addition, there are a number of
open-source high-speed special-purpose tools like GiNaC, Pari, GAP, and
Singular.

I am personally spoiled by Mathematica, and, not being a particularly
skilled mathematician, perhaps to a fault.

And let’s not forget TeX and mathematical typesetting and the notions of
“literate programming” and “reproducible research”. I know there are
some high-priced commercial tools to do this, but most everybody I know
uses things like LyX, TeXmacs, noweb and such rather than “the
high-priced spread”. (or Word.) :slight_smile:

Finally, I think there’s a formal symbolic language with a wider
audience than mathematics. Can you guess what it is? I’ll give you a
hint – Google for “lilypond”. :slight_smile:

I wouldn’t have guessed musical notation without help, but I agree, it
meets
the definition, and, until the invention of the car radio, it was more
widely used than mathematical notation. :slight_smile:

Quoting Paul L. [email protected]:

I hope for an eventual decent open-source symbolic math processor. There was
one (the name of which escapes me at the moment), but it is presently
abandonware.

The only one that is more or less abandoned that I recall is MuPAD, and
that was
abandoned by the community because the developer refused to open the
package up.
The base version is/was free as in beer but the full version was free in
neither
sense.

Axiom is decidedly active; check out

http://wiki.axiom-developer.org/FrontPage

and

http://portal.axiom-developer.org/

I am personally spoiled by Mathematica, and, not being a particularly
skilled mathematician, perhaps to a fault.

Depending on the type of physicist you are, there are quite a few
open-source
specialty packages. And while not strictly open source, if you’re a
teacher or
a student, you can usually get software on an “academic license”. It’s
free to
other academics but they expect industrial users to pay for it. In my
area,
computer performance modeling, there is a lot of “academic-licensed”
software
but only a few good ones are truly open source. Which is why I went down
the
Ruby path in the first place for Rameau.

http://rubyforge.org/cgi-bin/viewvc.cgi/Rameau/?root=cougar

I wouldn’t have guessed musical notation without help, but I agree, it meets
the definition, and, until the invention of the car radio, it was more
widely used than mathematical notation. :slight_smile:

Actually, just about every middle class home in America had a piano
before radio
and the phonograph. I think there are still a lot more people who can
read music
than there are who can read a PDE textbook. :slight_smile:

On 9/16/06, [email protected] [email protected] wrote:

Quoting Paul L. [email protected]:

I hope for an eventual decent open-source symbolic math processor. There was
one (the name of which escapes me at the moment), but it is presently
abandonware.

I believe you missed one: Maxima.

It is ultimately descended from MACSYMA, which is the most venerable
of all computer algebra systems, and from what I can see it’s
definitely not abandoned (considering that the last official release
was in 2005). I’ve used it and it’s probably the closest Free
alternative to Mathematica or Maple.

Quoting Dido S. [email protected]:

http://maxima.sourceforge.net/

It is ultimately descended from MACSYMA, which is the most venerable
of all computer algebra systems, and from what I can see it’s
definitely not abandoned (considering that the last official release
was in 2005). I’ve used it and it’s probably the closest Free
alternative to Mathematica or Maple.
I actually noted Maxima in my first post. I think Maxima is a good bit
simpler
than Axiom, if that matters … a shorter learning curve for Maxima. But
I
think Axiom is ultimately more powerful. Both are indeed active.