+ All Categories

Sam Met

Date post: 09-Apr-2018
Category:
Upload: mike-scott
View: 220 times
Download: 0 times
Share this document with a friend

of 11

Transcript
  • 8/8/2019 Sam Met

    1/11

    ProgrammingLanguages: H istoryand FutureJean E. SammetIBM Corporation

    This paper discusses both the h istory and future o fp rogrammi ng languages (= h igh er l eve llan gu ag es) . Som e of the di fficult ies in wri ting such ahistory are indicated. A ke y part o f the paper is a treesh owi ng t h e ch ronolog i ca l deve lop ment o f languag esand their interrelationships. Rea son s for the prolifera-t i on o f langua ges are g i ven . Th e major languages arelisted with the reasons for their importance. A sectionon chron ology indicates the happenings of the s igni f icantprevious t ime periods and the major topics of 1972. K eyconcepts other than specif ic lang uage s are d iscussed.

    Key Words and Phrases: programm ing langua ges ,h igher level languag es , langu ages , h is tory, futuredirections, language interrelationships, programminglanguage tree , programming language h istory,p rogrammi ng language future

    CR Ca t egor i e s : 1 . 2 , 4 . 2

    Copyright (~ 1972, Association for Computing Machinery, Inc.General permission to republish, but not for profit, all or partof the tex t of this article is granted, provided that reference ismade to this publication, to its date of issue, and to the fact thatreprinting privileges were granted by permission of the Associationfor Computing Machinery. This paper, which includes the LanguageHistory Chart, in substance will form part of the 2nd edition ofthe book, Programming Languages: History and FundamentalsbyJean E. Sammet, which is currently in preparation and is expectedto be published by Prentice-Hall, Inc.Author's addres s: IBM Corporation, 545 TechnologySquare, Cambridge, MA 02139. All comments and opinions inthis paper represent (only) the personal views of the author.References have been kept to a minimum to save space. Anylanguage for which no reference is given in this paper has the cita-tions in either Sammet [14] or [16]; almost all are in the former.601

    1. Introduction1 .1 Def in i ti on o f P rogramm i ng L ang uages

    It is well known by now that there is no generalagreement on the meaning of the term "progr amminglanguages." In this paper the term is used interchange-ably with "higher level languages," but even that doesnot solve the definition problem. Hence it is necessaryto specify that a programming language is consideredto be a set of characters and rules for combining themwhich have the following characteristics: (l) machinecode knowledge is unnecessary; (2) there is good poten-tial for conversion to other compute rs; (3) there is aninstruction explosion (from one to many); and (4)there is a notation which is closer to the original prob-lem than assembly language would be.

    1 . 2 P urp ose and S cop e o f P ap erProgramming languages are almost as old as ACM,since the latter started in 1947 while the former startedin 1952 with S hort Code for UNIVAC. Since then, someefforts--although relatively few--have been made torecord certain historical aspects of this field, e.g. Rosen[12, 13], Bemer [6], Sam met [14]. 1 Ever y a uthor , includ-ing this one, takes a different point of view of what isimportant, how to define and interpret dates, etc. Inthis paper I hope to indicate some of the problems inactually writing about the history of programminglanguages, and then make my own attempt to provideperspective. This latter seems extremely important be-cause there are over 170 languages in use just in theUnit ed States in 1972. While abou t half of these fallinto the category of "languages for specialized applica-tion areas" and are discussed in more detail elsewhere[18], another 85 still remain to be accounted for in someway. What is it about this field that causes such pro-liferation? Is there any sense to what has happened?Communications July 1972of Volume 15the ACM Number 7

  • 8/8/2019 Sam Met

    2/11

    What--if any--are the interrelationships among thehundreds of languages which have been developedsince 1952? Finally, and perhaps mos t important , whatdoes this portend? Answers to these questions must belimited because of space and time constraints.

    There are three facets of programming languagehistory which this paper does not discuss. One is thedevelopment of any individual language; this has beendone in considerable detail by the au thor [14]. A secondis the set of specific concepts in individual languages.The third omission is any discussion of implementation.1 . 3 P r o b le m s i n D i s c u s s in g H i s t o r y o f P r o g r a m m i n gL a n g u a g e sThere are several problems in writing about thehistory of programming languages. For example, inconsidering programming languages there are a numberof phases, each of which is important in the overalldevelopment, but which is almost impossible in retro-spect to pinpoint to an exact time. We--as a professionand an industry--tend to toss around dates withoutbeing very specific about what they mean. Thus variouspeople would define "the earliest date" for COBOL as1959, 1960, or 1961, and yet COBOL has one of theclearest and best-documented histories. In order to de-fine the problem of establishing dates, note tha t at leastthe following phases exist for programming languages(and in fact most of these apply to any program). Somephases may occur in parallel.1. Initia l idea.2. First documentation of initial idea.3. Preliminary specifications.4. "Final" specifications (i.e. those which will beimplemented ).5. "Proto typ e" running (i.e. as thoroughly debuggedas the state of the art will permit, but perhaps not all ofthe features are included).6. "Ful l language" compiler (or interpreter) is running.7. Usage on real problems by the developers.8. Users (on real problems) other than the developers.9. Documentation, e. g. manuals and tutorials.10. Paper in professional journal or conference. (Some-times this appears as early as step 3.)11. Extension, modificat ion, or new version.Note that a formal definition might appear at steps 3, 4,and 9. Also note that some of these steps may occursimultaneously or be so combined that they are in-distinguishable. Furthermore, step I 1 allows recyclingto any lower number and repeating the cycle for a newversion. In only a few instances are dates easily availablefor each of these phases.Another aspect of the problem in writing a historyof programming languages pertains to the definition ofa language and variations of it. This makes establishingaccurate counts impossible. Even if we assume that wecan recognize a higher level language when we see one,we don't have a rigorous (or even weak) way of know-ing whether we merely have a dialect or whether we

    really have a new language. This point is discussed bythe author in much greater length in [17]. As one ex-ample among many languages with similar situations,note the existence of SIMSCRn'T I, 1.5, II, 11.5, and IIPlus. It is clear that these languages are related and yetdifferent. Are they five separate languages, or only one?2 . Hi s t or i ca l Deve lop ment o f L anguages

    This section shows the historical development andinterrelationship of languages by means of a chart.Reasons for the proliferation of languages and for theimportance of languages are given. Finally, there is alisting--with justificat ion--of the most importa nt lan-guages.2.1 Development by Dates and Interrelat ionshipsThere are three major ways to describe the historicaldevelopment of programming languages: first, eventsfor each language, second, events within a given year,and third, the relationships and descendants of lan-guages. As previously stated, the first has already beendone by this author, so only the second and third areneeded here to provide a (hopefully) solid foundati onof facts. The chart covers the second and third waysby providing a tree depicting yearly information at aglance, but it also shows the influence and the descend-ants of the languages. Such a chart is of course subjectto space and graphic constraints; an enlargement ofalmost any portion would provide useful information.

    Only separate version numbers for fairly significantlanguages (e.g. FORTRAN) have been shown. The legendon the chart indicates that the reader can determine theearliest date known to the author pertaining to a givenlanguage or, alternatively, the particular phase of de-velopment (see Section 1.3) for which information isclearly identified. Languages for specialized appl icationareas (e.g. simulation, machine tool control, civilengineering) are not included on the chart because th enumber of them would have doubled the complexity.The lists of languages shown on the back of thechart represent snapshots at three points in time. Onlyten languages, namely A L G O L 6 0 , A P T , C O B O L , C O M I T ,F O R T R A N , I P L -V , L IS P 1 . 5 , M A D , M A D C A P , and N E L I A Cappear on all three lists and thus indicate continuoususage.2 . 2 Reasons for L anguage P ro l i ferat i onThe incredible proliferation of higher level languagesappears to be caused by one or more of the following:1. A really new language concept has been developedand/or a new application area is deemed worthy ofhaving its own language.2. After experience with a particular language, itsdeficiencies are clear enough that a complete new lan-guage is needed--and justifiably created--to correctthem.3. Facilities of several languages are best combined intoa single new language.

    602 Communications July 1972of Volume 15the ACM Number 7

  • 8/8/2019 Sam Met

    3/11

    4 . I t i s f e l t t o b e e a s i e r t o g e t a d d i t i o n a l c a p a b i l i t y o rc h a n g e s i n s t y l e w i t h a n e w l a n g u a g e r a t h e r t h a n t oe x t e n d o r m o d i f y a n e x i st in g o n e .5 . I t is f u n t o d e s i g n a n d i m p l e m e n t a n e w l a n g u a g e ,a n d s o m e o n e w a n t s t o d o i t a n d c a n o b t a i n t h e f u n d s .6 . T h e r e a r e p e r s o n a l p r e f e r e n c e s a n d p r e j u d i c e sa g a i n s t t h e e x i s t in g l a n g u a g e s e v e n t h o u g h o n e o f t h e s el a n g u a g e s m i g h t s e r v e t h e p u r p o s e f o r w h i c h t h e n e wl a n g u a g e i s i n t e n d e d .7 . T h e d e v e l o p e r i s u n a w a r e o f t h e e x i s te n c e o f a l a n -g u a g e t h a t m e e t s h i s n e e d s , s o h e c r e a t e s h i s o w n w h i l eb e l i e v in g h e i s m e e t i n g t h e c o n d i t i o n s o f ( 1 ) o r ( 2 ) .

    T h e r e a r e o n l y a fe w i l l u s t r a t io n s o f ( 1 ) a n d ( 2 ) .E x a m p l e s o f ( 1 ) i n c l u d e - - b u t a r e n o t l im i t e d t O - -FORTRAN, APT, FLOWMATIC, IPL, GPSS, COGO. M a j o re x a m p l e s o f ( 2 ) a r e C O B O L ( tO r e p l a c e F L O W M A T I C )a ndS NOaOL ( t o re p l a c e COM I T).2 .3 Reasons for Importance o f a Language

    W h a t a r e t h e r e a s o n s t h a t o n e l a n g u a g e b e c o m e sw i d e l y u s e d o r c o n s i d e r e d s i g n i f i c a n t o r b o t h , w h i l eo t h e r s r e m a i n f o r a l l p r a c t i c a l p u r p o s e s t h e p r o p e r t y o fa s m a l l g r o u p ? T h e g e n e r a l l y o b v i o u s a n s w e r i s p r a c -t i c a l i t y ; i . e . t h e l a n g u a g e i s s u i t a b l e fo r a s i g n i f i c a n t( a l t h o u g h n o t n e c e s s a r i l y l a r g e ) c l a s s o f p r o b l e m s a n d

    g o o d c o m p i l e r s c a n b e w r i t t e n f o r i t . H o w e v e r , t h o s ea r e o n l y th e m o s t o b v i o u s a t t ri b u t e s, a n d u n d e r n e a t ht h e m l ie a n u m b e r o f o t h e r f a c t o r s, n o t a l l o f th e mb a s e d o n f a c t s . F o r e x a m p l e , t h e p s y c h o l o g i c a l i s s ue o fs n o b a p p e a l i s m o r e i m p o r t a n t t h a n m a n y p e o p l e m i g h tt h i n k . T h u s , t h e p e r s o n a l p r e s t i g e a n d l e a d e r s h i p ( o rl a c k t h e r e o f ) o f t h o s e in d i v i d u a l s w h o a r e i n v o l v e d i nt h e d e v e l o p m e n t o f a l a n g u a g e p l a y a n e n o r m o u s r o l e .

    S o m e l a n g u a g e s c l e a r l y c r e a t e a s p a r k , w h i c h c a u s e st h e l a n g u a g es to b e c o m e p o p u l a r - - s o m e t i m e s t o a le v elo f f a n a t i c i s m - - r e g a r d l e s s o f t h e d i f f i c u l t i e s . T h i s i se q u i v a l e n t t o t h e " p o l i t i c a l c h a r i s m a " w h i c h o f t e n a f -f e c t s e l e c t i o n re s u l ts . T h e b e s t e x a m p l e o f l a n g u a g e sw h i c h i n s p i r e s o m e p e o p l e a r e A L G O L a n d APE\360; ont h e o t h e r h a n d n e i t h e r B A S I C ( a t t h e s m a l l e n d ) n o rP L / I ( a t t h e l a r g e e n d ) g e n e r a t e s a s m u c h personale n t h u s i a s m b y t h e u s e r s. I t i s h a r d t o p i n p o i n t t h e r e a -s o n s f o r l a c k o f c h a r i s m a i n a l a n g u a g e , a n d i t h a s v e r yl i t tl e t o d o w i t h t h e a c t u a l u s e . F o r e x a m p l e , B A S IC a n dC O B OL a r e v e r y w i d e l y u s e d l a n g u a g e s , b u t I d o u b tw h e t h e r m a n y p e o p l e a r e p e r s o n a l ly e n t h u s i as t i c a b o u te i t h er o f t h e m .

    I n s u m m a r y , t h e r e a r e r e a ll y t w o m a j o r r e a s o n s f o r al a n g u a g e t o b e c o n s i d e r e d s i g n i f i c a n t : o n e i s t h a t i t i se c o n o m i c a l l y p r a c t i c a l a n d h e n c e v e r y u se f u l , a n d t h eo t h e r i s t h a t i t is t e c h n i c a l l y n e w . I n t h e n e x t s e c t io n , Ih a v e u s e d b o t h c r i t e r i a . T h e r e d o e s n ' t s e e m t o b e a n yl a n g u a g e w h i c h m e t b o t h a t i t s i n c e p t i o n ; t h i s i s n o ts u rp r i s i n g .2.4 Major Languages

    I n o n e s e n se , t h e i t e m s o n a l i s t o f t h e m a j o r p r o -g r a m m i n g l a n g u a g e s a r e o b v i o u s t o a l m o s t e v e r y o n e ;60 3

    h o w e v e r , i n r e a l i t y i t is u n l i k e l y t h a t a n y t w o p e o p l ew o u l d a g r e e o n w h a t t h e l i s t s h o u l d c o n t a i n ! S p e a k i n gp u r e l y a s a n i n d i v i d u a l , a n d w i t h d u e c o n c e r n f o r m yp r e j u d i c es , I w i s h t o i n d i c a t e t h e l a n g u a g e s w h i c h I c o n -s i d e r o f m a j o r s i g n i fi c a n c e, a l o n g w i t h t h e r e a s o n s f o rt h e i r i m p o r t a n c e .

    N o t e t h a t i m p o r t a n c e a n d w i d e u s e ar e n o t t h e s a m e ;s e v e r a l o f t h e l a n g u a g e s o n t h e l i st h a v e b e e n u s e d o n l yb y a r e l a ti v e ly s m a l l n u m b e r o f p e o p l e , o r t h e y h a v eb e e n i m p l e m e n t e d o n o n l y o n e c o m p u t e r .

    I n a p p r o x i m a t e c h r o n o l o g i c a l o r d e r t h e l a n g u a g e so f m a j o r s i g n if i c a n ce a r e :A P T . T h e f i rs t l a n g u a g e f o r a s p e c ia l i ze d a p p l i c a t i o na r e a .F ORTRAN. Th e f i r s t h i g h e r l e v e l l a n g u a g e t o b e w i d e l yu s e d . I t o p e n e d t h e d o o r t o p r a c t i c al u s a g e o f c o m p u t e r sb y l a r g e n u m b e r s o f s c ie n t if i c a n d e n g i n e e r i n g p e r s o n n e l .

    F LOW MATIC. Th e f i r s t l a n g u a g e s u i t a b l e fo r b u s i n e s sd a t a p r o c e s s i n g a n d t h e f i r s t t o h a v e h e a v y e m p h a s i so n a n " E n g l i s h - l i k e " sy n t a x .

    I P L- V . T h e f i r s t - - a n d a l so a m a j o r - - l a n g u a g e f o rd o i n g l i s t p ro c e s s i n g .

    C O M IT . T h e f i rs t r e al i st i c s t r i n g h a n d l i n g a n d p a t t e r nm a t c h i n g l a n g u a g e ; m o s t o f it s f e a t u r e s a p p e a r ( a l-t h o u g h w i t h d i f f er e n t s y n t a x ) i n a n y o t h e r l a n g u a g ea t t e m p t i n g t o d o a n y s t r in g m a n i p u l a t i o n .

    C O BO L . O n e o f t h e m o s t w i d e l y u s e d l a n g u a g e s o n a na b s o l u t e b a s i s , a n d t h e m o s t w i d e l y u s e d f o r b u s i n e s sa p p l i c a t i o n s . T e c h n i c a l a t t r i b u t e s i n c l u d e r e a l a t t e m p t sa t a n E n g l i s h - l i k e s y n t a x a n d a t m a c h i n e i n d e p e n d e n c e .

    A L G O L 6 0 . I n t r o d u c e d m a n y s p e c i fi c f e a tu r e s i n a ne l e g a n t f a s h i o n , a n d c o m b i n e d w i t h i t s f o r m a l s y n t a c t i cd e f i n i t io n , in s p i r e d m o s t o f t h e t h e o r e t i c a l w o r k i n p r o -g r a m m i n g l a n g u a ge s a n d m u c h o f t h e w o r k o n i m p l e -m e n t a t i o n t e c h n i q u es . M o r e w i d e l y u s e d in E u r o p e t h a ni n t h e U n i t e d S t a t e s .

    L IS P . I n t r o d u c e d c o n c e p t s o f f u n c t i o n a l p r o g r a m m i n gc o m b i n e d w i t h f a c i l i t y f o r d o i n g l i s t p r o c e s s i n g . U s e db y m a n y o f t h e p e o p l e w o r k i n g i n t h e f i e ld o f a r ti f i ci a li n t e l l i g e n c e .

    JO V IA L . T h e f i rs t l a n g u a g e t o i n c l u d e a d e q u a t e c a p a -b i l it y f o r h a n d l i n g s c ie n t if i c c o m p u t a t i o n s , i n p u t / o u t -p u t , l o g ic a l m a n i p u l a t i o n o f i n f o r m a t i o n , a n d d a t as t o r a g e a n d h a n d l i n g . M o s t J O V I A L c o m p i l e r s w e r ew r i t t e n i n J OVI AL.

    G P S S. T h e f i r s t la n g u a g e w h i c h m a d e s i m u l a t i o n ap r a c t i c a l t o o l f o r m o s t p e o p l e .

    JOS S . T h e f i r s t i n t e ra c t i v e l a n g u a g e ; i t s p a w n e d an u m b e r o f d i a le c t s w h i c h c o l le c t iv e l y h e l p e d t o m a k et i m e - s h a r in g p r a c t i ca l f o r c o m p u t a t i o n a l p r o b l e m s .F ORMAC. T h e f i r s t l a n g u a g e t o b e u s e d fa i r l y w i d e l yo n a p r a c t i c a l b a s i s f o r m a t h e m a t i c a l p r o b l e m s n e e d i n gf o r m u l a m a n i p u l a t i o n .

    A P E \ 36 0 . P r o v i d e d m a n y h i g h e r l e v e l o p e r a t o r s ,w h i c h p e r m i t t e d e x t r e m e l y s h o r t a l g o r i t h m s a n d c a u s e dn e w w a y s o f lo o k i n g a t s o m e p r o b l e m s .

    T h e p r i m e c h a r a c t e r i s t i c o f t h i s li s t o f m a j o r l a n -g u a g e s i s t h a t e a c h l a n g u a g e i s u n i q u e i n s o m e w a y ; p u tCo mm unications July 1972of Volume 15t he AC M Nu m b e r 7

  • 8/8/2019 Sam Met

    4/11

    a n o t h e r w a y , e a c h l a n g u a g e i s i n d e p e n d e n t o f a n y o t h e ro n t h e l is t ( e x c e p t C OB O L w h i c h d r e w h e a v i l y o n F L O W -~ A T IC e x p e r ie n c e ) . F u r t h e r m o r e , e a c h w a s a p p a r e n t l yd e v e l o p e d i n d e p e n d e n t l y o f a n y o t h e r , a l t h o u g h e a c hd e v e l o p in g g r o u p w a s ( p r e s u m a b l y ) a w a r e o f th e o t h e rl a n g u a g e s e x i s ti n g a t t h e t i m e o f t h e d e v e l o p m e n t . S o m eo t h e r l a n g u a g e s ar e n o w m o r e w i d e ly u se d o r m o r ec o m p r e h e n s i v e t h a n t h o s e o n t h e l i st , s p e c if i c al l y B A SIC ,P L// I, S IMS CRIP T , a n d S NOBOL. I n m a n y c a s e s , t h e y h a v ea l m o s t c o m p l e t e l y re p l a c ed s o m e o f t h e l a n g u a g e s o nt h e l i s t ( e . g . BAS I C fo r J OSS a n d i t s d e r i v a t i v e s , S NOBOLf o r C O M I T ). T h e f o u r " o b v i o u s c a n d i d a t e s " c i te d a b o v ea r e o m i t t e d f o r t h e f o l l o w i n g r e a s o n s : B A S IC , a l t h o u g hs i m p le a n d e c o n o m i c a l , a d d e d n o n e w c o n c e p t s , w a sn o t t h e f i r st o n - l i n e l a n g u a g e , a n d w a s n o t t h e f i r s t t o b eo f m a j o r p r a c t i c a l im p o r t a n c e . P L / I h a s c a p a b i l i t ie sd e r i v e d f r o m F O R T RA N , C O B O L , a n d A L G O L b u t h a s n o t( y e t ? ) s u c c e e d e d i n o n e o f i t s i m p l i c i t o b j e c t iv e s w h i c hw a s t o r e p l a c e t h e s e l a n g u a g e s ; i t w a s p r e c e d e d b yJO V IA L i n t h e a t t e m p t t o c o m b i n e c a p a b i l i ti e s f o r s e v e r a la p p l i c a t i o n a re a s . S I MS CRIP T b u i l t o n a l l t h e p re v i o u sd i s c r e te s i m u l a t i o n l a n g u a g e s . S N O BO L w a s a g o o d b u tf a i r l y o b v i o u s i m p r o v e m e n t t o t h e c o n c e p t s i n t r o d u c e di n COMi T .

    3 . C h r o n o l o g i c a l D e v e l o p m e n tI n t h e f i rs t p a r t o f th i s s e c t io n t h e m a j o r e a r l i e r

    p e r i o d s o f t i m e a r e d e l i n e a t e d a n d t h e i r l a n g u a g e h i g h -l i g h t s i n d i c a t e d . T h i s s p o t l i g h t s a n d s u p p l e m e n t s i n -f o r m a t i o n a p p e a r i n g i n t h e c h a r t . T h e s e c o n d p a r t o ft h i s s e c t i o n r e c o g n i z e s t h a t i n t h e f i e l d o f p r o g r a m m i n gl a n g u a g e s t h e r e a r e k e y concepts w h i c h a r e d i f f e r e n tf r o m t h e m e r e d e v e l o p m e n t o f l a n g u a g es . T h e t h i r d p a r to f t h i s s e c ti o n d i s c u s s es t h e l a n g u a g e s a n d t o p i c s w h i c ha r e o f c u r r e n t i n t e r e s t a n d a c t i v i t y .3 . 1 M a j o r P e r i o d s o f E a r l ie r T i m e

    3.1 .1 E a r l i e s t Y e a r s : 1 9 5 2 - 1 9 5 6 . T h i s p e r i o d w a s at i m e o f p r e l i m i n a r y g r o p i n g a n d o f a tt e m p t i n g t o u n d e r -s t a n d t h e c o n c e p t s a n d l i m i t a t i o n s o f p r o g r a m m i n gl a n g u a g e s . T h e t e r m s p s e u d o - c o d e , a u t o m a t i c c o d i n g ,a u t o m a t i c p r o g r a m m i n g , c o m p i l er , a n d i n t e r p r e te r w e r ec o m m o n . I n t o d a y ' s t e r m i n o l o g y , p s e u d o - c o d e m e r e l ym e a n s a l an g u a g e o t h e r t h a n t h e n o r m a l m a c h i n e c o d e ,a u t o m a t i c c o d i n g w a s t h e g e n e r a l p r o c e s s o f w r i t i n g in ah i g h e r le v el l a n g u a g e , a n d a u t o m a t i c p r o g r a m m i n g w a si n t u it i v el y fe l t t o b e s o m e t h i n g h i g h e r t h a n a u t o m a t i cc o d i n g . I t i s i n t e r e s t i n g t o n o t e t h a t t h e t e r m a u t o m a t i cp r o g r a m m i n g i s c o m i n g b a c k i n t o v o g u e a f t e r m a n yy e a r s o f d o r m a n c y , b u t w i t h a s o m e w h a t w i d e r m e a n i n g .

    O f a l l t h e l a n g u a g e s d e v e l o p e d i n t h i s t i m e p e r i o d ,o n l y F O R T R A N ( i n t en d e d f o r n u m e r i c a l c o m p u t a t i o n )a n d A P T ( f o r m a c h i n e t o o l c o n t r o l ) h a v e l a s t e d ti l lt o d a y , a n d b o t h h a v e u n d e r g o n e n u m e r o u s r e vi s io n s .

    3 . 1 . 2 M i l e s t o n e M e e t i n g : 1 9 5 6 . T h e f i r s t m a j o r m e e t -i n g h e l d s o l e l y t o d i s c u s s h i g h e r l e v e l l a n g u a g e s - - o r60 4

    a u t o m a t i c c o d i n g a s t h e s u b j ec t w a s r e fe r r e d t o t h e n - -w a s a t t h e F r a n k l i n I n s t i t u t e in 1 9 5 6. A t t h e t i m e o f t h i sm e e t i n g , t h e b a t t l e f o r t h e u s e o f h i g h e r l e v e l l a n g u a g e sw a s b y n o m e a n s w o n . N o s y s t e m s w e r e i n w i d e u s e ;F ORTRAN h a d n o t b e e n re l e a s e d ( i n fa c t i t w a s n o t d i s -c u s s e d a t t h e m e e t i n g , a l t h ou g ] h i t w a s p r e s e n t e d a t t h e1 9 5 7 W e s t e r n J o i n t C o m p u t e r C o n f e r e n c e ) . F LO WM A T1Cw a s i n u s e i n e s s e n ti a l ly it s p r o t o t y p e f o r m b y ( o n l y )o n e c o m p a n y . T h e o t h e r s y s t e m s w e r e e s s e n ti a l ly b e i n gu s e d o n l y b y t h e i r d e v e l o p e r s .

    A t t h i s m e e t i n g a t th e F r a n k l i n I n s t i tu t e , t h e f o l lo w -i n g l a n g u a g e s w e r e d e s c r i b e d a n d p r e s e n t e d :

    B- 0 (F LOW MATI C). T h e f i r s t En g l i s h - l i k e l a n g u a g ef o r b u s i n e s s d a t a p r o c e s s i n g p r o b l e m s . P l a n n e d a n di m p l e m e n t e d ( o n l y ) o n t h e U N IV A C I .

    P R IN T I . R e a l l y a p o w e r f u l t h r e e a d d r e s s p s e u d o -c o d e , b u t o f s i g n i f i c a n c e b e c a u s e i t p r o v i d e d c a p a b i l i -t ie s f o r m a t h e m a t i c a l p r o b l e m s o n a m a c h i n e w h i c h w a sb a s i c a l l y d e s i g n e d f o r b u s i n e s s d a t a p r o c e s s i n g , n a m e l ythe IBM 705.

    O t, N I CO D E . R e a l l y a t y p e o f a s s e m b l y l a n g u a g e i ns p i r i t a n d f o r m a t b u t w i t h p o w e r f u l o p e r a t i o n s f o rs ci en t if ic a n d c o m m e r c i a l c o m p u t a t i o n . D e s i g n e d f o rt h e I B M 6 5 0 a n d 7 0 2 w i t h a s t r o n g c o n c e r n f o r c o n v e r -s i o n p o t e n t i a l .

    I T . A l a n g u a g e f o r m a t h e m a t i c a l p r o b l e m s w h i c h w a sa w k w a r d i n n o t a t i o n b e c a u se o f t h e l i m i te d c h a r a c t e rs e t o f i t s in t e n d e d m a c h i n e , t h e I BM 6 50 . S i g n i f i c a n t be -c a u s e i t w a s i n t e n d e d f o r u s e o n a s m a l l m a c h i n e .

    M a t r i x C o m p i l e r. A h i g h e r le v el la n g u a g e c o n t a in -i n g o p e r a t i o n s f o r d o i n g m a t r i x c o m p u t a t i o n s . D e -s i g n e d fo r t h e U NIVAC I . S i g n i f i c a n t b e c a u s e i t i s o n e o ft h e f i r s t l a n g u a g e s f o r s p e c i a l i z e d a p p l i c a t i o n a r e a s( c o n s i d e r i n g m a t r i x m a n i p u l a t i o n a s a s p e c ia l i ze d a r e a ) .

    N C R 3 0 4. T h i s i s o b v i o u s l y a m a c h i n e a n d n o t al a n g u a g e . I t i s s i g n i f i c a n t b e c a u s e i t w a s a p p a r e n t l yt h e f i r s t a t t e m p t t o d e v e l o p a c o m p u t e r w h i c h w o u l dm a k e "automatic c o d i n g " u n n e c e s s a r y b e c a u s e t h eo r d e r c o d e w a s at h i g h e n o u g h l ev e l. ( A l t h o u g h t h em a c h i n e w a s a p p a r e n t l y a s u c c e s s , i t d i d n o t e l i m i n a t eh i g h e r l e v e l l a n g u a g e s . )

    3 . 1 .3 M o s t P r o l i f i c Y e a r s : 1 9 5 8 - 1 9 5 9 . I t s e e m s c l e art h a t t h e t w o m o s t s i g n i f i c a n t y e a r s i n th e h i s t o r y o fp r o g r a m m i n g l a n g u a g e s a r e 1 9 5 8 a n d 1 9 5 9. T h e f o l lo w -i n g e v e n t s a l l o c c u r r e d d u r i n g t h a t p e r i o d :1 . T h e d e v e l o p m e n t a n d p u b l i s h in g o f th e I g L ( I n t e r -n a t i o n a l A l g e b r a i c L a n g u a g e ) r e p o r t , w h i c h b e c a m ek n o w n a s A L G O L 5 8 .2 . T h e d e v e l o p m e n t o f t h r e e l a n g u a g e s b a se d o n t h eI g L s p e c i f i c a ti o n s , n a m e l y N E L IA C , M A D , a n d C L I P ( w h i c he v e n t u a l l y w a s t h e f o u n d a t i o n f o r J O V I A L ) . N E L I A C ,MAD , a n d J OVIAL w e re i n u s e a t l e a s t a s l a t e a s 1 9 7 1 ,w i t h t h e l a t t e r p r i m a r i l y u s e d in m i l i t a r y a p p l i c a t io n s .3 . T h e p r e s e n t a t i o n t o t h e 1 9 5 9 U N E SC O m e e t i n g o fJ . B a c k u s ' f o r m a l i s m f o r d e s c r i b i n g ALGO L [5]. T h i s w a st h e f o u n d a t i o n f o r m u c h o f th e t h e o r e t ic a l w o r k d o n ei n p r o g r a m m i n g l a n g u a g e s s in c e th e n .4 . T h e f o r m a t i o n i n M a y 1 95 9 o f th e C O D A SY L S h o r tCommunications July 1972of Volume 15the ACM Number 7

  • 8/8/2019 Sam Met

    5/11

    L a n g u a g e s f r o m 1 9 6 0 T o w e r o f B a b e lC o v e r o f C o m m u n i c a t i o n s o l t h eA C M , Vol . 4 , No . 1 , J anuary 1961 . t

    L a n g u a g e s f r o m 1 9 6 7 T o w e r o f B a b e lEnd p ap er i n Programming Lan-guages: His tory and Fundamentals ,J . E . S ammet , P rent ice -Hal l , Inc . ,1 9 6 9 . t f

    A B CA C TA D E S I IA I M A C OA L G O

    * A L G O LA L T A CA L T R A NA P IA P SA P S I I I* A P TA P X I I IA R G U SB A C A I CB A L G O LB I O RC A G EC L - IC L I P* C O B O LC O L A S L* C O M I TC O M M E R C I A L T R A N S L A T O RF A C TF L E X I M A T I CF L I PF L O W M A T I CF O R A S T

    * F O R T R A NF O R T R A N I IF O R T R A N I I IF O R T R A N S I TG A TG O O F U SG PI P L* I P L VI TI V Y

    * L I S P* M A D* M A D C A PM A G I CM A T H M A T I CM C PM I S H A PM Y S T I C* N E L I A CN U I T9 P A CP A C T IP R I N TS A L ES A PS H A D O W I IIS L A N GS M A CS O A PS O SS T R A P IS T R A P I IS U R G ET A CT H R E A D E D L I S T ST R I EU N C O LU N I C O D EU S EV I P PX 1X 2X T R A N

    A - 2 & A - 3A D A MA E DA E S O PA I M A C O

    * A L G O LA L G YA L T R A NA M B I TA M T R A NA n i m a t e d M o v i eA P LA P L \ 3 6 0

    * A P TB A C A I CB A S E B A L LB A S I CB U G S Y SC - 1 0C L I PC L P

    * C O B O LC O G E N TC O G OC O L A S LC O L I N G O

    * C O M I TC o m m e r c i a l T r a n s l a to rC o m p u t e r C o m p i l e rC o m p u t e r D e s i g nC O R A LC O R CC P SC u l l e r - F r i e dD A SD A T A - T E X TD E A C O ND I A L O GD I A M A GD I M A T ED O C U SD S L / 9 0D Y A N AD Y N A M OD Y S A CE n g l i s hE x t en d ed A L G O LF A C TF L A PF L O W - M A T I CF O R M A CF o r m ul a A L G O L

    * F O R T R A NF O R T R A N S I TF S LG A TG E C O MG P LG P S SG R A FG r a p h i cI C E SI D SI n f o r m a t i o n A l g e b r a

    * I P L - VI T J O S SJ O V I A LK l e r e r - M a yL eL a n i n g a n d Z i e r l e rL D TL i n c o l n R e c k o n e r* L I S P 1 . 5L I S P 2L O L I T AL O T I S

    * M A D* M A D C A PM a g i c P a p e rM A PM A T H L A BM A T H - M A T I CM a t r i x C o m p i l e rM E T A 5M I L I T R A NM I R F A C

    * N E L I A CO C A LO M N I T A BO P SP A TP E N C I LP L / IP R I N TP r o p o s a l W r i t i n gP r o t o s y n t h e x4 7 3 L Q u e r yQ U I K T R A NS F D - A L G O LS h o r t C o d eS I M S C R I P TS I M U L AS i m u l . D i g . S y s t .S N O B O LS O LS p e e d c o d i n gS P R I N TS T R E S SS T R O B E SS y m b o l ic M a t h . L a b .T M GT R A CT R A N D I RT R E E TU N C O LU N I C O D E

    * T h e s e I 0 l a n g u a g e s a r e t h e o n l y o n ea p p e a r i n g i n a l l t h r e e l i s ts . I n t h e c a s e oA L G O L , C O M I T , F O R T R A N , a n d L I S Pt h e sa m e v e r s i o n n u m b e r d o e s n o t s h oa n d / o r a p p l y o n a l l t h r e e l is t s, b u t t h e r e e n o u g h s i m i l a r i t y t o j u s t i f y c o n s i d e r i nt h e m a s c o m m o n t o a l l t h r e e l is t s.

    t S o m e i t e m s i n t h i s t o w e r a r e n or e a l l y l a n g u a g e s b u t h a v e b e e n i n c l u d e d tp r o v i d e a c o m p l e t e l i st o f t h e t o w e r c o nt e n t s .

    t t S o m e o f t h e s e l a n g u a g e s w e r e o nc o n s i d e r e d o f h i s t o r i c a l i n t e r e s t in 1 9 6a n d w e r e n o t i n u s e a t t h a t t i m e .

  • 8/8/2019 Sam Met

    6/11

  • 8/8/2019 Sam Met

    7/11

    Languages in 1971 Roster?r o m "Ro ste r o f Pr o g r a mming La n-,mages," J .E. Sammet, Computers~nd Automation, Vo l . 2 0 , No . 6 B ,Iune 1971.ACTI VE LANGUAGE IAE DAESOPAIDSALADI N*ALGOL 60ALGOL 68ALTRANAMBITAMTRANA n i m a t o rAPARELAPDLAPL\360

    ~APTArielATLASATOLLB-LINEBALMBASICBCPLBLISSBRUINBUGSYSCAMALCATOCC LCESSLCHAMP

    *COBOLCOGENTCOGOCOIF

    *COMIT IIComputer Animation LanguageComputer Design LanguageCOMSLCOMTRANCORALCSS/IICoursewrlterCoursewriter IIICPSCSMPCSSLCT LCUPLCypher TextDAREdataBASICD a t a Structures LanguageDATA-TEXTDCDLDGLDI ALOGDI MATEDM LDS LDYNAMO IIECAP IIEL PEOL-3ET CEULERExtended ALGO LFLAPFOILFORMACFORMAL

    *FORTRANFS LGA NGASPGE AGEDANKENGeneral Purpose Graphic Language

    GPSSGRAFGRAILGraphic LanguageGRI NDHI NTIA MICESID SIITRANIM P

    * IPL-VJOSSJOVIALKlerer-MayL eLEAFLEAPLincoln Reckoner

    *LISP 1.5LISP ALogic Design LanguageLogoLP LLRLTRANLSYDMAC-360MACSYMA

    *MAD*MADCAPMARSYASMATHLAB 68McG360MENTORMETA 5MOBSSL-UAFNAPSS*NELIACNPPLNUCLEOLOLDASOMNITAB I IOSCARPA LPDELPIRLP L/ IPL/I -FORMACPLACEPLANITPLANNERPP LPREPPROTEUSREDUCEREF-ARFREL EnglishRT LRUSHSALEMSCRATCHPAD/1SCROLLSIMSCRIPT 1.5SIMSCRIPT IISIMULASLANGSNAPSNOBOI.ASPEAKEASYSPRINTSTILSTRESSSTROBESSTRUDLSYMBALTC LTERMAC

    TMGTP STRAC LanguageTRANQUI LTRANSTREETTROLLVULCANWRITEACOURSEXP L

  • 8/8/2019 Sam Met

    8/11

    R a n g e C o m m i t t e e ( l at e r r e n a m e d t h e C O B O L c o m m i t -t e e ) a n d t h e c o m p l e t i o n o f t h e s p e c i fi c at i on s b y D e c e m -b e r 1 9 5 9 ( a l t h o u g h t h e y w e r e n o t p u b l i s h e d u n t i l1 9 6 0 ) .5 . T h e d e v e l o p m e n t a n d a v a i l a b i l i ty o f l a n g u a g e s p ec i -f i c at i o n s f o r A I M A C O , C o m m e r c i a l T r a n s l a to r , a n dFACT.6 . T h e s t a r t o f w o r k o n t h e d e v e l o p m e n t o f L IS P i n1959.7 . T h e f i rs t i m p l e m e n t a t i o n o f C O M I T ; ( a b r i e f d e-s c r i p t i o n o f th e l a n g u a g e a p p e a r e d a s e a r l y a s D e c e m -b e r 1 9 5 7 ) .8 . T h e s t a r t o f w o r k o n JO V IA L i n 1 9 5 9.9 . T h e a v a i l a b i l i ty o f a r u n n i n g v e r s i o n o f I P L - V i ne a r l y 1 9 5 8 o n t h e I B M 6 5 0 ; a n e w v e r s i o n w a s o p e r a -t i o n a l o n t h e IB M 7 0 4 a t t h e e n d o f t h e s u m m e r i n 1 9 5 9.1 0 . T h e d e v e l o p m e n t o f a s econd v e r s i o n o f A P T , n a m e l yAPT IX for th e IBM 704. (See a lso i tem 11. )1 1 . T h e d e v e l o p m e n t o f s ev e r a l ( o t h e r ) l a n g u a g e s f o rs p e c i a l i z e d a re a s , e . g . DY ANA (1 9 5 8 ) ; DY NAMO (1 9 5 9 ) ;w o r k s t a r t e d o n A ~.D ( 1 9 5 9 ) .

    3 . 1 . 4 1 96 0 - 19 70 . T h i s d e c a d e s aw a m a t u r a t i o n o f t h ep r o g r a m m i n g l a n g u a g e f i e l d . D u r i n g t h i s t i m e t h eb a t t l e o v e r t h e u s e o f h i g h e r l e v el l a n g u a g e s w a s c l e a r l yw o n i n t h e s e n s e t h a t m a c h i n e c o d i n g h a d b e c o m e t h ee x c e p t i o n r a t h e r t h a n t h e r u l e . E v e n t h e d e v e l o p m e n to f s y s t e m s p r o g r a m s u s i n g h i g h e r l e v e l l a n g u a g e s i sf a i r l y w e l l a c c e p t e d [ 3 ] . T h e u s e o f p o w e r f u l m a c r os y s t e m s , e . g . ~ .T C [7 ] a n d " h a l f w a y " l a n g u a g e s s u c ha s r L / 3 6 0 [ 2 2 ] p r o v i d e d s o m e o f th e a d v a n t a g e s o fh i g h e r l e v e l l a n g u a g e s b u t w i t h o u t a n y a t t e m p t t o b em a c h i n e - i n d e p e n d e n t .T h e m a j o r n e w l a n g u a g e s w e r e AL GOL , COBOL, a n dP L / I , o f w h i c h o n l y t h e l a s t t w o w e r e s i g n i f ic a n t l y u s e di n t h e U n i t e d S t a t e s . W h i l e A L G O L 6 8 w a s d e f i n e d , it si m p l e m e n t a t i o n w a s j u s t s t a r ti n g a r o u n d 1 97 0.T h e a d v e n t o f t im e - s h a r i n g b r o u g h t a h o s t o f o n -l i n e l a n g u a g e s , s t a r t i n g w i t h j o s s a n d l a t e r f o l l o w e d b yB A SIC , w h i c h b e c a m e v e r y w i d e l y u s e d . E a c h h a d m a n yi m i t a t o r s a n d e x t e n d e r s . A P L \ 3 6 0 , m a d e a v a i l a b l e l a t ei n t h e 1 9 6 0 s , b e c a m e p o p u l a r a m o n g c e r t a i n s p e c i f i cg r o u p s .T h e d e v e l o p m e n t o f h i g h e r l e v e l l a n g u a g e s f o r u s ei n f o r m u l a m a n i p u l a t i o n w a s t r i g g e r e d b y F O R raA C a n dF o r m u l a A L G O L , a l t h o u g h o n l y t h e f i r st h a s b e e n w i d e lyu s e d . S t r i n g p r o c e s s i n g a n d p a t t e r n m a t c h i n g b e c a m ep o p u l a r w i t h t h e a d v e n t o f S NO B OL .T h e s i m u l a t i o n l a n g u a g e s G P S S a n d S IM S C R IP T m a d et h i s t o o l a v a i l a b l e t o m o s t u s e r s a n d a l s o e n c o u r a g e dt h e d e v e l o p m e n t o f o t h e r s i m u l a t i o n l an g u a g e s.

    A n u m b e r o f l a n g u a g e s f o r sp e c i a li z e d a p p l i c a t i o na r e a s c o n t i n u e d t o b e d e v e l o p e d . S e e [ 1 4 , 1 8 ] f o r m o r ei n f o r m a t i o n o n t h i s.P e r h a p s o n e o f t h e m o s t i m p o r t a n t p r a c t ic a l d e v el -o p m e n t s , a l t h o u g h s c o r n e d b y m a n y t h e o r e t i c i a n s , w a st h e d e v e l o p m e n t o f o f f ic i a l s t a n d a r d s f o r F O R T R A N a n dC O B O L, a n d t h e s t a r t o f s t a n d a r d i z a t i o n f o r P L / I .

    3 .2 K e y C o n c e p t s R e l at e d t o P r o g r a m m i n g L a n g u a g e sT o r e vi e w t h e w o r k o f 20 y e a r s i n p r o g r a m m i n g

    l a n g u a g e s r e q u i r e s t h e s e p a r a t i o n o f th e h i s t o r i c a ld e v e l o p m e n t o f specific languages f r o m t h e d e v e l o p -m e n t o f c e r t a i n concepts w h i c h c a n a f f e c t a l l p r o g r a m -m i n g l a n g u a g e s . I n t h i s c o n t e x t , t h e s e c o n c e p t s a r ee n t i r e l y d i f f e r e n t f r o m c o n c e p t s in t h e l a n g u a g e . I na p p r o x i m a t e l y c h r o n o l o g i c a l o r d e r , I c o n s i d e r t h em a j o r c o n c e p t u a l d e v e l o p m e n t s t o b e : ( 1 ) f o r m a l s y n -t a c t i c n o t a t i o n , ( 2 ) f o r m a l s e m a n t i c d e f in i t i o n a l t e c h -n i q u e s , ( 3 ) a t t e m p t s a t d e s i g n i n g m a c h i n e s w h o s e i n -s t r u c t i o n c o d e i s a h i g h e r l e v e l l a n g u a g e , a n d ( 4 ) u s e rd e f i n e d l a n g u a g e s . T h e r e a s o n s f o r t h e i r i m p o r t a n c ea r e i n d i c a t e d b e l o w . I h a v e n o t l i s t e d e i t h e r t h e c o n -c e p t o f a h i g h e r l e ve l l a n g u a g e o r t h e c o n c e p t o f a c o m -p i l er b e c a u s e t h e y a r e s o b a s i c t h e y c a n b e t a k e n f o rg ra n t e d .2

    T h e i d e a o f a formal syntactic notat ion f o r a p r o -g r a m m i n g l a n g u a g e w a s i n t r o d u c e d i n 1 9 5 9 b y B a c k u s[ 5 ]. I t is i m p o r t a n t t o n o t e t h a t B N F i s m e r e l y o n e m a n i -e s t a t i o n o f a f o r m a l s y n t a c t ic n o t a t i o n a n d n o t t h eo n l y o n e ; e . g . t h e d e f i n i t i o n o f C O B O L u s e s a d i f f e r e nb u t e q u a l l y v a l i d m e t a l a n g u a g e , a l t h o u g h t h i s f a c t i so f t e n n o t r e a l i z e d o r i t i s i g n o r e d . T h e s i g n i f i c a n c e o fa f o r m a l s y n t a c t i c n o t a t i o n i s t h r e e f o l d :1 . I t p r o v i d e s a r i g o r o u s w a y o f d e f in i n g t h e s y n t a xo f a l a n g u a g e a n d e l i m i n a t i n g t h e a n n o y i n g a m b i g u i -t i e s o f s e n t e n c e s s u c h a s "a n a m e c o n t a i n s s i x c h a r a c -t e r s a n d b o t h t h e f i r s t a n d l a s t c h a r a c t e r c a n n o t b e ah y p h e n . "2 . I t p r o v i d e s t h e l in k b e t w e e n t h e p r a c t i c a l c o n c e r n si n t h e p r o g r a m m i n g l a n g u a g e f i e l d a n d t h e t h e o r e t i c a lw o r k d o n e b y l i n g u i s t s , m o s t n o t a b l y N . C h o m s k y .T h i s p e r m i t s a p p l i c a t i o n o f l i n g u i st i c c o n c e p t s a n d t e c h -n i q u e s t o p r o g r a m m i n g l a n g u a g e s . A l t h o u g h B NF w a sd e v e l o p e d i n d e p e n d e n t l y b y B a c k u s , i t i s r e a l l y o n e o fC h o m s k y ' s g r a m m a r s w i t h a d i f fe r e n t n o t a t i o n .3 . I t l ed t o t h e d e v e l o p m e n t o f s y n t a x d i r e c t e d c o m -p i l e r s , w h i c h i n t u r n g a v e r i s e t o a m o r e t h e o r e t i c a ls t u d y o f c o m p i l a t i o n t e c h n i q u e s a n d t h e p o s s i b il it y o fa " p r o d u c t i o n l i n e a p p r o a c h " t o d e v e l o p i n g n e w c o m -p i l e r s .Formal semantic definitional techniques r e p r e s e n tc o n s i d e r a b l y m o r e t h a n j u s t t h e n e x t s t e p b e y o n d t h ef o r m a l s y n t a c t i c d e f i n i t io n . W h i l e m u c h o f t h e o r i g i n a lc o n c e p t w a s b a s e d o n w o r k o f M c C a r t h y [ I 0 ], th e f i rsa c t u a l d e v e l o p m e n t o f t h e f o r m a l s e m a n t i c d e f i ni t io no f a m a j o r l a n g u a g e w a s d o n e b y t h e IB M V i e n n a L a b -o r a t o r y [ 9 ] . T h e m o n u m e n t a l s iz e o f t h e f o r m a l d e f i-n i t i o n o f P L / I p r e c lu d e s i t f r o m . b e in g o f c u r r e n t p r a c -t i c a l u s e . H o w e v e r , i t i s a m a j o r c o n c e p t u a l p a r t o f ac u r r e n t l y u n s o l v e d p r o b l e m i n a ll o f p r o g r a m m i n gw h i c h is h o w t o d e t e r m i n e w h e t h e r a p r o g r a m d o e sw h a t w e w a n t i t t o d o . E n o r m o u s p r o g r e s s i s b e i n g

    2Th e concept of list processing does no t appear he re because iis fundamentally a programming technique which has been represented or included in languages. A lso there is no discussion of thmajor concep ts in implem entation.607 Co mm unications July 1972o f Volume 15the ACM Number 7

  • 8/8/2019 Sam Met

    9/11

    made in this area (see for example [1]), and there aretwo facets of concern to programming languages: tomake sure the compilers translate correctly and tosee what must be done to guarantee the correctness ofa source program. Formal semantic techniques give ahandle on solutions to both these problems.

    The at tempt a t designing computers whose instruct ioncode is a higher level language is a significant concept --although not yet achieved--because the whole field ofprogramming languages is a clear manifestation thatall the computers designed to date are unsatisfactoryverbal communica tion devices. In other words, we havenot solved the problem of how to bridge the gap be-tween what the person wants to say about solving hisproblem and the physical circuits in the machine.

    User def ined languages have been an area of interestfor many years. Only a few primitive attempts havebeen made; they are described briefly in [18]. Allow-ing people to define their own languages is a significantconcept because it takes the control of "what is goodfor the user" out of the hands of language developersand puts it in the hands of the users.3 . 3 Current S t a t us and Top i cs

    To sensibly look forward after looking backwardwe must first see where we are today. This section at-tempts to pinpoint what seems to be the current statusand major topics in programming languages in 1972(exclusive of implementation). The potential effect ofthese on the future will be discussed in Section 4.

    Debates on specific current languages continue,with the most frequent arguments occurring aboutPL/I, ALGOL 68, and APL\360. The fact tha t the bulkof programming is done in languages o t her than thesedoes not inhibit the debate about them. The argu-ments-at least in public--tend to come more fromlanguage developers and theoreticians than from theusers. The latter continue to be (rightly) concernedabout issues of cost effectiveness and compatibilityand hence tend to stay with FORTRAN and COBOL.

    The most astounding fact is that the proliferationof languages continues. There is no evidence thatfewer languages are being created. The new languagesthat have been developed and/or used in the UnitedStates during the last few years are shown in Sammet[15, 16, 19].

    E x t en s i b l e l a n gua ges- -a t least among researchers--continue to be of interest, but without anything ofmajor significance to show for the years o f work whichhave been involved. Contrast the contents of [4] withthose of [2].

    P ro v i n g co rrec tn ess o f p ro gra ms is a topic receivingincreased attention as evidenced by [l]. This conceptis directly related to programming languages becausemost of the techniques being suggested involve changesor additions to programming languages, or the inser-

    608

    tion of completely different kinds of statements insource programs to enable correctness proofs tooperate.

    The use o f higher level languages for system s pro -gra mmi n g has finally been recognized as being bothlegitimate and practical. After almost 15 years of debateand negative views, an increasing number of systemsprograms are actually being written using higher levellanguages; they are described in [3]. The argumentsnow tend to be centered around which language shouldbe used rather than whether one should be used.

    4. Future DevelopmentsProgramming languages---using any definition--are the primary means by which a person communi-

    cates with a computer. Viewed from that perspective,all future developments should be aimed at makingthis communication easier and more cost effective.Each person doing research and development feels hehas the answer. The real truth seems to be that thereis no single best way for people to communicate with acomputer, and hence no single solution. Thus there wi l lbe no single language useful to everyone.

    This section is divided into three areas--broadconcepts, specific techniques, and a brief discussionabout the effect of current education about compu-ters. Comments on the future of the current topicsdiscussed in Section 3.3 are included in this section.4.1 Broad Concepts

    The major broad concepts that we should expect tosee in the future are: (1) use of natural language (e.g.English), (2) user defined languages, (3) nonproce-dural and problem defining languages, (4) an improve-ment in the user's computing environment, and (5)new theoretical developments.

    The ultimate ease of communication with the com-puter allows the user to specify his instructions--orwishes--in a natural language such as English. That isa shorthand way of saying that the user could use hisnative language, including notation (e.g. algebra,molecular diagrams) appropriate to his particular field.This concept do es n o t envision one single computersystem understanding all of English. It do es envisionmany systems, each of which is capable of dealing witha particular field, specifically including its specializedjargon. This is identical in concept to the communica-tion between people which works fairly well providingboth are in the same field and understand the sameterms. The recognition of the importance of jargonserves as the main counterargument to the ambiguityproblem which exists primarily a cro ss specializedvocabularies. By envisioning a series of semispecializedsystems, we can eliminate the need for a single giantcomputer system which understands all of Webster'sdictionary p l u s a large encyclopedia.Communications July 1972of Volume 15the ACM Number 7

  • 8/8/2019 Sam Met

    10/11

    The arguments for and against this concept havebeen presented many times in print. References canbe found in [14, Ch. XI].Until we reach the ultimate situation described justabove, the next best thing will be user defined languages.By this we mean (software) systems which permitusers, first, to define languages that fit their own needswith respect to functional capability, jargon, and per-sonal tastes in style, and then to easily implement them.The key part of the problem is to provide a systemwhich permits easy implementation with an acceptablelevel of efficiency. In spite of numerous attempts goingback m any years, this development is still in a primitivestage. References and a further discussion of this canbe found in Sammet [18] and in Thompson and Dostert[21].

    This author has often stated that the term non-procedural language is a relative term which changesas the state of the art changes. Thus, as we developlanguages (and compilers for them) which specifyless detailed information, we increase the level of non-proceduralness. Such a major potential developmentcan be accomplished either separately or combinedwith the user defined languages and/or pr oblem de -fining languages. Ideally, the user would state only thedefinition of his problem and the computer systemwould develop the solution. While the day of askingthe computer to "COMPUTE THE PAYROLL FOR MY COM-PANY" is at least one or two decades in the future, Ibelieve we will see a large decrease in the amount ofdetail a user must provide. More specifically, I expectmore statements about w hat is to be done and fewerdetails on ho w to do it. There will be compilers whichcan effectively determine which of many alternativealgorithms should be used in a given situation. Exam-ples of this kind of research include ISDOS (Teichroewand Sayani [20]), NAPSS (Rice [11]), and the goaloriented PLANNER (Hewitt [8]).With today's powerful computers, the user's com-puting environment is large, complex, and needs im-provement. When the user writes his program he hasjust started on the communication problem. He mustnow interface with command languages to the oper-ating system, debug by pouring over cryptic diagnosticmessages received about his errors, and try to deter-mine his costs in an installation when he doesn't knowwho else is using the computer at the same time he is.In the future when we have practical networks of com-puters, he may not even know which computer he willbe using! All of these difficulties tend to negate theadvances made in easing the direct statement of theuser's problem, which is represented by the programin some higher level language. In the present environ-ment the latter represents only the tip of the iceberg,and we must certainly make the rest of the icebergeasier to use.Virtually everyone agrees that today programmingis an art, not a science. Many--although somewhat

    fewer--people would contend that programming can(and should) be made into a science. I think that thisis feasible, but it requires many theoretical developments.These range from better methods of defining program-ming languages, to techniques enabling us to knowwhether any program does what we really want, to theadvances in understanding English, which are requiredto reach the first stated goal.4 . 2 S p e c i f i c F u t u r e D e v e l o p m e n t s

    There are a number of specific items on whichcomments should be made pertaining to their role inthe future. To a large extent, these parallel the majortopics of interest today.The use of current languages is not likely to changedrastically for many years. It seems likely that VORTRANand COBOL will be with us for at least five and probablyten more years. The potential standardization of PL/Iwill probably wean away some VORTRAN and COBOLadherents, but by now the investment in the earlierlanguages is so large that the advantages of using onlyone language for most practical problems cannotcounteract the past history. ALOOL 68 will probablyplay the same role that ALGOL 60 did--name ly inspireanother round of development of implementationtechniques and devotion to elegance in language withless concern for the practical world. It seems virtuallycertain that ALGOL 68 will n o t become widely used inthe United States, and probably not elsewhere. APE\360has fanatic adherents, but in spite of their hopes andclaims it does not seem likely that this language (orsystem) will replace all other languages.For the foreseeable future languages fo r specializedapplication areas will continue to proliferate for reasonswell described in [21]. In essence they indicate thatthere will be large economic advantages accruing to auser from (1) a language which is efficient because itdeals only with matters of direct concern in a particu-lar application and (2) algorithms which are inherentlyknown and available within a specific problem domain;these specialized languages will also continue to in-crease in number and usefulness as the technology im-proves in the broad concept of providing techniqueswhich allow the user to easily define and implement hisown language. As one subclass, the application areaof systems programming will see the continued devel-opment of improved languages which simultaneouslyprovide most advantages of a higher level languagewith minimum machine dependence.The development of extensible languages has retro-gressed, or at best stood still, in the past few years.For the future I hope-- but t hink it unlike ly--tha t thisarea will do another turnaround and become a usefultool. It should be recognized however that extensiblelanguages are primarily a means to an end rather thana goal in themselves. The end which they help achieveis the ability for people to easily define their ownlanguages.

    6O9 Communications July 1972of Volume 15the ACM Number 7

  • 8/8/2019 Sam Met

    11/11

    4 . 3 E f f e c t o f I n c r e a s e d E d u c a t i o nComputers are now becoming comm on- -if not yet

    commonplace--in high schools, and have become fre-quent even in elementary schools. To determine thereal effect--both direct and sub limina l--of this edu-cation on the next generation requires a better crystalball than this author possesses. However, it wouldseem that at the very minimum the following thingswill happen : (1) people will grow up recognizing thecom pute r as a tool for everyone, just as the automobil e,the telephone, and the stove are; (2) more people willlearn to use the computer--they probably will beta ug ht lan gua ges like BASIC, FORTRAN, and COBOL, eventhough these do not represent the best technology wehave for programmin g; and (3) the use of computerswill increase as the result of more understanding ofwhat they can be used for.

    5 . S u m m a r yThere have been over 200 higher level languages

    developed in the 20 years between 1952 and 1972. Ofthese languages, only 13 are deemed of major signifi-cance from either a conceptual and/or a usage view-point. The two years 1958 and 1959 were by far themost significant in the past 20 years, and most of theprogramming language activities of 1972 result directlyor indirectly from work done in those two years. Cur-rent discussions tend to involve P L/I, ALGOL 68, a ndAPL\360 while most of the productive work is done inFORTRAN and COBOL. The ma jo r top ics of 1972 a reextensible languages, proving correctness of programs,the use of higher level languages for systems program-ming and the continued proliferation o f languages forspecialized application areas. For the future, broadconceptual developments to be expected include theuse of English for programming, user defined lan-guages, more nonprocedural and problem defininglanguages, improvement of the user's computing en-vironment, and new theoretical developments. Specificfuture developments will most likely include majorcon tin ued use of FORTRAN and COBOL, and con tinu edproliferation of languages for specialized applicationareas. The effect of the educati on abou t comp utersbeing supplied to high school and elementary schoolstudents will be so profound that a reasonable predic-tion seems impossible.

    References1oACM. Proceedings of an ACM Conference on Proving AssertionsAbout Programs. SIG PLAN Notices 7, 1 and SIGACT News14 (Jan 1972).2.ACM SIGPLAN. Proceedings of the Extensible LanguagesSymposium. S IGPL AN Notices 4, 8 (Aug. 1969).

    3 .ACM SIGPLAN. Proceedings of a SIGPLA N Symposium onLanguages for Systems lmplemenJ!ation. SIGPLAN Notices 6,9 (Oct. 1971).4.ACM SIGPLAN. Proc. ACM SIGPLAN Conf. on ExtensibleLanguages. SIGPLAN Notices 6, 12 (Dec. 1971).5.Backus, J.W. The syntax and semantics of the proposedinternational algebraic language of the Zurich-ACM-GAMMConference. Proc. International Conf. Information Processing,UNESCO, Paris, 1959, R. Oldenbourg, Munich; Butterworth,London, 1960, pp. 125-32.6.Bemer, R.W. A politico-social histoq~ of ALGOL. In AnnualReview in Automatic Programming, Vol. 5. M. Halpern andC. Shaw (Eds.), Pergamon Press, New York, 1969, pp.151-237.7.Dickman, B.N. ETC -An extendible macro-based compiler.Proc. AFIPS 1971 SJCC, Vol. 38, AFIPS Press, Montvale,N.J. pp. 529-538.8.Hewitt, C. Procedural embedding of knowledge in Planner.Proceedings of Second International Joint Conference onArtificial Intelligence, British Computer Society, London,1971, pp. 167-184.9.Lucas, P., and Walk, K. On the formal description of PL/I. InAnnual Review in Automatic Programming, Vol. 6, 3.Pergamon Press, New York, 1969, pp. 105-182.10.McCarthy, J. A formal description of a subset of ALGOL. InFormal Language Description Languages, T.B. Steel Jr. (Ed.),North-Holland Pub. Co., Amsterdam, 1965, pp. 1-7.11.Rice, J.R. On the construction of polyalgorithms for automaticnumerical analysis. In Interactive Systems for ExperimentalApplied Mathematics. M. Klerer and J. Reinfelds (Eds.).Academic Press, New York, 1968, pp. 301-313.12.Rosen, S. Programming systems and languages--a historicalsurvey. In Programming Systems and Languages, S. Rosen(Ed.), McGraw-Hill, New York, 1967, pp. 3-22.13.Rosen, S. Programming systems and languages--some recentdevelopmens. In Programming Systems and Languages, S.Rosen (Ed.), McGraw-Hill, New York, 1967, pp. 23-26.14.Sammet, J.E. Programming Languages: History and Fundamentals.Prentice-Hall, Englewood Cliffs, N.J. 1969.15.Sammet, J.E. Roster of programming languages, 1970.Computersand Automation 19, 6B (Nov. 1970), 6-11, 21.16.Sammet, J.E. Roster of programming languages, 1971.Computersand Automation 20, 6B (June 1971), 6-13.17.Sammet, J.E. Problems in, and a pragmatic approach to,programming language measurement. Proc. AFIPS 1971FJCC, Vol. 39, AFIPS Press, Montvale, N.J., pp. 243-251.18.Sammet, J.E. An overview of programming languages for specialapplication areas. Proc. AFIPS 1972 SJCC, Vol. 40, AFIPSPress, Montvale, N.J. , 299-311.19.Sammet, J.E. Roster of programming languages--1972. (Inpreparation.)20.Teichroew, D., and Sayani, H. Automation of system building.Datamation 17, 16 (Aug. 1971), 25-30.21.Thompson, F.B., and Dostert, B.H. The future of specializedlanguages. Proc. AFIPS 1972 SJCC, Vol. 40, AFIPS Press,Montvale, N.J., pp. 313-319.22.Wirth, N. PL360, A programming language for the 360 computers.J. ACM 15, 1 (Jan. 1968), 37-74.

    61 0 Communications July 1972of Volume 15t h e A C M N u m b e r 7


Recommended