Re: Best Maths Computer Programming Language



Herman Rubin wrote:

Not quite off-topic yet so one more post ...

The other unusual things are in the semantics of


	variables -- APL deals exclusively with values, and has no
	pointers or reference types


This is a major shortcoming.  It should have been corrected
in all languages after FORTRAN (the original one, not the
later versions), generally.  Pointers ARE variables.

Most (all?) languages that support pointers give them reference semantics. Without a lot of discipline for the programmer, this tends to produce a maze of aliases, and software that's painful to maintain or extend.

....

Lisp, with mathematical syntax and semantics, and the use of
very heavily overloaded operators, might be a good language.

I don't know. Common Lisp is a -very large- language. There's a language K that straddles the fence between APL's array orientation and Lisp's list orientation, with infix notation for the usual math functions, but I've never given it a real try.

APL always has three types -- character, integer, and real -- and in some
implementations complex and in one, rational.  Most implementations
use 8-bit characters and whatever's convenient for the hardware platform
for integer and real.  In any case, these are implementation issues,
not language deficiencies.


No, they are language deficiencies. An adequate language for
mathematics should be able to do what any mathematician wants
to do with computers, not a small subset of them.

APL the language is defined over abstract (mathematical) integers
and reals. Implementations aren't. There's no barrier to creating
an implementation with arbitrary size integers (as in J) or arbitrary precision floats.


....

Even if one is producing a ln routine, it is highly desirable
to be able to use the same string as both integer and floating.

I clearly don't understand what you mean here. I don't know of any hardware architecture that allows the same bits to represent a float and and integer with some coherent relation between the values in the two interpretations.


The handling of trigonometric and exponential functions
is not good.

....

At least the versions of APL I saw had VERY odd notation for
the trigonometric functions.

Ah. Circular-function notation. Yes, this is ugly. It would IMO have been better to define a standard library with the usual abbreviated names. I've seen a lot of trivial cover routines for the circular and hyperbolic functions for just this reason.




Enough. APL has been good to me for for almost 30 years now and it looks like it this may go on for another 5 or 10.

That's made me a fan ...
.



Relevant Pages

  • Re: I need a new compiler...
    ... which is the definition of the C language. ... Pointers, and address and indireciton operators were ... and are maintained through all current implementations. ... indirection operators provide access to system memory. ...
    (comp.lang.cobol)
  • Re: I need a new compiler...
    ... Some C implementations may extend the language to ... but that's not part of the C language. ... Pointers, and address and indireciton operators were ratified with C89, and are maintained through all current implementations. ... physical memory or devices. ...
    (comp.lang.cobol)
  • Re: "C vs java"
    ... The first obvious error is the confusion of implementations with the ... language proper, in the "compilation" row. ... The "array declarations" row doesn't show how to declare an array. ... realloc but also static declaration syntax. ...
    (comp.lang.c)
  • Re: "C vs java"
    ... The first obvious error is the confusion of implementations with the ... language proper, in the "compilation" row. ... The "array declarations" row doesn't show how to declare an array. ... realloc but also static declaration syntax. ...
    (comp.lang.c)
  • Re: SPITBOL or SNOBOL4 in OS X unix layer?
    ... > I am a long-time user of the old-fashioned programming language package ... > MaxSPITBOL, an implementation of the text-oriented language SPITBOL, ... > But SPITBOL has had several unix implementations over the years. ... When you download it, open a Terminal window and cd to the directory ...
    (comp.sys.mac.system)