The evolution of Mathematica programming for back substitution.

The following 5 subroutines perform the exact same function.

First, the arrays use double brackets  [Graphics:../Images/BackSubstitutionMod_gr_32.gif].  The code for arrays is hard to read.  The sum is accumulated in the variable  [Graphics:../Images/BackSubstitutionMod_gr_33.gif].

[Graphics:../Images/BackSubstitutionMod_gr_34.gif]

Second, the arrays have slightly improved double brackets [Graphics:../Images/BackSubstitutionMod_gr_35.gif]. The code for arrays is better.  The sum is accumulated in the variable  [Graphics:../Images/BackSubstitutionMod_gr_36.gif].

[Graphics:../Images/BackSubstitutionMod_gr_37.gif]

Third, the arrays have subscripted indices [Graphics:../Images/BackSubstitutionMod_gr_38.gif].  The code for arrays is best.  The sum is accumulated in the variable  [Graphics:../Images/BackSubstitutionMod_gr_39.gif].

[Graphics:../Images/BackSubstitutionMod_gr_40.gif]

Fourth, the loop for computing the sum is improved and uses the built in command  [Graphics:../Images/BackSubstitutionMod_gr_41.gif].  

[Graphics:../Images/BackSubstitutionMod_gr_42.gif]

Fifth, the loop for computing the sum is improved and uses the palette command  [Graphics:../Images/BackSubstitutionMod_gr_43.gif].   This is the state of the art for "mathematical object oriented programming."  

[Graphics:../Images/BackSubstitutionMod_gr_44.gif]

We use the latter, we are in the era of fifth and sixth generation programming.

Logic programming as the integrator of the Fifth Generation Computer Systems project    
Koichi Furukawa
Communications of the ACM, Volume 35 , Issue 3 (1992).  

Logical foundations for knowledge representation in intelligent systems    
B. R. Gaines
Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems
October 22 - 24, 1986, Knoxville, TN USA,  Pages 366-380.  

 

 

 

 

 

 

 

 

 

 

 

 

(c) John H. Mathews 2003