In General > s.a. Lambda
Calculus.
* Procedural languages:
They contain subroutines, collections of instructions for how to operate
on inert data structures to perform tasks such as sorting,
searching, or displaying; Examples are BASIC, FORTRAN, Matlab, C.
* Functional languages: Examples
are List and its derivatives, Prolog, Maple, Mathematica.
* Object-oriented languages:
The data themselves become the organizing principle; For example, a class of
objects called 'Customers' might contain
names, addresses, telephone numbers, etc; the subroutines are packaged
with the object, and are called 'member functions' – the Customer
object might
have a number of such functions, such as 'GetLastName' and 'SendBill' –;
In turn, objects can be arranged in related hierarchies – for example, 'Customer'
could be a sub-class of 'Person' and a super-class of 'VIPCustomer'–;
Object-oriented programming has become very popular because it allows programmers
to clearly associate the code with their mental models
of the real world data that it represents; Examples are C++, Java, and Smalltalk.
C, C++
@ C: Zachary 97 [and Mathematica].
@ C++: Cooper et al 94; Yevick 05 [computational physics and object-oriented
programming].
Fortran
@ References: Crouch et al pw(07)dec
[FORTRAN at 50].
Java
@ References: Skansholm 00.
Javascript
@ References: Flanagan 98.
Macsyma (1960's)
* Idea:
Big; has many packages, including indicial Cartan.
Maple (1980's)
* Idea:
Small kernel; large library (not very integrated).
@ In general: Toussaint cs.SC/01-ln.
@ Mathematical physics: Enns & McGuire 97 [non-linear equations,
r PT(98)jul]; Richards 01; Enns 05 [computer algebra].
@ In physics: Greene 95 [classical mechanics]; Horbatsch 95 [quantum
mechanics]; Kalashnikov
gq/01 [astrophysics,
cosmology]; Lake phy/05 [GRTensorII
package].
Mathematica (1980's) > s.a. BRST;
heat [kernel coefficients];
partial differential equations.
* Idea:
Mathtensor is indicial; Ricci.
* Results and remarks:
Compute Rijkl, not R ijkl;
Has found errors in Gradshteyn & Ryzhik!
@ In general: Wolfram 91; Blachman 92; Wickham-Jones 94 [graphics];
Höft & Höft
98; Maeder 00 [computer science].
@ In physics: Feagin 94 [quantum mechanics]; Soleng 96-gq/95 [Cartan
package]; Gass 98 [with CD-ROM]; Kinzel & Reents 98 [and C]; Kiselev et
al 99 [fluids]; Zhang qp/02 [commutators
in quantum mechanics]; Zimmermann & Olness
03; Baumann 05 [theory]; Lake phy/05 [GRTensorM
package]; Romano et al 06 [continuum mechanics]; McMahon & Topa 06 [intro].
@ Math physics: Cap 03; Dubin 03 [r PT(04)jun].
Matlab
@ References: Kepner & Ahalt ap/02-in
[MatlabMPI]; Tóth a0709 [QUBIT4MATLAB v3.0].
muMath (1970's)
Pascal
@ References: Abas & Mondragon 90.
Perl
@ References: Brown 99.
Reduce (1960's)
* Idea: Widely available;
semi-indicial; is now free – without garbage collection.
@ References: MacCallum & Wright 91; MacDonald 94 [IIb/III]; Grozin 97; Toussaint cs.SC/01-ln.
Main page – Abbreviations – Journals – Comments – Other
sites – Acknowledgements
Send feedback and suggestions to bombelli at olemiss.edu – Modified
22 jun 2008