Backus, John_The History of Fortran I, II, III_ACM

Embed Size (px)

Citation preview

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    1/16

    T H E H I S T O R Y O F F O R T R A N I , I I, A N D I I I

    J o h n B a c k u sI B M R e s ea r c h L a b o r a t o r yS a n J o s e, C a l i f o r n i a

    I. E a r l y b a c k g r o u n d a n d e n v i r o n m e n t .1 .1 A t t i t u d e s a b o u t a u t o m a t i c p r o g r a m m i n gi n t h e 1 9 5 0 ' s .

    B e f o r e 1 9 54 a l m o s t a l l p r o g r a m m i n g w a sd o n e i n m a c h i n e l a n g u a g e o r a s s e m b l y l a n -g u a g e . P r o g r a m m e r s r i g h t l y r e g a r d e d t h e i rw o r k a s a c o m p l e x , c r e a t i v e a r t t h a t r e-q u i r e d h u m a n i n v e n t i v e n e s s t o p r o d u c e a ne f f i c i e n t p r o g r a m . M u c h o f t h e i r e f f o r tw a s d e v o t e d t o o v e r c o m i n g t h e d i f f i c u l t i e sc r e a t e d b y t h e c o m p u t e r s o f t h a t e r a: t h el a c k o f i n d e x r e g i s t e r s , t h e l a c k o f b u i l t -i n f l o a t i n g p o i n t o p e r a t i o n s , r e s t r i c t e di n s t r u c t i o n s e t s ( w h ic h m i g h t h a v e A N D b u tn o t OR , f o r e x a m p le ) , a n d p r i m i t i v e i n p u t -o u t p u t a r r a n g e m e n t s . G i v e n t h e n a t u r e o fc o m p u t e r s , t h e s e r v i c e s w h i c h " a u t o m a t i cp r o g r a m m i n g " p e r f o r m e d f o r t h e p r o g r a m m e rw e r e c o n c e r n e d w i t h o v e r c o m i n g t h e m a c h i n e ' ss h o r t c o m i n g s . T h u s t h e p r i m a r y c o n c e r n o fs o m e " a u t o m a t i c p r o g r a m m i n g " s y s t e m s w a s t oa l l o w t h e u se o f s y m b o l i c a d d r e s s e s a n dd e c i m a l n u m b e r s ( e. g ., t h e M I D A C I n p u tT r a n s l a t i o n P r o g r a m [ B r ow n a n d C a r r 1 9 5 4 ] ) .

    B u t m o s t o f t h e l a r g e r " a u t o m a t i c . p r o -g r a m m i n g " s y s t e m s ( w it h t h e e x c e p t i o n o fL a n i n g a n d Z i e r l e r ' s a l g e b r a i c s y s t e m [ L an -i n g an d Z i e r l e r 1 9 54 ] a n d t h e A - 2 c o m p i l e r[ R e m i n g t o n R a n d 1 9 5 3 ; M o s e r 1 9 5 4 ] ) s i m p l yp r o v i d e d a s y n t h e t i c " c o m p u t e r " w i t h a n o r -d e r c o d e d i f f e r e n t f r o m t h a t o f th e r e a lm a c h i n e . T h i s s y n t h e t i c c o m p u t e r u s u a l l yh a d f l o a t i n g p o i n t i n s t r u c t i o n s a n d i n d e xr e g i s t e r s a n d h a d i m p r o v e d i n p u t - o u t p u t c o m -m a n d s ; i t w a s t h e r e f o r e m u c h e a s i e r t o p r o -g r a m t h a n i t s r e a l c o u n t e r p a r t .

    T h e A - 2 c o m p i l e r a l s o c a m e t o b e a s y n -t h e t i c c o m p u t e r s o m e t i m e a f t e r e a r l y 1 9 54 .B u t i n e a r l y 1 9 5 4 i t s i n p u t h a d a m u c hc r u d e r f o rm ; i n s t e a d of " p s e u d o - i n s t r u c -t i o n s " i t s i n p u t w a s t h e n a c o m p l e x s e q u e n c eo f " c o m p i l i n g i n s t r u c t i o n s " t h a t c o u l d t a k ea v a r i e t y o f f o r ms r a n g i n g f r o m m a c h i n e c o d ei t s e l f t o l e n g t h y g r o u p s o f w o r d s c o n s t i -t u t i n g r a t h e r c l u m s y c a l l i n g s e q u e n c e s f o rt h e d e s i r e d f l o a t i n g p o i n t s u b r o u t i n e , t o" a b b r e v i a t e d f o r m " i n s t r u c t i o n s t h a t w e r ec o n v e r t e d b y a " T r a n s l a t o r " i n t o o r d i n a r y" c o m p i l i n g i n s t r u c t i o n s " [ M os e r 1 9 54 ] .

    A f t e r M a y 1 9 54 t h e A - 2 c o m p i l e r a c q u i r e da " p s e u d o c o d e " w h i c h w a s s i m i l a r t o t h e o r -d e r c o d e s f o r m a n y f l o a t i n g p o i n t i n t e r p r e t -i v e s y s t e m s t h a t w e r e a l r e a d y i n o p e r a t i o ni n 1 9 5 3: e . g . , t h e L o s A l a m o s s y s t e m s , D U A La n d S H A C O [ B o u r i c i u s 1 9 53 ; S c h l e s i n g e r 1 9 5 3] ,t h e M I T " S u m m e r S e s s i o n C o m p u t e r " [ A d am s an dL a n i n g 1 9 5 4 ] , a s y s t e m f o r t he I L L I A C d e -s i g n e d b y D . J . W h e e l e r [ M u l l e r 1 9 5 4 ] , a n dt h e S P E E D C O D I N G s y s t e m f o r t h e I B M 70 1[ B a c k u s 1 9 5 4 ] .

    T h e L a n i n g a n d z i e r l e r s y s t e m w a s q u i t ea d i f f e r e n t s t o r y: i t w a s t h e w o r l d ' s f i r s to p e r a t i n g a l g e b r a i c c o m p i l e r , a r a t h e r e l e -g a n t b u t s i m p l e o ne . K n u t h a n d P a r d o [ 1 97 7 ]a s s i g n t h i s h o n o r t o A l i c k G l e n n i e ' s A U T O -C O D E , b u t I , f o r o n e , a m u n a b l e t o r e c o g n i z et h e s a m p l e A U T O C O D E p r o g r a m t h e y g i v e as" a l g e b r a i c " , e s p e c i a l l y w h e n i t i s c o m p a r e dt o t h e c o r r e s p o n d i n g L a n i n g a n d Z i e r l e rp r o g r a m .A l l of t he e a r l y " a u t o m a t i c p r o g r a m m i n g "

    s y s t e m s w e r e c o s t l y t o u s e , s i n c e t h e y s l o w -e d t h e m a c h i n e d o w n b y a f a c t o r o f f i v e o rt e n. T h e m o s t c o m m o n r e a s o n f o r t h e s l o w -d o w n wa s t h a t t h e s e s y s t e m s w e r e s p e n d i n gm o s t o f t h e i r t i m e i n f l o a t i n g p o i n t s u b -r o u t i n e s . S i m u l a t e d i n d e x i n g a n d o t h e r" h o u s e k e e p i n g " o p e r a t i o n s c o u l d b e d o n e w i t hs i m p l e i n e f f i c i e n t t e c h n i q u e s , s i n c e, s l o wa s t h e y w e r e , t h e y t o o k f a r l e s s t i m e t h a nt h e f l o a t i n g p o i n t w o r k .E x p e r i e n c e w i t h s l o w " a u t o m a t i c p r o g r a m -m i n g " s y s t e m s , p l u s t h e i r o w n e x p e r i e n c ew i t h t h e p r o b l e m s o f o r g a n i z i n g l o o p sa n d ad d r e s s m o d i f i c a t i o n , h a d c o n v i n c e dp r o g r a m m e r s t h a t e f f i c i e n t p r o g r a m m i n g w a s

    s o m e t h i n g t h a t c o u l d n o t b e a u t o m a t e d . A n -o t h e r r e a s o n t ha t " a u t o m a t i c p r o g r a m m i n g "w a s n o t t a k e n s e r i o u s l y b y th e c o m p u t i n gc o m m u n i t y c a m e f r o m th e e n e r g e t i c p u b l i cr e l a t i o n s e f f o r t s o f s o m e v i s i o n a r i e s t os p r e a d t h e w o r d t h a t t h e i r " a u t o m a t i c p r o -g r a m m i n g " s y s t e m s h a d a l m o s t h u m a n a b i l i t i e st o u n d e r s t a n d t h e l a n g u a g e a n d n e e d s o f t h eu s e r ; w h e r e a s c l o s e r i n s p e c t i o n o f t h e s es a m e s y s t e m s w o u l d o f t e n r e v e a l a c o m p l e x ,e x c e p t i o n - r i d d e n p e r f o r m e r o f c le r i c a l t a s k sw h i c h w a s b o t h d i f f i c u l t t o u s e a n d i n e f f i -c i e n t. W h a t e v e r t h e r e a s o n s , i t i s d i f f i -c u l t t o c o n v e y t o a r e a d e r i n t h e l a t e s e v -

    1 9 7 8 A s s o c ia t io n f o r C o m p u t in g Ma c h in e r y , In c . 1 6 5 A C M S lG P L A N N o t ice s , V o I . 1 3 , N o . 8 , A u g u s t 1 9 7 8

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    2/16

    e n t i e s t h e s t r e n g t h o f t h e s k e p t i c i s m a b o u t" a u t o m a t i c p r o g r a m m i n g " i n g e n e r a l a n d a b o u ti t s a b i l i t y t o p r o d u c e e f f i c i e n t p r o g r a m si n p a r t i c u l a r , a s it e x i s t e d i n 1 9 5 4 .( In t h e a b o v e d i s c u s s i o n o f a t t i t u d e sa b o u t " a u t o m a t i c p r o g r a m m i n g " i n 1 95 4 I h a v em e n t i o n e d o n l y t h o s e a c t u a l s y s t e m s o f w h i c hm y c o l l e a g u e s a n d I w e r e a w a r e a t t h e t i me .F o r a c o m p r e h e n s i v e t r e a t m e n t o f e a r l y p r o -

    g r a i n i n g s y s t e m s a n d l a n g u a g e s I r e c o m m e n dt h e a r t i c l e b y K n u t h a n d P a r d o [ 19 7 7] a n dS a m m e t [ 1 9 6 9 ] . )1 .2 T h e e c o n o m i c s o f p r o g r a m m i n g .

    A n o t h e r f a c t o r w h i c h i n f l u e n c e d t h e d e -v e l o p m e n t o f F O R T R A N w a s t h e e c o n o m i c s o fp r o g r a m m i n g i n 1 9 54 . T h e c o s t o f p r o g r a m -m e r s a s s o c i a t e d w i t h a c o m p u t e r c e n t e r w a su s u a l l y a t l e a s t a s g r e a t a s t h e c o s t o f t h ec o m p u t e r i t s el f . ( T hi s f a c t f o l l o w s f r o mt h e a v e r a g e s a l a r y - p l u s - o v e r h e a d a n d n u m b e ro f p r o g r a m m e r s a t ea c h c e n t e r a n d f r o m t h ec o m p u t e r r e n t a l f i g u r e s . ) I n a d d i t i o n , f r o mo n e q u a r t e r t o o n e h a l f o f t he c o m p u t e r ' st i m e w a s s p en t i n d e b u g g i n g . T h u s p ~ o g r a m -m i n g a n d d e b u g g i n g a c c o u n t e d f o r a s m u c h a st h r e e q u a r t e r s o f t h e c o s t o f o p e r a t i n g ac o m p u t e r ; a n d o b v i o u s l y , a s c o m p u t e r s g o tc h e a p e r , t h i s s i t u a t i o n w o u l d g e t w o r s e .

    T h i s e c o n o m i c f a c t o r w a s o n e of t h e p r i m em o t i v a t i o n s w h i c h l e d m e t o p r o p o s e t h e F O R -T R A N p r o j e c t i n a l e t t e r t o m y b o s s , C u t h -b e r t H u r d , i n l a t e 1 9 5 3 ( t he e x a c t d a t e i sn o t k n o w n bu t o t h e r f a c t s s u g g e s t D e c e m b e r1 9 5 3 a s a l i k e l y d a t e ) . I b e l i e v e t h a t t h ee c o n o m i c n e e d f o r a s y s t e m l i k e F O R T R A N w a so n e r e a s o n w h y I B M a n d m y s u c c e s s i v e b o s s e s ,H u r d , C h a r l e s D e C a r l o , a n d J o h n M c P h e r s o n ,p r o v i d e d f o r ou r c o n s t a n t l y e x p a n d i n g n e e d so v e r t h e n e x t f i v e y e a r s w i t h o u t e v e r a s k -i n g u s t o p r o j e c t o r j u s t i f y t h o s e n e e d s i na f o r m a l b u d g e t .1 .3 P r o g r a m m i n g s y s t e m s i n 1 9 54 .

    I t is d i f f i c u l t f o r a p r o g r a m m e r o f t o-d a y to c o m p r e h e n d w h a t " a u t o m a t i c p r o g r a m -m i n g " m e a n t t o p r o g r a m m e r s i n 1 9 54 . T om a n y i t th e n m e a n t s i m p l y p r o v i d i n g m n e m o n -i c o p e r a t i o n c o d e s a n d s y m b o l i c a d d r e s s e s ,t o o t h e r s i t m e a n t t h e s i m p l e ' p r o c e s s o fo b t a i n i n g s u b r o u t i n e s f r o m a l i b r a r y a n di n s e r t i n g t h e a d d r e s s e s o f o p e r a n d s i n t oe a c h s u b r o u t i n e . M o s t " a u t o m a t i c p r o g r a m -m i n g " s y s t e m s w e r e e i t h e r a s s e m b l y p r o g r a m s ,o r s u b r o u t i n e - f i x i n g p r o g r a m s , o r , m o s tp o p u l a r l y , i n t e r p r e t i v e s y s t e m s to p r o v i d ef l o a t i n g p o i n t a n d i n d e x i n g o p e r a t i o n s .M y f r i e n d s a n d I w e r e a w a r e o f a n u m b e r o fa s s e m b l y p r o g r a m s a n d i n t e r p r e t i v e s y s t e m s ,s o m e of w h i c h h a v e b e e n m e n t i o n e d a b o v e;b e s i d e s t h e s e t h e r e w e r e p r i m a r i l y t w oo t h e r s y s t e m s o f s i g n i f i c a n c e : t h e A - 2c o m p i l e r [ R e m i n g t o n R a n d 1 9 5 3; M o s e r 1 95 4]a n d t he L a n i n g a n d Z i e r l e r [ 1 95 4 ] a l g e b r a i cc o m p i l e r a t M I T . A s n o t e d a b o v e , t h e A - 2c o m p i l e r w a s a t t h a t t i m e l a r g e l y a s u b -r o u t i n e - f i x e r ( it s o t h e r p r i n c i p a l t a s k wa st o p r o v i d e f o r " o v e r l a y s " ) ; b u t f r o m th e

    s t a n d p o i n t o f i t s i n p u t " p r o g r a m s " i t p r o -v i d e d f e w e r c o n v e n i e n c e s t h a n m o s t o f t h et h en c u r r e n t i n t e r p r e t i v e s y s t e m s m e n t i o n -e d e a r l i e r ; i t l a t e r a d o p t e d a " p s e u d o -c o d e " a s i n p u t w h i c h w a s s i m i l a r t o t h ei n p u t c o d e s of t h e s e i n t e r p r e t i v e s y s t e m s .T h e L a n i n g a n d Z i e r l e r s y s t e m a c c e p t e da s i n p u t an e l e g a n t b u t r a t h e r s i m p l e a l g e -b r a i c l a n g u a g e . I t p e r m i t t e d s i n g l e - l e t t e r

    v a r i a b l e s ( i d e n t i f i e r s ) w h i c h c o u l d h a v e as i n g l e c o n s t a n t o r v a r i a b l e s u b s c r i p t . T h er e p e r t o i r e o f f u n c t i o n s o n e c o u l d u s e w e r ed e n o t e d b y " F" w i t h a n i n t e g e r s u p e r s c r i p tt o i n d i c a t e t h e " c a t a l o g n u m b e r " o f t h e d e -s i r e d f u n ct i o n. A l g e b r a i c e x p r e s s i o n s w e r ec o m p i l e d i n t o c l o s e d s u b r o u t i n e s a n d p l a c e do n a m a g n e t i c d r u m f o r s u b s e q u e n t u s e. T h es y s t e m w a s o r i g i n a l l y d e s i g n e d f o r t h eW h i r l w i n d c o m p u t e r w h e n i t h a d 1 , 0 2 4 s t o r -a g e c el l s , w i t h t h e r e s u l t t h a t i t c a u s e da s l o w d o w n i n e x e c u t i o n s p e e d b y a f a c t o ro f a b o u t t e n [ A d a m s a n d L a n i n g 1 9 5 4 ] .T h e e f f e c t o f t h e L a n i n g a n d Z i e r l e rs y s t e m o n t he d e v e l o p m e n t o f F O R T R A N i s a

    q u e s t i o n w h i c h h a s b ee n m u d d l e d b y m a n ym i s s t a t e m e n t s o n m y p a r t . F o r m a n y y e a r sI b e l i e v e d t h a t we h a d g o t t e n t h e i d e a f o ru s i n g a l g e b r a i c n o t a t i o n i n F O R T R A N f r o ms e e i n g a d e m o n s t r a t i o n o f th e L a n i n g a n dZ i e r l e r s y s t e m a t M I T . I n p r e p a r i n g a p a -p e r [ B a c k u s 19 7 6] f o r t h e I n t e r n a t i o n a lR e s e a r c h C o n f e r e n c e o n th e H i s t o r y o f C o m -p u t i n g a t L o s A l a m o s ( J u n e 1 0 - 1 5 , 1 9 7 6 ) ,I r e v i e w e d t h e m a t t e r w i t h I r v i n g Z i l l e ra n d o b t a i n e d a c o p y o f a 1 9 5 4 l e t t e r [ B a c k u s1 9 5 4 a] ( w h i c h D r . L a n i n g k i n d l y s e n t t o m e ) .A s a r e s u l t t h e f a c t s o f t h e m a t t e r h a v eb e c o m e c le a r . T h e l e t t e r in q u e s t i o n i so n e I s e n t t o D r . L a n i n g a s k i n g f o r ad e m o n s t r a t i o n o f h i s s y s t e m. I t m a k e s c l e a rt h a t w e h a d l e a r n e d o f h i s w o r k a t t h eO f f i c e o f N a v a l R e s e a r c h S y m p o s i u m o n A u t o -m a t i c P r o g r a m m i n g f o r D i g i t a l C o m p u t e r s ,M a y 1 3 - 1 4 , 1 9 5 4 , a n d t h a t th e d e m o n s t r a t i o nt o o k p l a c e o n J u n e 2 , 1 9 5 4 . T h e l e t t e ra l s o m a k e s c l e a r t h a t t h e F O R T R A N p r o j e c tw a s w e l l u n d e r w a y w h e n t h e l e t t e r w a s s e n t( M ay 2 1, 1 9 5 4 ) a n d i n c l u d e d H a r l a n H e r r i c k ,R o b e r t A . N e l s on , a n d I r v i n g Z i l l e r a s w e l la s m y s e l f . F u r t h e r m o r e , a n a r t i c l e i n t h ep r o c e e d i n g s o f t ha t s a m e O N R S y m p o s i u m b yH e r r i c k a n d m y s e l f [ B a c ku s a nd H e r r i c k 1 95 4]s h o w s c l e a r l y t h a t w e w e r e a l r e a d y c o n s i d - "r i n g i n p u t e x p r e s s i o n s l i k e " Z a ij j ka n d " X Y ". W e w e n t o n t o r a i s e t h e q u e s -t i o n " . . . c a n a m a c h i n e t r a n s l a t e a s u f f i -c i e n t l y r i ch m a t h e m a t i c a l l a n g u a g e i n t o as u f f i c i e n t l y e c o n o m i c a l p r o g r a m a t a s u f -f i c i e n t l y l o w c o s t t o m a k e t h e w h o l e a f f a i rf e a s i b l e ? "

    T h e s e a n d o t h e r r e m a r k s i n o u r p a p e rp r e s e n t e d a t th e S y m p o s i u m i n M a y 1 9 54 m a k ei t c l e a r t h a t w e w e r e a l r e a d y c o n s i d e r i n ga l g e b r a i c i n p u t c o n s i d e r a b l y m o r e s o p h i s -t i c a t e d t h a n t h a t o f L a n i n g a n d Z i e r l e r ' ss y s t e m w h e n w e f i r s t h e a r d o f t h e i r p i o n e e r -i n g w o r k . T h u s , a l t h o u g h L a n i n g a n d Z i e r l e rh a d a l r e a d y p r o d u c e d t h e w o r l d ' s f i r s t a l -

    1 6 6

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    3/16

    g e b r a i c c o m p i l e r , o u r b a s i c i d e a s f o r F O R -T R A N h a d b e e n d e v e l o p e d i n d e p e n d e n t l y ; t h u si t is d i f f i c u l t t o k n o w w h a t , i f a n y , n e wi d e a s we g o t f r o m s e e i n g t h e d e m o n s t r a t i o no f t h e i r s y s t e m .Q u a s i - f o o t n o t e : I n r e s p o n s et o s u g g e s t i o n s o f t h e P r o g r a m C o m m i t t e el e t m e t r y t o d e a l e x p l i c i t l y w i t ht h e q u e s t i o n o f w h a t w o r k m i g h t h a v e i n -f l u e n c e d o u r e a r l y i d e a s f o r F O R T R A N , a l -t h o u g h i t i s m o s t l y a m a t t e r o f l i s t i n gw o r k o f w h i c h w e w e r e t h e n u n a w a r e . I h a v ea l r e a d y d i s c u s s e d t h e w o r k o f L a n i n g a n dZ i e r l e r an d t h e A - 2 c o m p i l e r . T h e w o r k o fH e i n z R u t i s h a u s e r [ 1 95 2] i s d i s c u s s e d l a t e ro n. L i k e m o s t o f t h e w o r l d ( e x c e p t p e r h a p sR u t i s h a u s e r a n d C o r r a d o B 6 h m - - w h o w a s t h ef i r s t t o d e s c r i b e a c o m p i l e r i n i t s o w nl a n g u a g e [ B 6 h m 1 9 5 ~] ) w e w e r e e n t i r e l y u n -a w a r e o f t h e w o r k o f K o n r a d Z u s e [ 19 5 9;1 9 7 2] . Z u s e ' s " P l a n k a l k ~ l " , w h i c h h e c o m -p l e t e d i n 1 9 4 5, w a s , i n s o m e w a y s , a m o r ee l e g a n t a n d a d v a n c e d p r o g r a m m i n g l a n g u a g et h a n t h o s e t h a t a p p e a r e d t e n an d f i f t e e ny e a r s l a t e r .

    W e w e r e a l s o u n a w a r e o f t h e w o r k o fM a u c h l y e t a l. ( " S h o r t C o d e " , 1 9 50 ) , B u r k s( " I n t e r m e d i a t e P L " , 1 9 5 0) , B 6 h m ( 1 9 51 ) ,G l e n n i e ( " A U T O C O D E " , 1 9 52 ) a s d i s c u s s e d i nK n u t h a nd P a r d o [ 1 9 77 ] . W e w e r e a w a r e o fb u t no t i n f l u e n c e d b y t h e a u t o m a t i c p r o g r a m -m i n g e f f o r t s w h i c h s i m u l a t e d a s y n t h e t i cc o m p u t e r ( e .g . , M I T " S u m m e r S e s s i o n C o m -p u t e r " , S H A C O , D U A L , S P E E D C O D I N G , a n d t h eI L L I A C s y s t e m ), s i n c e t h e ir l a n g u a g e s a n ds y s t e m s w e r e s o d i f f e r e n t f r o m t h o s e o fF O R T R A N . N o r w e r e w e i n f l u e n c e d b y a l g e -b r a i c s y s t e m s w h i c h w e r e d e s i g n e d a f t e ro u r " P r e l i m i n a r y R e p o r t " [ 19 54 ] b u t w h i c hb e g a n o p e r a t i o n b e f o r e F O R T R A N ( e. g. ,B A C A I C [ G r e ms a n d P o r t e r 1 9 5 6 ] , I T [ P e r-l i s , S m i t h a n d V a n Z o e r e n 1 9 5 7 ], M A T H -M A T I C [ A sh e t a l . 19 5 7 ] ) . A l t h o u g h P A C TI [ B a k e r 1 9 56 ] w a s n o t a n a l g e b r a i c c o m -p i l e r, i t d e s e r v e s m e n t i o n a s a s i g n i f i -c a n t d e v e l o p m e n t d e s i g n e d a f t e r t h e F O R -T R A N l a n g u a g e b u t i n o p e r a t i o n b e f o r eF O R T R A N , w h i c h a l s o di d n o t i n f l u e n c e o u rw o r k . ( E nd o f q u a s i - f o o t n o t e . )

    O u r O N R S y m p o s i u m a r t i c l e [ B a ck u s an dH e r r i c k 1 9 5~ ] a l s o m a k e s c l e a r t h a t t h eF O R T R A N g r o u p w a s a l r e a d y a w a r e t h a t i tf a c e d a ne w k i n d o f p r o b l e m i n a u t o m a t i cp r o g r a m m i n g . T h e v i a b i l i t y o f m o s t c o m p i l -e r s an d i n t e r p r e t e r s p r i o r t o F O R T R A N h a dr e s t e d o n t h e f a c t t h a t m o s t s o u r c e l a n g u a g eo p e r a t i o n s w e r e n o t m a c h i n e o p e r a t i o n s .T h u s e v e n l a r g e i n e f f i c i e n c i e s i n p e r f o r m -i n g b o t h l o o p i n g / t e s t i n g o p e r a t i o n s a n dc o m p u t i n g a d d r e s s e s w e r e m a s k e d b y m o s t o p -e r a t i n g t i m e b e i n g s p e n t i n f l o a t i n g p o i n ts u b r o u t i n e s . B u t t h e a d v e n t o f t h e 7 0 ~ w i t hb u i l t in. f l o a t i n g p o i n t a n d i n d e x i n g r a d i -c a l l y a l t e r e d t h e s i t u a t i o n . T h e 7 0 ~ p r e -s e n t e d a d o u b l e c h a l l e n g e t o t ho s e w h ow a n t e d t o s i m p l i f y p r o g r a m m i n g ; f i r s t i t r e -m o v e d t h e r a i s o n d ' E t r e o f e a r l i e r s y s t e m sb y p r o v i d i n g i n h a r d w a r e t h e o p e r a t i o n s t h e y

    e x i s t e d t o p r o v i d e ; s e c o n d , i t i n c r e a s e d t h ep r o b l e m o f g e n e r a t i n g e f f i c i e n t p r o g r a m s b ya n o r d e r o f m a g n i t u d e b y s p e e d i n g u p f l o a t -i n g p o i n t o p e r a t i o n s b y a f a c t o r o f t e n a n dt h e r e b y l e a v i n g i n e f f i c i e n c i e s n o w h e r e t oh i de . I n v i e w o f t h e w i d e s p r e a d s k e p t i c i s ma b o u t t he p o s s i b i l i t y o f p r o d u c i n g e f f i c i e n tp r o g r a m s w i t h a n a u t o m a t i c p r o g r a m m i n g s y s -t e m an d t h e f a c t t h a t i n e f f i c i e n c i e s c o u l dn o l o n g e r be h id d e n , w e w e r e c o n v i n c e d t h a tt h e k i n d o f s y s t e m w e h a d i n m i n d w o u l d b ew i d e l y u s e d o n l y i f w e c o u l d d e m o n s t r a t et h a t i t w o u l d p r o d u c e p r o g r a m s a l m o s t a se f f i c i e n t a s h a n d c o d e d o n e s a n d d o so o nv i r t u a l l y e v e r y j o b.

    I t w a s o u r b e l i e f t h a t i f F O R T R A N , d u r -i n g it s f i r s t m o n t h s , w e r e t o t r a n s l a t e a n yr e a s o n a b l e " s c i e n t i f i c " s o u r c e p r o g r a m i n t oa n o b j e c t p r o g r a m o n l y h a l f a s f a s t a s i t sh a n d c o d e d c o u n t e r p a r t , t h e n a c c e p t a n c e o fo u r s y s t e m w o u l d b e i n s e r i ou s d a n g e r .T h i s b e l i e f c a u s e d u s t o r e g a r d t h e d e s i g no f t he t r a n s l a t o r a s th e r e al c h a l l e n g e ,n o t t h e s i m p l e t a s k o f d e s i g n i n g t h e l a n -g u a g e. O u r b e l i e f i n t h e s i m p l i c i t y o fl a n g u a g e d e s i g n w a s p a r t l y c o n f i r m e d b y t h er e l a t i v e e a s e w i t h w h i c h s i m i l a r l a n g u a g e sh a d b e e n i n d e p e n d e n t l y d e v e l o p e d b y R u t i s -h a u s e r [ 1 9 52 ] , L a n i n g a nd Z i e r l e r [ 1 95 4 ] ,a n d o u r s e l v e s ; w h e r e a s w e w e r e a l o n e i ns e e k i n g t o p r o d u c e r e a l l y e f f i c i e n t o b j e c tp r o g r a m s .

    T o t h i s d a y I b e l i e v e t h a t o u r e m p h a s i so n o b j e c t p r o g r a m e f f i c i e n c y r a t h e r t h a n onl a n g u a g e d e s i g n w a s b a s i c a l l y c o r r e c t. Ib e l i e v e t h a t h a d w e f a i l e d t o p r o d u c e e f -f i c i e n t p r o g r a m s , t h e w i d e s p r e a d u s e o fl a n g u a g e s l i k e F O R T R A N w o u l d h a v e b e e n s e -r i o u s l y d e l a y e d . I n f a c t , I b e l i e v e t h a tw e ar e i n a s i m i l a r , b u t u n r e c o g n i z e d , s i t -u a t i o n t o d a y : i n s p i t e o f a l l t h e f u s s t h a th a s b ee n m a d e o v e r m y r i a d l a n g u a g e d e t a i l s ,c u r r e n t c o n v e n t i o n a l l a n g u a g e s a r e st i l lv e r y w e a k p r o g r a m m i n g a i d s, a n d f a r m o r ep o w e r f u l l a n g u a g e s w o u l d b e i n u s e t o d a yi f a n y o n e h a d f o u n d a w a y t o m a k e t h e m r u nw i t h a d e q u a t e e f f i c i e n c y . I n o t h e r w o r d s ,t h e n e x t r e v o l u t i o n i n p r o g r a m m i n g w i l lt a k e p l a c e o n l y w h e n b o t h o f t h e f o l l o w i n gr e q u i r e m e n t s h a v e b e e n m e t : (a) a n e w k i n do f p r o g r a m m i n g l a n g u a g e , f a r m o r e p o w e r f u lt h a n t h o s e o f t o d a y , h a s b e e n d e v e l o p e da n d (b) a t e c h n i q u e h a s b e e n f o u n d f o r e x -e c u t i n g i t s p r o g r a m s a t n o t m u c h g r e a t e rc o s t t h a n t h a t o f t o d a y ' s p r o g r a m s .

    B e c a u s e o f o u r 1 9 5 4 v i e w t h a t s u c c e s s i np r o d u c i n g e f f i c i e n t p r o g r a m s w a s m o r e i m -p o r t a n t t h a n t h e d e s i g n o f t he F O R T R A N l a n -g u a g e , I c o n s i d e r t h e h i s t o r y o f t h e c o m -p i l e r c o n s t r u c t i o n a n d t h e w o r k o f i t s i n-v e n t o r s a n i n t e g r a l p a r t o f t h e h i s t o r y o ft h e F O R T R A N l a n g u a g e ; t h e r e f o r e a l a t e rs e c t i o n d e a l s w i t h t h a t s u b j e c t.2. T h e e a r l y s t a g e s o f t h e F O R T R A N p r o j e c t .

    A f t e r C u t h b e r t H u r d a p p r o v e d m y p r o p o s a lt o d e v e l o p a p r a c t i c a l a u t o m a t i c p r o g r a m -m i n g s y s t e m f o r t he 7 0 4 i n D e c e m b e r 1 9 5 3 o r

    1 6 7

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    4/16

    J a n u a r y 1 9 54 , I r v i n g Z i l l e r w a s a s s i g n e d t ot h e p r o j e c t . W e s t a r t e d w o r k i n o n e o f t h em a n y s m a l l o f f i c e s t h e p r o j e c t w a s t o o c -c u p y i n th e v i c i n i t y o f I B M h e a d q u a r t e r sa t 5 90 M a d i s o n A v e n u e i n N e w Y or k ; t h ef i r s t o f t h e s e w a s i n t h e J ay T h o r p e B u i l d -i n g o n F i f t h A v e n u e . B y M a y 1 9 5 4 w e h a db e e n j o i n e d b y H a r l a n H e r r i c k a n d t he n b ya n e w e m p l o y e e w h o h a d b e e n h i r e d t o d ot e c h n i c a l t y p i n g , R o b e r t A . N e l s o n ( w i thZ i l l e r , h e s o o n b e g a n d e s i g n i n g o n e of t hem o s t s o p h i s t i c a t e d s e c t i o n s o f t h e c o m p i l e r ;h e i s n o w an I B M F e l l o w ) . B y a b o u t M a y w eh a d m o v e d t o th e 1 9 t h f l o o r o f t h e a n n e x o f5 9 0 M a d i s o n A v e n u e , n e x t t o t h e e l e v a t o rm a c h i n e r y ; t h e g r o u n d f l o o r o f t h i s b u i l d -i n g h o u s e d t h e 7 01 i n s t a l l a t i o n o n w h i c hc u s t o m e r s t e s t e d t h e i r p r o g ra m s b e f o r e t hea r r i v a l o f t h e i r o w n m a c h i n e s . I t w a s h e r et h a t m o s t o f t h e F O R T R A N l a n g u a g e w a s d e -s i g n e d , m o s t l y b y H e r r i c k , Z i l l e r a n d m y -s e l f, e x c e p t t h a t m o s t o f t h e i n p u t - o u t p u tl a n g u a g e a n d f a c i l i t i e s w e r e d e s i g n e d b yR o y N u t t , a n e m p l o y e e o f U n i t e d A i r c r a f tC o r p. w h o w a s s o o n t o b e c o m e a m e m b e r o ft h e F O R T R A N p r o j e c t .

    A f t e r w e ha d f i n i s h e d d e s i g n i n g m o s t o ft h e l a n g u a g e w e h e a r d a b o u t R u t i s h a u s e r ' sp r o p o s a l s f o r a s i m i l a r l a n g u a g e [ R u t is -h a u s e r 1 9 5 2 ] . I t w a s c h a r a c t e r i s t i c o f t h eu n s c h o l a r l y a t t i t u d e o f m o s t p r o g r a m m e r st h e n, a n d o f o u r s e l v e s i n p a r t i c u l a r , t h a tw e d i d n o t b o t h e r t o c a r e f u l l y r e v i e w t h es k e t c h y t r a n s l a t i o n o f h i s p r o p o s a l s t h a tw e f i n a l l y o b t a i n e d , s i n c e f r o m t h e i r s y m -b o l i c c o n t e n t t h e y di d n o t a p p e a r t o a d da n y t h i n g n e w t o o u r p r o p o s e d l a n g u a g e .R u t i s h a u s e r ' s l a n g u a g e h a d a f o r s t a t e m e n ta n d o n e - d i m e n s i o n a l a r r a y s , b u t n o I F, G OT O ,n o r I / O s t a t e m e n t s. S u b s c r i p t v a r i a b l e sc o u l d n o t b e u s e d a s o r d i n a r y v a r i a b l e s a n do p e r a t o r p r e c e d e n c e w as i g n o r e d . H i s 1 9 5 2a r t i c l e d e s c r i b e d t w o c o m p i l e r s f o r t h i sl a n g u a g e ( fo r m o r e d e t a i l s s e e [ K n ut h a n dP a r d o 1 9 7 7 ] ) .

    A s f a r a s w e w e r e a w a r e , w e s i m p l y m a d eu p t h e l a n g u a g e a s w e w e n t a l o n g . W e d i dn o t r e g a r d l a n g u a g e d e s i g n a s a d i f f i c u l tp r o b l e m , m e r e l y a s i m p l e p r e l u d e t o t h er e a l p r o b l e m : d e s i g n i n g a c o m p i l e r w h i c hc o u l d p r o d u c e e f f i c i e n t p r o g r a m s. O fc o u r s e o n e o f o u r g o a l s w a s t o d e s i g n al a n g u a g e w h i c h w o u l d m a k e i t p o s s i b l e f o re n g i n e e r s a n d s c i e n t i s t s t o w r i t e p r o g r a m st h e m s e l v e s f o r t h e 7 0 4. W e a l s o w a n t e d t oe l i m i n a t e a l o t o f t h e b o o k k e e p i n g a n d d e -t a i l ed , r e p e t i t i v e p l a n n i n g w h i c h h a n d co d -i n g i n v o l v e d . V e r y e a r l y i n o u r w o r k w eh a d i n m i n d t h e n o t i o n s o f a s s i g n m e n t s t a t e -m e n t s , s u b s c r i p t e d v a r i a b l e s , a n d t h e D Os t a t e m e n t ( w h ic h I b e l i e v e w a s p r o p o s e d b yH e r r i c k ) . W e f e l t t h a t t h e s e p r o v i d e d ag o o d b a s i s f o r a c h i e v i n g o u r g o a l s f o r t h el a n g u a g e , a n d w h a t e v e r e l s e w a s n e e d e d e -m e r g e d a s w e t r i e d t o b u i l d a w a y o f p r o -g r a m m i n g o n t he s e b a s i c i d e a s .

    W e c e r t a i n l y h a d no i d e a t h a t l a n g u a g e sa l m o s t i d e n t i c a l t o t h e o n e w e w e r e w o r k i n go n w o u l d b e u s e d f o r m o r e t h a n o n e I B M c o m -

    p u t e r , n o t t o m e n t i o n t h o s e o f o t h e r m a n u -f a c t u r e r s . ( A f te r a l l, t h e r e w e r e v e r y f e wc o m p u t e r s a r o u n d t h e n. ) B u t w e d i d e x p e c to u r s y s t e m t o h a v e a b i g i m p a c t , i n t h es e n s e t h a t it w o u l d m a k e p r o g r a m m i n g f o rt h e 7 04 v e r y m u c h f a s t e r , c h e a p e r , m o r e r e -l i a b l e. W e a l s o e x p e c t e d t h a t , i f w e w e r es u c c e s s f u l i n m e e t i n g o u r g o a l s , o t h e rg r o u p s a n d m a n u f a c t u r e r s w o u l d f o l l o w o u re x a m p l e i n r e d u c i n g t h e c o s t of p r o g r a m m i n gb y p r o v i d i n g s i m i l a r s y s t e m s w i t h d i f f e r e n tb u t s i m i l a r l a n g u a g e s [ P r e l i m i na r y R e p o r t1 9 5 4 ] .

    B y t h e f a l l o f 1 9 5 4 w e h a d b e c o m e t h e" P r o g r a m m i n g R e s e a r c h G r o u p " a n d I h a d b e -c o m e i t s " m a n a g e r " . B y N o v e m b e r o f t h a ty e a r we h a d p r o d u c e d a p a p e r : " P r e l i m i n a r yR e p o r t , S p e c i f i c a t i o n s f o r t h e I B M M a t h e m a t -i c a l F O R m u l a T R A N s l a t i n g S y s t e m , F O R T R A N "[ P r e l i m i n a r y R e p o r t 1 9 54 ] d a t e d N o v e m b e r 1 0.I n i t s i n t r o d u c t i o n w e n o t e d t h a t " s y s t e m sw h i c h h a v e s o u g h t t o r e d u c e t h e j o b of c o d -i n g a n d d e b u g g i n g p r o b l e m s h a v e o f f e r e d t h ec h o i c e o f e a s y c o d i n g a n d s l o w e x e c u t i o n o rl a b o r i o u s c o d i n g a n d f a s t e x e c u t i o n . " O nt h e b a s i s m o r e o f f a i t h t h a n o f k n o w l e d g e ,w e s u g g e s t e d t h a t p r o g r a m s " w i l l b e e x e c u t e di n a b o u t t h e s a m e t i m e t h a t w o u l d b e r e-q u i r e d h a d t h e p r o b l e m b e e n l a b o r i o u s l yh a n d c o d e d . " I n w h a t t u r n e d o u t t o b e at r u e s t a t e m e n t , w e sa i d t h a t " F O R T R A N m a ya p p l y c o m p l e x , l e n g t h y t e c h n i q u e s i n c o d i n ga p r o b l e m w h i c h t h e h u m a n c o d e r w o u l d h a v en e i t h e r t h e t i m e n o r i n c l i n a t i o n t o d e r i v eo r a p p l y . "

    T h e l a n g u a g e d e s c r i b e d i n t h e " P r e l i m i n -a r y R e p o r t " h a d v a r i a b l e s o f o n e o r t w oc h a r a c t e r s i n l e n g t h , f u n c t i o n n a m e s o ft h r e e or m o r e c h a r a c t e r s , r e c u r s i v e l y d e -f i n e d " e x p r e s s i o n s " , s u b s c r i p t e d v a r i a b l e sw i t h u p t o t h r e e s u b s c r i p t s , " a r i t h m e t i cf o r m u l a s " ( w h i c h t u r n o u t t o b e a s s i g n m e n ts t a t e m e n t s ) , a n d " D O - f o r m u l a s " . T h e s e l a t -t e r f o r m u l a s c o u l d s p e c i f y b o t h t h e f i r s ta n d l a s t s t a t e m e n t s t o b e c o n t r o l l e d , t h u sp e r m i t t i n g a D O t o c o n t r o l a d i s t a n t s e -q u e n c e o f s t a t e m e n t s , a s w e l l a s s p e c i f y i n ga t h i r d s t a t e m e n t t o w h i c h c o n t r o l w o u l dp a s s f o l l o w i n g t h e e n d o f t h e i t e r a t i o n .I f o n l y o n e s t a t e m e n t w a s s p e c i f i e d , t h e" r a n g e " o f t h e D O w a s t h e s e q u e n c e o f s t a t e -m e n t s f o l l o w i n g t h e D O d o w n t o t h e s p e c i f i e ds t a t e m e n t .

    E x p r e s s i o n s i n " a r i t h m e t i c f o r m u l a s "c o u l d b e " m i x e d " : i n v o l v e b o t h " f i x e d p o i n t "( i n te g e r) a n d " f l o a t i n g p o i n t " q u a n t i t i e s .T h e a r i t h m e t i c u s e d ( al l i n t e g e r o r a l lf l o a t i n g p o i nt ) t o e v a l u a t e a m i x e d e x p r e s -s i o n w a s d e t e r m i n e d b y t he t y p e o f th ev a r i a b l e o n t h e l e f t o f t h e " = " s i g n . " I F -f o r m u l a s " e m p l o y e d a n e q u a l i t y o r i n e q u a l -i t y s i g n ( "= " o r " > " o r " > = ") b e t w e e n t w o( r e s t r i c t e d ) e x p r e s s i o n s , f o l l o w e d b y t w os t a t e m e n t n u m b e r s , o n e f o r t h e " t r ue " c a s e ,t h e o t h e r f o r t h e " f a l s e " c a s e .

    A " R e l a b e l f o r m u l a " w a s d e s i g n e d t o m a k ei t e a s y t o r o t a t e , s a y , t h e i n d i c e s o f t h er o w s o f a m a t r i x s o t h a t t h e s a m e c o m p u t a -

    1 6 8

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    5/16

    t i o n w o u l d a p p l y , a f t e r r e l a b e l l i n g , e v e nt h o u g h a n e w r o w h a d b e e n r e a d i n a n d t h en e x t c o m p u t a t i o n w a s n o w t o t a k e p l a c e o na d i f f e r e n t , r o t a t e d s e t o f r o w s . T h u s ,f o r e x a m p l e , i f b i s a 4 b y 4 m a t r i x , a f t e rR E L A B E L b ( 3 , 1 ) , a r e f e r e n c e t o b ( 1 , j ) h a st h e s am e m e a n i n g a s b ( 3 ,j ) b e f o r e r e l a b e l -l i n g ; b ( 2 , j ) a f t e r = b ( 4 , j ) b e f o r e ; b ( 3 , j )a f t e r = b ( 1 , j ) b e f o r e ; a n d b ( 4 , j ) a f t e r =b ( 2 ,j ) b e f o r e r e l a b e l l i n g .T h e i n p u t - o u t p u t s t a t e m e n t s p r o v i d e d i n -c l u d e d t h e b a s i c n o t i o n o f s p e c i f y i n g t h es e q u e n c e i n w h i c h d a t a w a s t o b e r e a d i n o ro u t , b u t d i d n o t i n c l u d e a n y " F o r m a t " s t a t e -m e n t s .T h e R e p o r t a l s o l i s t s f o u r k i n d s o f" s p e c i f i c a t i o n s e n t e n c e s " : (I) " d i m e n s i o ns e n t e n c e s " f o r g i v i n g t h e d i m e n s i o n s o f ar -r a y s , (2) " e q u i v a l e n c e s e n t e n c e s " f o r a s -s i g n i n g t h e s a m e s t o r a g e l o c a t i o n s t o v a r -i a b l e s , (3) " f r e q u e n c y s e n t e n c e s " f o r i n -d i c a t i n g e s t i m a t e d r e l a t i v e f r e q u e n c y o fb r a n c h p a t h s o r l o o p s t o h e l p t h e c o m p i l e ro p t i m i z e t h e o b j e c t p r o g r a m , a n d (4) " r e l -a t i v e c o n s t a n t s e n t e n c e s " t o i n d i c a t e s u b -

    s c r i p t v a r i a b l e s w h i c h a r e e x p e c t e d t oc h a n g e t h e i r v a l u e s v e r y i n f r e q u e n t l y .T o w a r d t h e e n d o f th e R e p o r t ( pp . 2 6 -2 7 )t h e r e i s a s e c t i o n " F u t u r e a d d i t i o n s t o t h eF O R T R A N s y s t e m " . I t s f i r s t i t e m i s: " av a r i e t y o f n e w i n p u t - o u t p u t f o r m u l a s w h i c hw o u l d e n a b l e t h e p r o g r a m m e r t o s p e c i f y v a r -i o u s f o r m a t s f o r c a r d s , p r i n t i n g , i n p u tt a p e s a n d o u t p u t t a p e s " I t i s b e l i e v e dt h a t t h i s i t e m i s a r e s u l t o f o u r e a r l yc o n s u l t a t i o n s w i t h R o y N u t t. T h i s s e c t i o ng o e s o n to l i st o t h e r p r o p o s e d f a c i l i t i e st o b e ad d e d : c o m p l e x a n d d o u b l e p r e c i s i o na r i t h m e t i c , m a t r i x a r i t h m e t i c , s o r t i n g ,s o l v i n g s i m u l t a n e o u s e q u at i o n s , d i f f e r e n t i a l

    e q u a t i o n s , a n d l i n e a r p r o g r a m m i n g p r o b l e m s .I t a l s o d e s c r i b e s f u n c t i o n d e f i n i t i o n c a p -a b i l i t i e s s i m i l a r t o t ho s e w h i c h l a t e r a p -p e a r e d i n F O R T R A N I I; f a c i l i t i e s f o r n u m -e r i c a l i n t e g r a t i o n ; a s u m m a t i o n o p e r a t o r ;a n d t a b l e l o o k u p f a c i l i t i e s .T h e f i n a l s e c t i o n o f t h e R e p o r t ( pp 2 8 -2 9) d i s c u s s e s p r o g r a m m i n g t e c h n i q u e s t o u s et o h e l p t h e s y s t e m p r o d u c e e f f i c i e n t p r o -g r a ms . I t d i s c u s s e s h o w to u s e p a r e n t h e s e st o h e l p t h e s y s t e m i d e n t i f y i d e n t i c a l s u b -e x p r e s s i o n s w i t h i n a n e x p r e s s i o n a n d t h e r e -b y e l i m i n a t e t h e i r d u p l i c a t e c a l c u l a t i o n .T h e s e p a r e n t h e s e s h a d t o b e s u p p l i e d o n l yw h e n a r e c u r r i n g s u b e x p r e s s i o n o c c u r r e d a s

    p a r t o f a t e r m ( e .g . , i f a ~ b o c c u r r e d i ns e v e r a l p l a c e s , i t w o u l d b e b e t t e r t o w r i t et h e t e r m a ~ b ~ c a s ( a ~ b ) ~ c to a v o i d d u p l i c a t ec a l c u l a t i o n ) ; o t h e r w i s e t h e s y s t e m w o u l di d e n t i f y d u p l i c a t e s w i t h o u t a n y a s s i s t a n c e .I t a l s o o b s e r v e s t h a t t h e s y s t e m w o u l d n o tp r o d u c e o p t i m a l c o d e f or l o op s c o n s t r u c t e dw i t h o u t D O s t a t em e n t s .T h i s f i n a l s e c t i o n o f t h e R e p o r t a l s on o t e s t h a t " no s p e c i a l p r o v i s i o n s h a v e b e e ni n c l u d e d i n t h e F O R T R A N s y s t e m f o r l o c a t i n ge r r o r s i n f o r m u l a s " . I t s u g g e s t s c h e c k i n g

    a p r o g r a m " b y i n d e p e n d e n t l y r e c r e a t i n g t h es p e c i f i c a t i o n s f o r a p r o b l e m f r o m i t s F O R -T R A N f o r m u l a t i o n [ !] " I t s a y s n o t h i n ga b o u t t h e s y s t e m c a t c h i n g s y n t a c t i c e r r o r s,b u t n o t e s t h a t a n e r r o r - f i n d i n g p r o g r a m c a nb e w r i t t e n a f t e r s o m e e x p e r i e n c e w i t h e r r o r sh a s b e e n a c c u m u l a t e d .U n f o r t u n a t e l y w e we r e h o p e l e s s l y o p t i -m i s t i c i n 1 95 4 a b o u t t h e p r o b l e m s o f d e b u g -g i n g F O R T R A N p r o g r a m s ( th u s w e f i n d on p a g e

    2 o f t h e R e p o r t : " S i n c e F O R T R A N s h o u l d v i r -t u a l l y e l i m i n a t e c o d i n g a n d d e b u g g i n g . . .[ !] ") a n d h e n c e s y n t a c t i c e r r o r c h e c k i n gf a c i l i t i e s i n t h e f i r s t d i s t r i b u t i o n o fF O R T R A N I w e r e w e a k . B e t t e r f a c i l i t i e sw e r e a d d e d n o t l o ng a f t e r d i s t r i b u t i o n a n df a i r l y g o o d s y n t a c t i c c h e c k i n g w a s p r o v i d e di n F O R T R A N I I.T h e F O R T R A N l a n g u a g e d e s c r i b e d i n t h eP r o g r a m m e r ' s R e f e r e n c e M a n u a l d a t e d O c t o be r1 5 , 1 9 5 6 [ I B M 1 9 5 6 ] d i f f e r e d i n a f e w r e -s p e c t s f r o m t h a t o f t h e P r e l i m i n a r y R e p o r t ,b u t, c o n s i d e r i n g o u r i g n o r a n c e i n 1 95 4 o ft h e p r o b l e m s w e w o u l d l a t e r e n c o u n t e r i np r o d u c i n g t h e c o m p i l e r , t h e r e w e r e r e m a r k -

    a b l y f e w d e l e t i o n s ( th e R e l a b e l a n d R e la -t i v e C o n s t a n t s t a t e m e n t s ) , a f e w r e tr e a t s ,s o m e f o r tu n a t e , s o m e n o t ( s i m p l i f i c a t i o n o fD O s t a t e m e n t s , d r o p p i n g i n e q u a l i t i e s f r o mI F s t a t e m e n t s - - f o r l a c k o f a "> " s y m b o l ,a n d p r o h i b i t i n g m o s t " m i x e d" e x p r e s s i o n sa n d s u b s c r i p t e d s u b s c r i p t s ) , a n d th e r e c t i -f i c a t i o n o f a f e w o m i s s i o n s ( a d d i t i o n ofF O R M A T , C O N T I N U E , c o m p u t e d a n d a s s i g n e d G O -T O s t a t e m e n t s , i n c r e a s i n g t h e l e n g t h o f v a r -i a b l e s t o up to s i x c h a r a c t e r s , a n d g e n e r a li m p r o v e m e n t o f i n p u t - o u t p u t s t a t e m en t s ) .S i n c e o u r e n t i r e a t t i t u d e a b o u t l a n g u a g ed e s i g n h a d a l w a y s b e e n a v e r y c a s u a l o n e,t h e c h a n g e s w h i c h w e f e l t t o b e d e s i r a b l e

    d u r i n g t h e c o u r s e o f w r i t i n g t h e c o m p i l e rw e r e m a d e e q u a l l y ca s u a l l y . W e n e v e r fe l tt h a t a n y o f t he m i n v o l v e d a r e a l s a c r i f i c ei n c o n v e n i e n c e o r p o w e r ( w it h t h e p o s s i b l ee x c e p t i o n o f th e R e l a b e l s t a t e m e n t , w h o s ep u r p o s e w a s to c o o r d i n a t e i n p u t - o u t p u t w i t hc o m p u t a t i o n s o n a r r a y s , b u t t h i s w a s o nef a c i l i t y w h i c h w e f e l t w o u l d h a v e b e e nr e a l l y d i f f i c u l t to i m p l e m e n t ) . I b e l i e v et h e s i m p l i f i c a t i o n o f t he o r i g i n a l D O s t a t e -m e n t r e s u l t e d f r o m t h e r e a l i z a t i o n t h a t(a) i t w o u l d b e h a r d t o d e s c r i b e p r e c i s e l y ,(b) i t w a s a w k w a r d t o c o m p i l e , a n d (c) i tp r o v i d e d l i t t l e p o w e r b e y o n d t h a t o f th ef i n a l v e r s i o n .I n o u r n a i v e u n a w a r e n e s s o f l a n g u a g ed e s i g n p r o b l e m s - - o f c o u r s e we k n e w n o t hi n go f m a n y i s s u e s w h i c h w e r e l a t e r t h o u g h t t ob e i m p o r t an t , e . g ., b l o c k s t r u c t u r e , c o n -d i t i o n a l e x p r e s s i o n s , t y p e d e c l a r a t i o n s - -i t s e e m e d t o u s t h a t o n c e o n e h a d t h e n o -t i o n s o f t h e a s s i g n m e n t s t a t e m e n t , t h e s ub -s c r i p t e d v a r i a b l e , a n d t h e D O s t a t e m e n t i nh a n d ( a nd t h e s e w e r e a m o n g o u r e a r l i e s t i -d e a s ) , t h e n t h e r e m a i n i n g p r o b l e m s o f l an -g u a g e d e s i g n w e r e t r i v i a l : e i t h e r t h e i r s o l -u t i o n w a s t h r u s t u p o n o n e b y t h e n e ed t op r o v i d e s o m e m a c h i n e f a c i l i t y s u c h as r e a d -

    1 6 9

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    6/16

    i n g in p u t , o r by s o m e p r o g r a m m i n g t a s k w h i c hc o u l d n o t be d o n e w i t h e x i s t i n g s t r u c t u r e s( e . g . , s k i p p i n g t o t h e e n d o f a D O l o o pw i t h o u t s k i p p i n g t h e i n d e x i n g i n s t r u c t i o n st h e r e : t h i s g a v e r i s e t o t h e C O N T I N U E s t a t e -m e n t ) .O n e m u c h - c r i t i c i z e d d e s i g n c h o i c e in

    F O R T R A N c o n c e r n s t h e u s e o f s pa c e s : b l a n k sw e r e i g n o r e d , e v e n b l a n k s i n t h e m i d d l e o fa n i d e n t i f i e r . R o y N u t t r e m i n d s me t h a tt h a t c h o i c e w a s p a r t l y i n r e c o g n i t i o n o f ap r o b l e m w i d e l y k n o w n i n S H A R E , t h e 7 04 u s -e rs ' a s s o c i a t i o n . T h e r e w a s a c o m m o n p r o -b l e m w i t h k e y p u n c h e r s n o t r e c o g n i z i n g o rp r o p e r l y c o u n t i n g b l a n k s i n h a n d w r i t t e nd a t a, a n d t h i s c a u s e d m a n y e r r o r s . W e a l s or e g a r d e d i g n o r i n g b l a n k s a s a d e v i c e t o e n -a b l e p r o g r a m m e r s t o a r r a n g e t h e i r p r o g r a m si n a m o r e r e a d a b l e f o r m w i t h o u t a l t e r i n gt h e i r m e a n i n g o r i n t r o d u c i n g c o m p l e x r u l e sf o r f o r m a t t i n g s t a t e m e n t s .

    A n o t h e r d e b a t a b l e d e s i g n c h o i c e w as tor u l e o u t " mi x e d " m o d e e x p r e s s i o n s i n v o l v i n gb o t h i n t e g e r a n d f l o a t i n g p o i n t q u a n t i t i e s .A l t h o u g h o u r P r e l i m i n a r y R e p o r t h a d i n c l u d e ds u c h e x p r e s s i o n s , a n d r u l e s f o r e v a l u a t i n gt h e m , w e f e l t t h a t i f c o d e f o r t y p e c o n v e r -s i o n w e r e t o b e g e n e r a t e d , t h e u s e r s h o u l db e a w a r e o f t h a t , a n d t h e b e s t w a y t o i n s u r et h a t h e w a s a w a r e w a s t o a s k h i m t o s p e c i f yt h e m. I b e l i e v e w e w e r e a l s o d o u b t f u l o ft h e u s e f u l n e s s o f t he r u l e s i n o u r R e p o r tf o r e v a l u a t i n g m i x e d e x p r e s s i o n s . I n a n yc a s e , t h e m o s t c o m m o n s o r t of " m i x t u r e s "w a s a l l o w e d : i n t e g e r e x p o n e n t s a n d f u n c -t i o n a r g u m e n t s w e r e a l l o w e d i n a f l o a t i n gp o i n t e x p r e s s i o n .

    I n l a t e 1 9 5 4 a n d e a r l y 1 9 5 5, a f t e r c o m -p l e t i n g t h e P r e l i m i n a r y R e p o r t , H a r l a n H e r -r i c k , I r v i n g Z i l l e r a n d I g a v e p e r h a p s f i v eo r s i x t a l k s a b o u t o u r p l a n s f o r F O R T R A N t ov a r i o u s g r o u p s o f I B M c u s t o m e r s w h o h a d o r -d e r e d a 7 0 4 ( t he 7 04 h a d b e e n a n n o u n c e da b o u t M a y 1 9 5 4) . A t t h e s e t a l k s w e c o v e r e dt h e m a t e r i a l i n t h e R e p o r t a n d d i s c u s s e d o u rp l a n s f o r t he c o m p i l e r ( w h i c h w a s t o b e c o m -p l e t e d w i t h i n a b o u t s i x m o n t h s [!] ; t h i sw a s t o r e m a i n t h e i n t e r v a l - t o - c o m p l e t i o nu n t i l i t a c t u a l l y w a s c o m p l e t e d o v e r t w oy e a r s l a t e r , in A p r i l 1 9 5 7 ) . I n a d d i t i o nt o i n f o r m i n g c u s t o m e r s a b o u t o u r p l a n s , a n -o t h e r p u r p o s e o f th e s e t a l k s w a s t o a s s e m b l ea l i s t of t h e i r o b j e c t i o n s a n d f u r t h e r r e -q u i r e m e n t s . I n t h i s w e w e r e d i s a p p o i n t e d ;o u r l i s t e n e r s w e r e m o s t l y s k e p t i c a l ; I b e -l i e v e t h e y h a d h e a r d t o o m a n y g l o w i n g d e s -c r i p t i o n s o f w h a t t u r n e d o u t t o be c l u m s ys y s t e m s t o t a k e u s s e r i o u s l y . I n t h o s e d a y so n e w a s a c c u s t o m e d t o f i n d i n g l o t s of p e c u l -i a r b u t s i g n i f i c a n t r e s t r i c t i o n s i n a s y s t e mw h e n i t f i n a l l y a r r i v e d t h a t h a d n o t b e e nm e n t i o n e d i n i t s o r i g i n a l d e s c r i p t i o n . M o s to f a l l , o u r c l a i m s t h a t w e w o u l d p r o d u c e e f -f i c i e n t o b j e c t p r o g r a m s w e r e d i s b e l i e v e d .W h a t e v e r t h e r e a s o n s , w e r e c e i v e d a l m o s t n os u g g e s t i o n s o r f e e d b a c k ; o u r l i s t e n e r s h a dd o n e a l m o s t n o t h i n k i n g a b o u t t h e p r o b l e m sw e f a c e d a n d h a d a l m o s t n o s u g g e s t i o n s o rc r i t i c i s m s . T h u s w e f e l t t h a t o u r t r i p s to

    W a s h i n g t o n ( D .C . ), A l b u q u e r q u e , P i t t s b u r g h ,L o s A n g e l e s , a n d o n e o r t w o o t h e r p l a c e sw e r e n o t v e r y h e l p f u l .

    O n e t r i p t o g i v e o u r t a l k , p r o b a b l y i nJ a n u a r y 1 95 5 , h a d a n e x c e l l e n t p a y o f f . T h i st a l k, a t U n i t e d A i r c r a f t C o r p . , r e s u l t e d i na n a g r e e m e n t b e t w e e n o u r g r o u p a n d W a l t e rR a m s h a w a t U n i t e d A i r c r a f t t h a t R o y N u t tw o u l d b e c o m e a r e g u l a r p a r t o f o u r e f f o r t( a l t h o u g h r e m a i n i n g a n e m p l o y e e o f U n i t e dA i r c r a f t ) t o c o n t r i b u t e h i s e x p e r t i s e o ni n p u t - o u t p u t a n d a s s e m b l y r o u t i n e s . W i t h af e w b r e a k s d u e t o h i s i n v o l v e m e n t i n w r i t i n gv a r i o u s S H A R E p r o g r a m s , h e w o u l d t h e n c e f o r t hc o m e t o N e w Y o r k t w o o r t h r e e t i m e s a w e e ku n t i l e a r l y 1 9 5 7 .

    I t i s d i f f i c u l t t o a s s e s s t h e i n f l u e n c et h e e a r l y w o r k o f t h e F O R T R A N g r o u p h a d o no t h e r p r o j e c t s . C e r t a i n l y t h e d i s c u s s i o no f L a n i n g a n d Z i e r l e r ' s a l g e b r a i c c o m p i l e ra t th e O N R S y m p o s i u m i n M a y 1 9 54 w o u l d h a v eb e e n m o r e l i k e l y t o p e r s u a d e s o m e o n e t o u n -d e r t a k e a s i m i l a r l i n e o f e f f o r t t h a n w o u l dt h e b r i e f d i s c u s s i o n o f t h e m e r i t s o f u s i n g" a f a i r l y n a t u r a l m a t h e m a t i c a l l a n g u a g e "t h a t a p p e a r e d t h e r e i n t he p a p e r b y H e r r i c ka n d m y s e l f [ B a c k u s a n d H e r r i c k 1 9 5 4 ] . B u ti t w a s o u r i m p r e s s i o n t h a t o ur d i s c u s s i o n sw i t h v a r i o u s g r o u p s a f t e r t h a t t i m e, t h e i ra c c e s s t o o u r P r e l i m i n a r y R e p o r t , a n d t he i ra w a r e n e s s o f t h e e x t e n t a n d s e r i o u s n e s s o fo u r e f f o r t s , t h a t t h e s e f a c t o r s e i t h e r g a v et h e i n i t i a l s t i m u l u s t o s o m e o t h e r p r o j e c t so r a t l e as t c a u s e d t h e m t o b e m o r e a c t i v et h a n t h e y m i g h t h a v e b e e n o t h e r w i s e . I tw a s o u r i m p r e s s i o n , f o r e x a m p l e , t h a t t he" I T" p r o j e c t [ P e r li s , S m i t h a n d V a n Z o e r e n1 95 7] a t P u r d u e a n d l a t e r a t C a r n e g i e - M e l l o nb e g a n s h o r t l y a f t e r t h e d i s t r i b u t i o n o f o u rP r e l i m i n a r y R e p o r t , a s d i d t h e " M A T H - M A T I C "p r o j e c t [ A sh e t a l. 1 9 57 ] a t S p e r r y R a n d .

    I t i s n o t c l e a r w h a t i n f l u e n c e , i f a n y ,o u r L o s A n g e l e s t a l k a n d e a r l i e r c o n t a c t sw i t h m e m b e r s o f t h e i r g r o u p h a d o n t h e P A C TI e f f o r t [ B a k e r 1 9 5 6 ], w h i c h I b e l i e v e w a sa l r e a d y i n i t s f o r m a t i v e s t a g e s w h e n w e g o tt o L o s A n g e l e s . I t i s c l e a r , w h a t e v e r i n -f l u e n c e t h e s p e c i f i c a t i o n s f o r F O R T R A N m a yh a v e h a d on o t h e r p r o j e c t s i n 1 9 5 4 - 5 5 - 5 6,t h a t o ur p l a n s w e r e w e l l a d v a n c e d a n d q u i t ef i r m b y t h e e n d o f 1 9 5 4 a n d b e f o r e w e h a dc o n t a c t o r k n o w l e d g e o f t h o s e o t h e r p r o -j e c ts . O u r s p e c i f i c a t i o n s w e r e n o t a f f e c t e db y t h e m i n a n y s i g n i f i c a n t w a y a s f a r a s Ia m a w a r e, e v e n t h o u g h s o m e w e r e o p e r a t i n gb e f o r e F O R T R A N w a s ( s i nc e t h e y w e r e p r i m a -r i l y i n t e r e s t e d i n p r o v i d i n g a n i n p u t l a n -g u a g e r a t h e r t h a n i n o p t i m i z a t i o n , t h e i rt a s k w a s c o n s i d e r a b l y s i m p l e r t h a n o u r s ) .3. T h e c o n s t r u c t i o n o f t h e c o m p i l e r .

    T h e F O R T R A N c o m p i l e r ( or " t r a n s l a t o r " a sw e c a l l e d i t t h e n ) w a s b e g u n i n e a r l y 1 9 5 5 ,a l t h o u g h a l o t o f w o r k o n v a r i o u s s c h e m e sw h i c h w o u l d b e u s e d i n it ha d b e e n d o n e i n1 9 54 ; e . g . , H e r r i c k h a d d o n e a l o t o f t r i a lp r o g r a m m i n g t o t e s t o ut ou r l a n g u a g e a n d w eh a d w o r k e d o u t t h e b a s i c s o r t o f m a c h i n e

    1 7 0

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    7/16

    p r o g r a m s w h i c h w e w a n t e d t h e c o m p i l e r t og e n e r a t e f o r v a r i o u s s o u r c e l a n g u a g ep h r a s e s ; Z i l l e r a n d I h a d w o r k e d o u t a b a s i cs c h e m e f o r t r a n s l a t i n g a r i t h m e t i c e x p r e s -s i o n s .B u t t h e r e al w o r k o n t h e c o m p i l e r g o tu n d e r w a y i n o u r t h i r d l o c a t i o n o n t h e f i f t hf l o o r o f 1 5 E a s t 5 6 t h S t r e e t . B y t h e m i d d l eo f F e b r u a r y t h r e e s e p a r a t e e f f o r t s w e r e u n -d e r w a y. T h e f i r s t tw o o f t h e s e c o n c e r n e d

    s e c t i o n s I a n d 2 o f t h e c o m p i l e r , a n d t h et h i r d c o n c e r n e d t h e in p u t , o u t p u t a n d a s -s e m b l y p r o g r a m s w e w e r e g o i n g t o n e e d ( se eb e l o w ) . W e b e l i e v e d t h e n t h a t t h e s e e f f o r t sw o u l d p r o d u c e m o s t o f t he c o m p i l e r .( Th e e n t i r e p r o j e c t w a s c a r r i e d o n by al o o s e c o o p e r a t i o n b e t w e e n a u t o n o m o u s , s e p -a r a t e g r o u p s o f on e , t w o , o r t h r e e p e o p l e ;e a c h g r o u p w a s r e s p o n s i b l e f o r a " s ec t i o n "o f t h e c o m p i l e r ; e a c h g r o u p g r a d u a l l y d e v e l -o p e d a n d a g r e e d u p o n i t s o w n i n p u t a n d o u t -p u t s p e c i f i c a t i o n s w i t h t h e g r o u p s f o rn e i g h b o r i n g s e c t i o n s ; e a c h g r o u p i n v e n t e da n d p r o g r a m m e d t h e n e c e s s a r y t e c h n i q u e s f o rd o i n g i t s a s s i g n e d j o b . )S e c t i o n I w a s t o r e a d t he e n t i r e s o u r c ep r o g r a m , c o m p i l e w h a t i n s t r u c t i o n s i t c o u l d,a n d f i ] e a l l t he r e s t o f t h e i n f o r m a t i o nf r o m th e s o u r c e p r o g r a m i n a p p r o p r i a t et ab le s '. T h u s t h e c o m p i l e r w a s " o n e p a s s "i n t h e s e n s e t h a t i t " s a w " t h e s o u r c e p r o -g r a m o n l y o n c e. H e r r i c k w a s r e s p o n s i b l ef o r c r e a t i n g m o s t o f t he t a b l e s , P e t e rS h e r i d a n ( wh o h a d r e c e n t l y j o i n e d us ) c o m -p i l e d al l t h e a r i t h m e t i c e x p r e s s i o n s , a n dR o y N u t t c o m p i l e d a n d / o r f i l e d t h e I/ Os t a t e m e n t s . H e r r i c k , S h e r i d a n an d N u t t g o ts o m e h e l p l a t e r o n f r o m R . J. B e e b e r a n d H .S t e r n, b u t t h e y w e r e t h e a r c h i t e c t s o f s e c-t i o n I a n d w r o t e m o s t of i t s c o d e . S h e r i d a n

    d e v i s e d a n d i m p l e m e n t e d a n u m b e r o f o p t i m i z -i n g t r a n s f o r m a t i o n s o n e x p r e s s i o n s [ S h e r i d a n1 95 9] w h i c h s o m e t i m e s r a d i c a l l y a l t e r e d t h e m( of c o u r s e w i t h o u t c h a n g i n g t h e i r m e a n i n g ) .N u t t t r a n s f o r m e d t h e I / O " l i s t s o f q u a n -t i t i e s " i n t o ne s t s o f D O s t a t e m e n t s w h i c hw e r e t h e n t r e a t e d b y t h e r e g u l a r m e c h a n i s m so f t h e c o m p i l e r . T h e r e s t o f t h e I / O i n f o r -m a t i o n h e fi l e d f o r l a t e r t r e a t m e n t i n s e c -t i o n 6, t h e a s s e m b l e r s e c t i o n . ( F or f u r t h e rd e t a i l s a b o u t h o w t h e v a r i o u s s e c t i o n s o ft h e c o m p i l e r w o r k e d s e e [ B a c k u s e t a l .1957] .)U s i n g t h e i n f o r m a t i o n t h a t w a s f i l e di n s e c t i o n I , s e c t i o n 2 f a c e d a c o m p l e t e l y

    n e w k i n d of p r o b l em ; i t w a s r e q u i r e d t o a n -a l y z e t h e e n t i r e s t r u c t u r e o f t h e p r o g r a mi n o r d e r t o g e n e r a t e o p t i m a l c o d e f r o m D Os t a t e m e n t s a n d r e f e r e n c e s t o s u b s c r i p t e dv a r i a b l e s . T h e s i m p l e s t w a y t o e f f e c t ar e f e r e n c e t o A ( I , J) i s t o e v a l u a t e a n e x -p r e s s i o n i n v o l v i n g t h e a d d r e s s o f A ( I , 1 ) ,I, a n d K J , w h e r e K i s t h e l e n g t h o f a c o l -u m n ( w h e n A i s s t o r e d c o l u m n - w i s e ) . B u t t h i sc a l c u l a t i o n , w i t h i t s m u l t i p l i c a t i o n , i sm u c h l e s s e f f i c i e n t t h a n t h e w a y m o s t h a n dc o d e d p r o g r a m s e f f e c t a r e f e r e n c e t o A ( I , J ) ,n a m e l y , b y a d d i n g a n a p p r o p r i a t e c o n s t a n t t o

    t h e a d d r e s s o f th e p r e c e d i n g r e f e r e n c e t ot h e a r r a y A w h e n e v e r I a n d J a r e c h a n g i n gl i n e a r l y . T o e m p l o y t h i s f a r m o r e e f f i c i e n tm e t h o d s e c t i o n 2 h a d to d e t e r m i n e w h e n t h es u r r o u n d i n g p r o g r a m w a s c h a n g i n g I a n d Jl i n e a r l y .T h u s o n e p r o b l e m w a s t h a t o f d i s t i n g u i s h -i n g b e t w e e n , o n th e o n e h an d , r e f e r e n c e s t oa n a r r a y e l e m e n t w h i c h t h e t r a n s l a t o r m i g h tt r e a t by i n c r e m e n t i n g t h e a d 4 r e s s u s e d f o r

    a p r e v i o u s r e f e r e n c e , a n d t h o s e a r r a y r e f -e r e n c e s , o n t he o t h e r h an d , w h i c h w o u l d r e -q u i r e an a d d r e s s c a l c u l a t i o n s t a r t i n g f r o ms c r a t c h w i t h t h e c u r r e n t v a l u e s o f t h e s u b-s c r i p t s .I t w a s d e c i d e d t h a t i t w a s n o t p r a c t i c a lt o t r a c k d o w n a n d i d e n t i f y l i n e a r c h a n g e si n s u b s c r i p t s r e s u l t i n g f r o m a s s i g n m e n ts t a t e m e n t s . T h u s t h e s o l e c r i t e r i o n f o rl i n e a r c h a n g e s , a n d h e n c e f o r e f f i c i e n th a n d l i n g o f a r r a y r e f e r e n c e s , w a s t o b et h a t th e s u b s c r i p t s i n v o l v e d w e r e b e i n gc o n t r o l l e d b y D O s t a t e m e n t s . D e s p i t e t h iss i m p l i f y i n g a s s u m p t i o n , t h e n u m b e r o f c a s e st h a t s e c t i o n 2 h a d t o a n a l y z e i n o r d e r t o

    p r o d u c e o p t i m a l o r n e a r - o p t i m a l c o d e w a sv e r y l a r g e . ( T he n u m b e r of s u c h c a s e s i n -c r e a s e d e x p o n e n t i a l l y w i t h t he n u m b e r o fs u b s c r i p t s ; t h i s w a s a p r i m e f a c t o r i n o u rd e c i s i o n t o l i m i t t h e m t o t h r e e ; t h e f a c tt h a t t h e 7 0 4 h a d o n l y t h r e e i n d e x r e g i s t e r sw a s n o t a f a c t o r . )I t i s b e y o n d t h e s c o p e o f t h i s p a p e r t og o i n to t h e d e t a i l s o f th e a n a l y s i s w h i c hs e c t i o n 2 c a r r i e d o u t. I t w i l l s u f f i c e t os a y t h a t i t p r o d u c e d c o d e o f s u c h e f f i c i e n -c y t h a t i t s o u t p u t w o u l d s t a r t l e t h e p r o -g r a m m e r s w h o s t u d i e d i t. I t m o v e d c o d e o u to f l o o p s w h e r e t h a t w a s p o s s i b l e ; i t t o o ka d v a n t a g e o f t h e d i f f e r e n c e s b e t w e e n r o w -

    w i s e a n d c o l u m n - w i s e s c a ns ; i t t o o k n o t e ofs p e c i a l c a s e s t o o p t i m i z e e v e n t h e e x i t sf r o m l o o ps . T h e d e g r e e o f o p t i m i z a t i o np e r f o r m e d b y s e c t i o n 2 i n i t s t r e a t m e n t o fi n d e x i n g , a r r a y r e f e r e n c e s , a n d l o o p s w a sn o t e q u a l l e d a g a i n u n t i l o p t i m i z i n g c o m p i l -e r s b e g a n t o a p p e a r i n t h e m i d d l e a n d l a t es i x t i e s .T h e a r c h i t e c t u r e a n d a l l t h e t e c h n i q u e se m p l o y e d i n s e c t i o n 2 w e r e i n v e n t e d b y R o b -e r t A . N e l s o n a n d I r v i n g Z i l l e r . T h e y p l a n -n e d a n d p r o g r a m m e d t h e e n t i r e s e c t i o n . O r i g -i n a l l y i t w a s t h e i r i n t e n t i o n t o p r o d u c et h e c o m p l e t e c o d e f o r t h e i r a r ea , i n c l u d i n gt h e c h o i c e o f t he i n d e x r e g i s t e r s t o b e

    u s e d ( t he 7 0 4 h a d t h r e e i n d e x r e g i s t e r s ) .W h e n t h e y s t a r t e d l o o k i n g a t t h a t p r o b l e mi t r a p i d l y b e c a m e c l e a r t h a t i t w a s n o t g o -i n g t o b e e a s y t o t r e a t i t o p t i m a l l y . A tt h a t p o i n t I p r o p o s e d t h a t t h e y s h o u l d p r o -d u c e a p r o g r a m f o r a 7 0 4 w i t h a n u n l i m i t e dn u m b e r o f i n de x r e g i s t e r s , a n d th a t l a t e rs e c t i o n s w o u l d a n a l y z e t h e f r e q u e n c y o f e x -e c u t i o n o f v a r i o u s p a r t s o f th e p r o g r a m( by a M o n t e C a r l o s i m u l a t i o n o f i t s e x e c u -t i on ) a n d t h en m a k e i n d e x r e g i s t e r a s s i g n -m e n t s s o a s t o m i n i m i z e t h e t r a n s f e r s o fi t e m s b e t w e e n t h e s t o r e a n d th e i n d e x r e g -

    1 7 1

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    8/16

    i s t e r s .T h i s p r o p o s a l g a v e r i s e t o t w o n e w s e c -t i o n s o f t h e c o m p i l e r w h i c h w e h a d n o t a n -t i c i p a t e d , s e c t i o n s 4 a n d 5 ( s e c t i o n 3 w a sa d d e d s t i l l l a t e r t o c o n v e r t t h e o u t p u t o fs e c t i o n s I a n d 2 t o th e f o r m r e q u i r e d f o rs e c t i o n s 4 , 5 , a n d 6 ). I n t h e f a l l o f 1 9 5 5L o i s M i t c h e l l H a i b t j o i n e d o u r g r o u p t op l a n a n d p r o g r a m s e c t i o n 4 , w h i c h w a s t oa n a l y z e t h e f l o w o f a p r o g r a m p r o d u c e d b y

    s e c t i o n s I a n d 2 , d i v i d e i t i n t o " b a s i cb l o c k s " ( w h i ch c o n t a i n e d n o b r a n c h i n g ) , d oa M o n t e C a r l o ( s t a t i s t i c al ) a n a l y s i s o f t h ee x p e c t e d f r e q u e n c y o f e x e c u t i o n o f b a si cb l o c k s - - b y s i m u l a t i n g t h e b e h a v i o r o f t h ep r o g r a m a n d k e e p i n g c o u n t s o f t h e u s e o fe a c h b l o c k - - u s i n g i n f o r m a t i o n f r o m D O s t a t e-m e n t s a n d F R E Q U E N C Y s t a t e m e n t s , a n d c o l l e c ti n f o r m a t i o n a b o u t i n d e x r e g i s t e r u s a g e ( fo rm o r e d e t a i l s s e e [ B a c k u s e t a l . 1 95 7 ; C o c k ea n d S c h w a r t z 1 9 70 p . 5 1 1 ] ) . S e c t i o n 5w o u l d t h e n d o t h e a c t u a l t r a n s f o r m a t i o n o ft h e p r o g r a m f r o m o n e h a v i n g a n u n l i m i t e dn u m b e r o f i n d e x r e g i s t e r s t o o n e h a v i n g o n l yt h r ee . A g a i n , t h e s e c t i o n w a s e n t i r e l yp l a n n e d a n d p r o g r a m m e d b y H a i b t .S e c t i o n 5 w a s p l a n n e d a n d p r o g r a m m e d b yS h e l d o n B e s t , w h o w a s l o a n e d t o o u r g r o u pb y a g r e e m e n t w i t h h i s e m p l o y e r , C h a r l e s W .A d a m s , a t t h e D i g i t a l C o m p u t e r L a b o r a t o r ya t M I T ; d u r i n g h i s s t a y w i t h u s B e s t w a s at e m p o r a r y I B M e m p l o y e e . S t a r t i n g in t h ee a r l y f a l l o f 1 95 5 , h e d e s i g n e d w h a t t u r n e do u t t o b e , a l o n g w i t h s e c t i o n 2, o n e o f t h em o s t i n t r i c a t e a n d c o m p l e x s e c t i o n s o f t h ec o m p i l e r , o n e w h i c h h a d p e r h a p s m o r e i n -f l u e n c e o n th e m e t h o d s u s e d i n la t e r c o m -p i l e r s t h a n a n y o t h e r p a r t o f t h e F O R T R A Nc o m p i l e r . ( Fo r a d i s c u s s i o n o f h i s t e c h -n i q u e s s e e [ C o c k e a n d S c h w a r t z 1 9 7 0 p p . 5 1 0 -5 1 5 ]. ) I t i s i m p o s s i b l e t o d e s c r i b e h i sr e g i s t e r a l l o c a t i o n m e t h o d h e re ; i t s u f f i c e st o s a y t h a t i t w a s t o b e c o m e t h e b a s i s f o rm u c h s u b s e q u e n t w o r k a n d p r o d u c e d c o d e w h i c hw a s v e r y d i f f i c u l t t o i m p r o v e .A l t h o u g h I b e l i e v e t h a t n o p r o v a b l yo p t i m a l r e g i s t e r a l l o c a t i o n a l g o r i t h m i sk n o w n f o r g e n e r a l p r o g r a m s w i t h l o o p s , e t c . ,e m p i r i c a l l y B e s t ' s 1 9 5 5 - 5 6 p r o c e d u r e a p -p e a r e d t o b e o p t i m a l . F o r s t r a i g h t - l i n ec o d e B e s t ' s r e p l a c e m e n t p o l i c y w a s t he s a m ea s t h a t u s e d i n B e l a d y ' s M I N a l g o r i t h m ,w h i c h B e l a d y p r o v e d t o b e o p t i m a l [ B e l a dy1 9 6 5] . A l t h o u g h B e s t d i d n o t p u b l i s h af o r m a l p r o o f , h e h a d c o n v i n c i n g a r g u m e n t sf o r th e o p t i m a l i t y o f h i s p o l i c y i n 19 5 5.L a t e i n 1 95 5 i t w a s r e c o g n i z e d t h a t y e ta n o t h e r s e c t i o n , s e c t i o n 3 , w a s n e e d e d .T h i s s e c t i o n m e r g e d t h e o u t p u t s o f th e p r e -c e d i n g s e c t i o n s i n t o a s i n g l e u n i f o r m 7 0 4p r o g r a m w h i c h c o u l d r e f e r t o a n y n u m b e r o fi n d e x r e g i s t e r s . I t w a s p l a n n e d a n d p r o -g r a m m e d b y R i c h a r d G o l d b e r g , a m a t h e m a t i c i a nw h o j o i n e d u s i n N o v e m b e r 1 9 55 . A l s o , l a t ei n 19 5 6, a f t e r B e s t h a d r e t u r n e d t o M I T a n dd u r i n g t h e d e b u g g i n g o f t h e s y s t e m , s e c t i o n5 w a s t a k e n o v e r b y G o l d b e r g a n d D a v i dS a y r e ( se e b e l o w ) , w h o d i a g r a m m e d i t c a r e -

    f u l l y a n d t o o k c h a r g e o f it s f i n a l d e b u g -g i n g .T h e f i na l s e c t i o n o f t h e c o m p i l e r , s e c -t i o n 6, a s s e m b l e d t h e f i n a l p r o g r a m i n t oa r e l o c a t a b l e b i n a r y p r o g r a m ( it c o u l d a l s op r o d u c e a s y m b o l i c p r o g r a m i n S A P, t h eS H A R E A s s e m b l y P r o g r a m f o r t h e 7 0 4 ). I tp r o d u c e d a s t o r a g e m a p o f t he p r o g r a m a n dd a t a t h a t w a s a c o m p a c t s u m m a r y o f t h e F O R -T R A N o u t p u t . O f c o u r s e i t a l s o o b t a i n e d

    t h e n e c e s s a r y l i b r a r y p r o g r a m s f o r i n c l u s i o ni n t h e o b j e c t p r o g r a m , i n c l u d i n g t h o s e r e -q u i r e d t o i n t e r p r e t F O R M A T s t a t e m e n t s a n dp e r f o r m i n p u t - o u t p u t o p e r a t i o n s . T a k i n ga d v a n t a g e o f t h e s p e c i a l f e a t u r e s o f t h ep r o g r a m s i t a s s e m b l e d , t h i s a s s e m b l e r w a sa b o u t te n t i m e s f a s t e r t h a n S A P . I t w a sd e s i g n e d a n d p r o g r a m m e d b y R o y N u t t , w h oa l s o w r o t e a l l t he I / O p r o g r a m s a n d t h e r e -l o c a t i n g b i n a r y l o a d e r f o r l o a d i n g o b j e c tp r o g r a m s .B y th e s u m m e r o f 1 9 5 6 l a r g e p a r t s o f t h es y s t e m w e r e w o r k i n g . S e c t i o n s I, 2, a n d 3c o u l d p r o d u c e w o r k a b l e c o d e p r o v i d e d n om o r e t h a n t h r e e i n d e x r e g i s t e r s w e r e n e e d e d .

    A n u m b e r o f t e s t p r o g r a m s w e r e c o m p i l e d a n dr u n a t t h i s t i m e . N u t t t o o k p a r t o f t h es y s t e m t o U n i t e d A i r c r a f t ( s e c t i o n s I, 2,a n d 3 a n d t h e p a r t o f s e c t i o n 6 w h i c h p r o -d u c e d S A P o u t p u t ) . T h i s p a r t o f t h e s y s t e mw a s p r o d u c t i v e t h e r e f r o m t h e s u m m e r o f1 9 5 6 u n t i l t h e c o m p l e t e s y s t e m w a s a v a i l a b l ei n e a r l y 1 9 5 7 .F r o m l a t e s p r i n g o f 1 9 5 6 t o e a r l y 1 9 5 7t h e p a c e o f d e b u g g i n g w a s i n t e n s e ; o f t e n w ew o u l d r e n t r o o m s i n t h e L a n g d o n H o t e l ( w h i chd i s a p p e a r e d l o n g a g o) o n 5 6 t h S t r e e t ,s l e e p t h e r e a l i t t l e d u r i n g t h e d a y a n d t h es t a y u p a l l n i g h t t o g e t a s m u c h u s e o f t h ec o m p u t e r ( in t h e h e a d q u a r t e r s a n n e x o n 5 7 t h

    S t r e e t) a s p o s s i b l e .I t w a s a n e x c i t i n g p e r i o d ; w h e n l a t e r o nw e b e g a n t o g e t f r a g m e n t s o f c o m p i l e d p r o -g r a m s o u t o f t h e s y s t e m , w e w e r e o f t e n a s -t o n i s h e d a t th e s u r p r i s i n g t r a n s f o r m a t i o n si n t h e i n d e x i n g o p e r a t i o n s a n d i n t h e a r -r a n g e m e n t o f t h e c o m p u t a t i o n w h i c h t h e c o m -p i l e r ma d e , c h a n g e s w h i c h m a d e t h e o b j e c tp r o g r a m e f f i c i e n t b u t w h i c h w e w o u l d n o th a v e t h o u g h t t o m a k e a s p r o g r a m m e r s o u r -s e l v e s ( e ve n t h o u g h , o f c o u r s e , N e l s o n o rZ i l l e r c o u l d f i g u r e o u t h o w th e i n d e x i n gw o r k e d , S h e r i d a n c o u l d e x p l a i n h o w a n e x -p r e s s i o n h a d b e e n o p t i m i z e d b e y o n d r e c o g -n i t i o n , a n d G o l d b e r g o r S a y r e c o u l d t e l l u s

    h o w s e c t i o n 5 h a d g e n e r a t e d a d d i t i o n a l i n -d e x i n g o p e r a t i o n s ) . T r a n s f e r s of c o n t r o la p p e a r e d w h i c h c o r r e s p o n d e d t o n o s o u r c es t a t e m e n t , e x p r e s s i o n s w e r e r a d i c a l l y r e -a r r a n g e d , a n d th e s a m e D O s t a t e m e n t m i g h tp r o d u c e n o i n s t r u c t i o n s i n t h e o b j e c t p r o -g r a m i n o n e c o n t e x t , a n d in a n o t h e r i tw o u l d p r o d u c e m a n y i n s t r u c t i o n s i n d i f f e r -e n t p l a c e s i n t h e p r o g r a m .B y th e s u m m e r o f 1 9 56 w h a t a p p e a r e d t ob e t h e i m m i n e n t c o m p l e t i o n o f t h e p r o j e c ts t a r t e d u s w o r r y i n g ( fo r p e r h a p s t h e f i r s t

    1 7 2

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    9/16

    t i me ) a b o u t d o c u m e n t a t i o n . D a v i d S a y r e , ac r y s t a l l o g r a p h e r w h o h ad j o i n e d us i n t h es p r i n g ( he h a d e a r l i e r c o n s u l t e d w i t h B e s to n t h e d e s i g n o f s e c t i o n 5 a n d h a d l a t e r b e -g u n s e r v i n g as s e c o n d - i n - c o m m a n d o f w h a t w a sn o w t h e ' ~ Pr o g ra m m in g R e s e a r c h D e p a r t m e n t " )t o o k up t h e ta s k of w r i t i n g t h e P r o g r a m m e r ' sR e f e r e n c e M a n u a l [ I BM 1 9 5 6] . I t a p p e a r e di n a g l o s s y c o v e r , h a n d s o m e l y p r i n t e d , w i t ht h e d a t e O c t o b e r 1 5, 19 5 6 . I t s t o o d f o rs o m e t i m e a s a u n i q u e e x a m p l e o f a m a n u a lf o r a p r o g r a m m i n g l a n g u a g e ( p e r h a ps i t s t i l ld o e s ) : i t h a d w i d e m a r g i n s , y e t w a s o n l y 5 1p a g e s l o n g . I t s d e s c r i p t i o n o f t h e F O R T R A Nl a n g u ag e , e x c l u s i v e o f i n p u t - o u t p u t s t a t e -m e n t s , w a s 2 1 p a g e s ; t h e I /O d e s c r i p t i o no c c u p i e d a n o t h e r 11 p a g e s ; t h e r e s t o f i tw a s e x a m p l e s a n d d e t a i l s a b o u t a r i t h m e t i c ,t a b l e s , e t c . . I t g a v e an e l e g a n t r e c u r s i v ed e f i n i t i o n o f e x p r e s s i o n s ( as g i v e n b y S h e r -i d a n ), a n d c o n c i s e , c l e a r d e s c r i p t i o n s , w i t he x a m p l e s , o f e a c h s t a t e m e n t t y p e , o f w h i c ht h e r e w e r e 3 2 , m o s t l y m a c h i n e d e p e n d e n t i -t e m s l i k e S E N S E L I G H T , I F D I V I D E C H E C K ,P U N C H , R E A D D R UM , a n d s o o n . ( F or e x a m p l e so f i t s s t y l e s e e f i g s . I , 2 , a n d 3 . )O n e f e a t u r e o f F O R T R A N I i s m i s s i n g f r o mt h e P r o g r a m m e r ' s R e f e r e n c e M a n u a l , n o t f r o ma n o v e r s i g h t o f S a y r e ' s , b u t b e c a u s e i t w a sa d d e d t o t he s y s t e m a f t e r t h e m a n u a l w a sw r i t t e n a n d b e f o r e t h e s y s t e m wa s d i s t r i b -u t e d . T h i s f e a t u r e w a s t h e a b i l i t y t o d e -f i n e a f u n c t i o n b y a " f u n c t i o n s t a t e m e n t " .T h e s e s t a t e m e n t s h a d to p r e c e d e t h e r e s t oft h e p r o g r a m . T h e y l o o k e d l i k e a s s i g n m e n ts t a t e m e n ts , w i t h t h e d e f i n e d f u n c t i o n a n dd u m m y a r g u m e n t s o n t h e l e f t a nd an e x p r e s -s i o n i n v o l v i n g t h o s e a r g u m e n t s o n t h e r i g h t .T h e y a r e d e s c r i b e d i n t h e a d d e n d a t o t h eP r o g r a m m e r ' s R e f e r e n c e M a n u a l [ A d d e n d a 1 9 57 ]w h i c h w e s e n t o n F e b r u a r y 8 , 1 9 5 7 t o J o h n

    G r e e n s t a d t , w h o w a s i n c h a r g e o f I B M ' s f a c -i l i t y f o r d i s t r i b u t i n g i n f o r m a t i o n t oS H A R E . T h e y a r e a l s o d e s c r i b e d i n a l l s u b -s e q u e n t m a t e r i a l o n F O R T R A N I.T h e n e x t d o c u m e n t a t i o n t a s k w e se t o u r -s e l v e s w a s t o w r i t e a p a p e r d e s c r i b i n g t h eF O R T R A N l a n g u a g e a n d t he t r a n s l a t o r p r o g r am .T h e r e s u l t w a s a p a p e r e n t i t l e d " T h e F O R -

    T R A N a u t o m a t i c c o d i n g s y s t e m " [ B a c ku s e t a l.1 95 7] w h i c h w e p r e s e n t e d a t t h e W e s t e r nJ o i n t C o m p u t e r C o n f e r e n c e i n L o s A n g e l e s i nF e b r u a r y 1 9 57 . I h a v e m e n t i o n e d a l l o f t h et h i r t e e n a u t h o r s o f t h a t p a p e r i n t he p r e-c e d i n g n a r r a t i v e e x c e p t o n e: R o b e r t A.H u g h e s . H e w a s e m p l o y e d b y t h e L i v e r m o r eR a d i a t i o n L a b o r a t o r y ; b y a r r a n g e m e n t w i t hS i d n e y F e r n b a c h , h e v i s i t e d u s f o r t w o o rt h r e e m o n t h s i n t h e s u m m e r o f 1 9 5 6 t o h e l pu s d o c u m e n t t h e s y s t e m . ( Th e a u t h o r s o ft h a t p a p e r w e r e : J . W . B a c k u s , R . J . B e e b e r ,S . B e s t , R . G o l d b e r g , L . M . H a i b t , H . L .H e r r i c k , R . A . H u g h e s , R . A . N e l s o n , R .N u t t , D . S a y r e , P . B . S h e r i d a n , H . S t e r n ,I . Z i l l e r . )

    A t a b o u t t h e t i m e of t h e W e s t e r n J o i n tC o m p u t e r C o n f e r e n c e w e s p e n t s o m e t i m e i nL o s A n g e l e s s t i l l f r a n t i c a l l y d e b u g g i n g t h es y s te m . N o r t h A m e r i c a n A v i a t i o n g a ve u s

    t i m e a t n i g h t o n t h e i r 7 0 4 t o h e l p u s i no u r m a d r u s h t o d i s t r i b u t e t h e s y s t e m . U pt o t h i s p o i n t t h e r e h a d b e e n r e l a t i v e l yl i t t l e i n t e r e s t f r o m 7 0 4 i n s t a b l a t i o n s ( w i tht h e e x c e p t i o n o f R a m s h a w ' s U n i t e d A i r c r a f ts h op , H a r r y C a n t r e l l ' s G E i n s t a l l a t i o n i nS c h e n e c t a d y , a n d S i d n e y F e r n b a c h ' s L i v e r -m o r e o p e r a t i o n ) , b u t n o w t h a t t h e f u l l s y s -t e m w a s b e g i n n i n g t o g e n e r a t e o b j e c t p r o -g r a m s , i n t e r e s t p i c k e d u p i n a n u m b e r o fp l a c e s .S o m e t i m e i n e a r l y A p r i l 1 9 5 7 w e f e l t t h es y s t e m w a s s u f f i c i e n t l y b u g - f r e e t o d i s t r i b -u t e t o a l l 7 04 i n s t a l l a t i o n s . S a y r e a n dG r a c e M i t c h e l l ( se e b e l o w ) s t a r t e d t o p u n c ho u t t h e b i n a r y d e c k s o f t h e s y s t e m , e a c h o fa b o u t 2 , 0 0 0 c a r d s , w i t h t h e i n t e n t i o n t om a k e 3 0 o r 4 0 d e c k s f o r d i s t r i b u t i o n . T h i sp r o c e s s w a s s o e r r o r - p r o n e t h a t t h e y h a d tog i v e u p a f t e r s p e n d i n g a n e n t i r e n i g h t i np r o d u c i n g o n l y o n e o r t wo d e c ks .( A p p a r e n t l y o n e o f t h o s e d e c k s w a s s e n t ,w i t h o u t a n y i d e n t i f i c a t i o n o r d i r e c t i o n s ,t o t h e W e s t i n g h o u s e B e t t i s i n s t a l l a t i o n ,

    w h e r e a p u z z l e d g r o u p h e a d e d b y H e r b e r t S .B r i g h t , s u s p e c t i n g t h a t i t m i g h t b e th el o n g - a w a i t e d F O R T R A N d ec k , p r o c e e d e d , e n -t i r e l y b y g u e s s w o r k , t o g e t i t to c o m p i l ea t e s t p r o g r a m - - a f t e r a d i a g n o s t i c p r i n t -o u t n o t i n g t h a t a c o m m a w a s m i s s i n gi n a s p e c i f i c s t a t e m e n t ! T h i s p r o g r a m t h e np r i n t e d 2 8 p a g e s of c o r r e c t r e s u l t s - - w i t h af e w F O R M A T er r o r s . T h e d a t e : A p r i l 2 0 ,1 9 57 . A n a m u s i n g a c c o u n t o f t h i s i n c i d e n tb y B r i g h t i s i n C o m p u t e r s a n d A u t o m a t i o n[ B r i g h t 1 9 7 1 ] . )

    A f t e r f a i l i n g t o p r o d u c e b i n a r y d e c k s ,S a y r e d e v i s e d a n d p r o g r a m m e d t h e s i m p l ee d i t o r a n d l o a d e r t h a t m a d e i t p o s s i b l e t od i s t r i b u t e a n d u p d a t e t h e s y s t e m f r o m m a g -n e t i c t a p es ; t h i s a r r a n g e m e n t s e r v e d a s t h em e c h a n i s m f o r c r e a t i n g n e w s ys t e m t a p e sf r o m a m a s t e r t a p e a n d th e b i n a r y c o r r e c t i o nc a r d s w h i c h o u r g r o u p w o u l d g e n e r a t e i nl a r g e n u m b e r s d u r i n g t h e l o n g f i e l d d e b u g -g i n g a nd m a i n t e n a n c e p e r i o d w h i c h f o l l o w e dd i s t r i b u t i o n .

    W i t h t h e d i s t r i b u t i o n o f t h e s y s t e mt a p e s w e n t a " P r e l i m i n a r y O p e r a t o r ' s M a n -u a l " [ O p e r a t o r ' s M a n u a l 1 9 57 ] d a t e d A p r i l 8,1 9 5 7 . I t d e s c r i b e s h o w t o u s e t h e t a p e e d -i t o r a n d h o w t o m a i n t a i n t h e l i b r a r y o ff u n c t i o n s . F i v e p a g e s o f s u c h g e n e r a l i n -s t r u c t i o n s a r e f o l l o w e d b y 32 p a g e s o f e r-r o r s t o p s; m a n y o f t h e s e s a y " s o u r c ep r o g r a m e r r o r , g e t o f f m a c h i n e , c o r r e c t f o r -m u l a i n q u e s t i o n a n d r e s t a r t p r o b l e m " a n dt h e n , f o r e x a m p l e ( s t o p 3 6 2 4) " n o n - z e r ol e v e l r e d u c t i o n d u e t o i n s u f f i c i e n t o r r e -d u n d a n t p a r e n t h e s e s i n a r i t h m e t i c o r I F -t y p e f o r m u l a " . S h o r t l y a f t e r t h e d i s t r i b -u t i o n o f t h e s y s t e m w e d i s t r i b u t e d - - o n ec o p y p e r i n s t a l l a t i o n - - w h a t w a s f on d l yk n o w n a s t h e " T o m e ", t h e c o m p l e t e s y m b o l i cl i s t i n g o f t h e e n t i r e c o m p i l e r p l u s o t h e rs y s t e m an d d i a g n o s t i c i n f o r m a t i o n , a n 1 1"b y 1 5" v o l u m e a b o u t f o u r o r fi v e i n c h e st h i c k .

    1 7 3

  • 7/29/2019 Backus, John_The History of Fortran I, II, III_ACM

    10/16

    Subs cr i p t s .G E N E R A L F O R M E X A M P L E S

    Let v represent any fixed point variableand c (or c ' ) any-unsigned f ixed po in tconstant. T hen a subscript isan expression o f one o f the fo rms: V

    CV+C or V--Cc*vc* V+C' or c*v--c'

    I3M U + 2M U - 25 * J5 " J + 25 " J - 2

    T h e s y m b o l d e n o t e s m u l t i p l i c a t i o n . T h e v a r i a b l e v m u s t n o t i ts e l f b e s u b -s c r i p t e d .

    Subs cr i p t ed Var i ab l es .G E N E R A L F O R M E X A M P L E S

    A f ixed or f loa t ing po in t var iab lefol lowed, by parentheses enclosing 1, 2, or 3subscr ip ts separa ted by commas.

    A(I)K(3)BE IA (5 * . I - 2 , K + 2 ,L)

    F o r e a c h w l r i a b le t h a t a p p e a r s i n s u b s c r i p t e d f o r m t h e si z e o f t h e a r r a y ( i .e . t h em a x i n u u n w d u e s w h i c h i ts s u b s c r i p t s c a n a t t a i n ) m u s t b e s t a t e d i n a D I M E N -S I O N s t a t e m e n t ( s e e C h a p t e r 6 ) p r e c e d i n g t h e f ir s t a p p e a r a n c e o f th e va r i ab l e .T h e m i n i m u m v a l u e w h i ch a s u b sc r i p t m a y a s s u m e i n t h e o b j e c t p r o g r a m is + 1 .

    A r r a n g e m e n t o / A r r a ys i n S to r a g e .A 2 - d i m e n s i o n a l a r r a y A w i ll , i n t h e o b j e c t p r o g r a m , b e s t o r e d s e q u e n t i a l ly i nt h e o r d e r A 1, 1, A 2 .1 , . . . . . A m , l , A ] , z , A 2 ,2 , . . . . . A m , 2 , . . . . . . . . A m , , . T h u si t i s s t o r e d " c o l u m n w i s e " , w i t h t h e f ir s t o f i ts s u b s c r i p ts v a r y i n g m o s t r a p i d l y ,a n d t h e l as t v a r y i n g l e a st r a p id l y . T h e s a m e i s t r u e o f 3 - d i m e n s i o n a l a r r a y s .l - d i m e n s i o n a l a r r a y s a r e o f