On 3/8/15 9:43 AM, Guy Sotomayor wrote:
On 3/7/15 9:05 PM, Toby Thain wrote:
On 06/03/15 9:40 AM, Mouse wrote:
>>
one other, which you may or may not classify as a ?language?, is
>> Mathematica.
> I don't know enough about it to offer an opinion [...]
I've been using Mathematica for years. [...] I've also used MatLab
which also falls somewhat into that category. MatLab is is really
optimized around vectors and arrays.
That might be more similar to APL, then.
This has been rattling around in my mind for a little while now and I
think one reason I didn't think of things like Mathematica or Matlab is
that they're single-implementation. ...
It certainly existed on SPARC, though... Mathematica was very widely
ported because of the era it was born in - it supported just about
every serious platform of the 1980s - I remember seeing price lists
with maybe 50 different ports, everything from SPARC to Mac to Cray
(at the time I used it on Mac 68K and I have a license for NeXT).
Wolfram's pathologically proprietorial mentality doesn't support the
spirit of openness that progress and science require; a tragedy when
so many have sleepwalked into relying on his black-box tools ...
While it doesn't have all of the bells and whistles of Mathmatica,
something in the same vein is Maxima (a port of the DOE version of
Macsyma). Both are symbolic processing. I use Maxima in situations
where I don't have a Mathmatica license readily available. There are
several books on Macsyma also available.
Maxima is open source and is easily portable. The distribution does
have a lisp included (can't remember if it's binary or source) but
that lisp is also readily available as I recall but I would think that
any common lisp implementation would work. It also integrates (sorry
for the pun) with gnuplot for some pretty spectacular graphing.
There's also a graphical front end (so you can use the various TeX
fonts to integrals and other math input/output looks good on the screen).
One of
the things that I really appreciate with both Mathmatica and
MatLab is the fact that they can handle enormous data sets that other
tools choke on. At a previous employer, I justified the expense of
Mathmatica because I had to do some analysis on some trace files that
had on the order of 100,000,000 records. I had previous experience with
smaller files and using Excel spreadsheets that indicated spreadsheets
were just not up to the task. Once I had coded up what I needed in
Mathmatica's language, I could do the processing/analysis of the trace
files in about an hour. Even with much smaller data sets, spreadsheets
(Excel specifically) took significantly longer.
The way I had coded in Mathmatica was probably not the most efficient.
Just like proper APL, there were no loops in the code. The entire trace
file was read into a list and then applications of "map" were done on
the entire list (sometimes doing a selection from the list). One of the
powerful features is applying a test against the list and getting a bit
vector out (one bit per list element) for the entire list (a really long
bit vector). You could then use the bit vector directly (I had used it
for some frequency analysis) or to extract a sublist for different
processing.
TTFN - Guy