Programming Languages  

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 pageAbbreviationsJournalsCommentsOther sitesAcknowledgements
Send feedback and suggestions to bombelli at olemiss.edu – Modified 22 jun 2008