From Universal to Programming Languages

48
From Universal to Programming Languages F. Gobbo 1 H. Durnov´ a 2 1 Universiteit van Amsterdam [email protected] 2 Masaryk University [email protected] CiE 2014 — 23 rd June 2014

description

Presentation held in Budapest for CiE2014. With Helena Durnovà.

Transcript of From Universal to Programming Languages

Page 1: From Universal to Programming Languages

From Universal to Programming Languages

F. Gobbo1 H. Durnova2

1Universiteit van [email protected]

2Masaryk [email protected]

CiE 2014 — 23rd June 2014

Page 2: From Universal to Programming Languages

Introduction

Page 3: From Universal to Programming Languages

Computation, language and computation

History of computation and history of language and communicationare intertwined from the early days, as reflected in common etymologyof words like:

� Spanish contar ‘to narrate’ and ‘to compute’;

� German zahlen ‘to calculate’ and erzahlen ‘to narrate’;

� etc.

Also, the word ‘language’ is used abundantly in contemporary CS:

� SQL, for Structured Query Language;

� XML, for eXtensible Markup Language;

� PSL, for IEEE 1850 Standard for Property Specification Language;

� etc.

3 / 31

Page 4: From Universal to Programming Languages

The use of ‘language’ in CS

All programming language are different from human languages, beingbeing taylored for human-machine and machine-machine informationexchange.

This analogy is put forward borrowing other terms used in linguistics,such as syntax and semantics of programming languages.

4 / 31

Page 5: From Universal to Programming Languages

Lesson learnt from the road from Leibniz to Turing

The history of the origins of modern computation is an attempt toreduce ambiguity in semantics and redundancy in syntax viaformal, non-natural languages.

For instance, George Boole introduced his laws of human thoughtthrough an example in English (quoted in Martin Davis’ book):

iff x alone stands for “white things,” and y for sheep, let xystand for “white sheep;”

5 / 31

Page 6: From Universal to Programming Languages

Purposes of our paper

Thesis: the quest of universality in languages proceeded in parallelwith the foundation of computation. In the late 1950s, computerprogrammers were looking for their own Esperanto with ideals andenthusiasm similar to the earlier attempts to find a universal languagefor human communication.

Case study: Esperanto, the most widely known attempt to establish auniversal language, in its metaphorical use by computer specialists.

6 / 31

Page 7: From Universal to Programming Languages

Outline

� Universal languages and the scientific revolution

� Logicians and Universal Languages in the 20th century

� Taxonomies of universal languages

� The Case-Study of Esperanto in Computer Science

� Machine Translation and Esperanto

7 / 31

Page 8: From Universal to Programming Languages

Outline

� Universal languages and the scientific revolution

� Logicians and Universal Languages in the 20th century

� Taxonomies of universal languages

� The Case-Study of Esperanto in Computer Science

� Machine Translation and Esperanto

7 / 31

Page 9: From Universal to Programming Languages

Outline

� Universal languages and the scientific revolution

� Logicians and Universal Languages in the 20th century

� Taxonomies of universal languages

� The Case-Study of Esperanto in Computer Science

� Machine Translation and Esperanto

7 / 31

Page 10: From Universal to Programming Languages

Outline

� Universal languages and the scientific revolution

� Logicians and Universal Languages in the 20th century

� Taxonomies of universal languages

� The Case-Study of Esperanto in Computer Science

� Machine Translation and Esperanto

7 / 31

Page 11: From Universal to Programming Languages

Outline

� Universal languages and the scientific revolution

� Logicians and Universal Languages in the 20th century

� Taxonomies of universal languages

� The Case-Study of Esperanto in Computer Science

� Machine Translation and Esperanto

7 / 31

Page 12: From Universal to Programming Languages

Universal languages andthe scientific revolution

Page 13: From Universal to Programming Languages

The importance of Real Characters

The discovery of the ancient Egyptian and Chinese civilizationsgreatly influenced English philosophers of the 17th century. Baconstudied hieroglyphs and Chinese writing, formulating the concept ofreal characters (in Rossi 2000):

artificially constructed characters, whose significance dependedonly on a custom or usage which was arbitrarily established (adplacitum) and agreed upon ‘as though by a silent pact’(tanquam pacto tacito recepti)

Real characters form an artificial language free from semanticambiguities: characters represent reality directly as concepts insteadof sounds.

9 / 31

Page 14: From Universal to Programming Languages

Philosophical languages are perfect and universal

Philosophical languages are artificial and share two features:

1. internal perfection, crystal clear shape, described in logical terms,

2. external universality, being neutral in ethnic and cultural terms.

The most influent ones were proposed by:

� Francis Lodowick,

� George Dalgarno,

� John Wilkins,

� Comenius.

10 / 31

Page 15: From Universal to Programming Languages

The two destinies of Leibniz

Leibniz called his philosophical language universal characteristic(characteristica universalis), in direct contrast with Wilkins’ realcharacters. In other words, symbols (‘characters’) should representthe alphabet and calculational tools of human thinking, which is‘universal’ instead of ‘real’. Martin Davis claims that Leibniz’s ideainfluenced logicians such as George Boole and Gottlob Frege,eventually giving the foundations of Hilbert’s programme.

However, even if Leibniz’s ‘general language’ (lingua generalis) wascomposed in 1678, his work deeply influenced Europeanmathematicians and logicians only after the publication of previouslyunknown works, in 1903.

11 / 31

Page 16: From Universal to Programming Languages

Logiciansand universal languagesin the 20th century

Page 17: From Universal to Programming Languages

Paris, 1900

In the year 1900, Paris hosted:

� the international congress of mathematicians, where Hilbertpresented his programme;

� the international congress of philosophy.

There were three people who attended both events:

� Bertrand Russell,

� Louis Couturat,

� Giuseppe Peano.

13 / 31

Page 18: From Universal to Programming Languages

Two research programmes in parallel

Russell (by far the youngest of the three) got acquainted with themathematical logic of Peano and his school.

Couturat presented the movement for the adoption of an internationalauxiliary language to the community of philosophers as thedescendant of the ideas of Leibniz and the English philosophers of the17th century.

14 / 31

Page 19: From Universal to Programming Languages

Louis Couturat

In the years 1900-1907 Couturat was active in the Esperantomovement, and in that period he gathered the support of 310academic and professional societies, and 1,250 university professorsand scholars.

He led this support through a Delegation, which decided thatEsperanto should be reformed in order to be adopted as the definitiveform of the international auxiliary language.

15 / 31

Page 20: From Universal to Programming Languages

Couturat and his correspondents

Couturat exchanged a lot of letters with important colleagues of histime: Gottlob Frege, Henri Poincare, Emil Borel.

Fortunately, Couturat’s correspondence with Russell and Peanosurvived almost complete on both sides, and thus we can see that twomain topics were common in both exchanges of letters: first, logicand the foundations of mathematics, second, international auxiliarylanguages.

16 / 31

Page 21: From Universal to Programming Languages

The years 1908-1914

Russell’s correspondence with both Couturat and Peano dwindled in1908. In those years, Russell was probably heavily involved in workingon the monumental work Principia Mathematica with A. N.Whitehead. Also, he was sceptical about the auxiliary languagemovement pursued by the others:

� In 1908, Peano published the last edition of his FormularioMathematico, written in Latino sine Flexione, a simplified versionof Latin heavily influenced by Leibniz’s lingua generalis;

� Couturat formed a movement in support of Ido, a reform ofEsperanto, claiming it to be the result of the work by theDelegation.

17 / 31

Page 22: From Universal to Programming Languages

The years 1908-1914

Russell’s correspondence with both Couturat and Peano dwindled in1908. In those years, Russell was probably heavily involved in workingon the monumental work Principia Mathematica with A. N.Whitehead. Also, he was sceptical about the auxiliary languagemovement pursued by the others:

� In 1908, Peano published the last edition of his FormularioMathematico, written in Latino sine Flexione, a simplified versionof Latin heavily influenced by Leibniz’s lingua generalis;

� Couturat formed a movement in support of Ido, a reform ofEsperanto, claiming it to be the result of the work by theDelegation.

17 / 31

Page 23: From Universal to Programming Languages

Taxonomies ofuniversal languages

Page 24: From Universal to Programming Languages

The taxonomy by Couturat and Leau

In 1903 Couturat and Leau collect the universal languages publisheduntil that time in a monumental survey, according to the followingcategories:

� a-priori languages are the artificial languages built over one ormore abstract principles of construction following the Baconianidea of “real characters” already illustrated above;

� mixed languages borrow some structures from human languages,as for instance in Volapuk, the first international auxiliary languageto be used in practice;

� a-posteriori languages borrows ther structures from an existingnatural language: e.g., Zamenhof’s Esperanto, Couturat’s Ido,Peano’s Latino sine Flexione.

19 / 31

Page 25: From Universal to Programming Languages

The taxonomy by Couturat and Leau

In 1903 Couturat and Leau collect the universal languages publisheduntil that time in a monumental survey, according to the followingcategories:

� a-priori languages are the artificial languages built over one ormore abstract principles of construction following the Baconianidea of “real characters” already illustrated above;

� mixed languages borrow some structures from human languages,as for instance in Volapuk, the first international auxiliary languageto be used in practice;

� a-posteriori languages borrows ther structures from an existingnatural language: e.g., Zamenhof’s Esperanto, Couturat’s Ido,Peano’s Latino sine Flexione.

19 / 31

Page 26: From Universal to Programming Languages

The taxonomy by Couturat and Leau

In 1903 Couturat and Leau collect the universal languages publisheduntil that time in a monumental survey, according to the followingcategories:

� a-priori languages are the artificial languages built over one ormore abstract principles of construction following the Baconianidea of “real characters” already illustrated above;

� mixed languages borrow some structures from human languages,as for instance in Volapuk, the first international auxiliary languageto be used in practice;

� a-posteriori languages borrows ther structures from an existingnatural language: e.g., Zamenhof’s Esperanto, Couturat’s Ido,Peano’s Latino sine Flexione.

19 / 31

Page 27: From Universal to Programming Languages

The taxonomy by Lyons

The linguist John Lyons proposed four ordered degrees of naturalnessof languages:

� natural1 are conform with nature: French, Arabic, etc. areimplicitly classified here;

� natural2 are constrained by nature, i.e., they are species-specific:in Chomskyan terms, all instances of the Universal Grammar;

� natural3 are acquired by humans as a normal part of the processof maturation and socialization: e.g, sign languages such as theAmerican Sign Language (ASL) and the British Sign Language(BSL);

� natural4 refers to the theory of language built over the languageinstead of the language itself (e.g., Montague).

20 / 31

Page 28: From Universal to Programming Languages

The taxonomy by Lyons

The linguist John Lyons proposed four ordered degrees of naturalnessof languages:

� natural1 are conform with nature: French, Arabic, etc. areimplicitly classified here;

� natural2 are constrained by nature, i.e., they are species-specific:in Chomskyan terms, all instances of the Universal Grammar;

� natural3 are acquired by humans as a normal part of the processof maturation and socialization: e.g, sign languages such as theAmerican Sign Language (ASL) and the British Sign Language(BSL);

� natural4 refers to the theory of language built over the languageinstead of the language itself (e.g., Montague).

20 / 31

Page 29: From Universal to Programming Languages

The taxonomy by Lyons

The linguist John Lyons proposed four ordered degrees of naturalnessof languages:

� natural1 are conform with nature: French, Arabic, etc. areimplicitly classified here;

� natural2 are constrained by nature, i.e., they are species-specific:in Chomskyan terms, all instances of the Universal Grammar;

� natural3 are acquired by humans as a normal part of the processof maturation and socialization: e.g, sign languages such as theAmerican Sign Language (ASL) and the British Sign Language(BSL);

� natural4 refers to the theory of language built over the languageinstead of the language itself (e.g., Montague).

20 / 31

Page 30: From Universal to Programming Languages

The taxonomy by Lyons

The linguist John Lyons proposed four ordered degrees of naturalnessof languages:

� natural1 are conform with nature: French, Arabic, etc. areimplicitly classified here;

� natural2 are constrained by nature, i.e., they are species-specific:in Chomskyan terms, all instances of the Universal Grammar;

� natural3 are acquired by humans as a normal part of the processof maturation and socialization: e.g, sign languages such as theAmerican Sign Language (ASL) and the British Sign Language(BSL);

� natural4 refers to the theory of language built over the languageinstead of the language itself (e.g., Montague).

20 / 31

Page 31: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:

� post-Baconian a-priori universal languages;� Boolean and predicate calculi;� all Turing-complete programming languages;

� unnatural4 comprise:

� Couturat and Leau’s a-posteriori languages such as Esperanto;� Quasi-Natural Languages (QNL) commonly constructed by linguists

by deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 32: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:� post-Baconian a-priori universal languages;

� Boolean and predicate calculi;� all Turing-complete programming languages;

� unnatural4 comprise:

� Couturat and Leau’s a-posteriori languages such as Esperanto;� Quasi-Natural Languages (QNL) commonly constructed by linguists

by deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 33: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:� post-Baconian a-priori universal languages;� Boolean and predicate calculi;

� all Turing-complete programming languages;

� unnatural4 comprise:

� Couturat and Leau’s a-posteriori languages such as Esperanto;� Quasi-Natural Languages (QNL) commonly constructed by linguists

by deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 34: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:� post-Baconian a-priori universal languages;� Boolean and predicate calculi;� all Turing-complete programming languages;

� unnatural4 comprise:

� Couturat and Leau’s a-posteriori languages such as Esperanto;� Quasi-Natural Languages (QNL) commonly constructed by linguists

by deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 35: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:� post-Baconian a-priori universal languages;� Boolean and predicate calculi;� all Turing-complete programming languages;

� unnatural4 comprise:

� Couturat and Leau’s a-posteriori languages such as Esperanto;� Quasi-Natural Languages (QNL) commonly constructed by linguists

by deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 36: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:� post-Baconian a-priori universal languages;� Boolean and predicate calculi;� all Turing-complete programming languages;

� unnatural4 comprise:� Couturat and Leau’s a-posteriori languages such as Esperanto;

� Quasi-Natural Languages (QNL) commonly constructed by linguistsby deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 37: From Universal to Programming Languages

Artificiality as degrees of unnaturality

Following Lyons’ taxonomy, two kind of “artificial” languages can befound:

� unnatural1,2,3 comprise the ones designed by logicians,mathematicians and computer scientists:� post-Baconian a-priori universal languages;� Boolean and predicate calculi;� all Turing-complete programming languages;

� unnatural4 comprise:� Couturat and Leau’s a-posteriori languages such as Esperanto;� Quasi-Natural Languages (QNL) commonly constructed by linguists

by deliberately their changing structural properties for experimentalpurposes.

21 / 31

Page 38: From Universal to Programming Languages

The case-studyof Esperantoin Computer Science

Page 39: From Universal to Programming Languages

The roots of CS and Esperanto

Computer scientists looking for their own roots tend to say that thetheoretical foundations of Computer Science were posed in the sameperiod of the debate launched by Couturat, alongwith the firstreflections on Artificial Intelligence. Two cases:

� in 1915 the Spanish scientist Leonardo Torres y Quevedo – anactive Esperantist – invoked a new science called automatique(French word for ‘automatics’), where an idea of artificialintelligence was proposed;

� Quevedo influenced Norbert Wiener, the founder of Cybernetics,whose father, Levi Wiener, had been a Warsaw Gymnasiumschoolmate of Zamenhof, the founder of Esperanto, and himself anactive Esperantist in the 1930s.

23 / 31

Page 40: From Universal to Programming Languages

The roots of CS and Esperanto

Computer scientists looking for their own roots tend to say that thetheoretical foundations of Computer Science were posed in the sameperiod of the debate launched by Couturat, alongwith the firstreflections on Artificial Intelligence. Two cases:

� in 1915 the Spanish scientist Leonardo Torres y Quevedo – anactive Esperantist – invoked a new science called automatique(French word for ‘automatics’), where an idea of artificialintelligence was proposed;

� Quevedo influenced Norbert Wiener, the founder of Cybernetics,whose father, Levi Wiener, had been a Warsaw Gymnasiumschoolmate of Zamenhof, the founder of Esperanto, and himself anactive Esperantist in the 1930s.

23 / 31

Page 41: From Universal to Programming Languages

Machine translation and Esperanto

One of the pioneers of mechanical translation is the Soviet Unionscientist Petr Petrovich Smirnoff-Troyanskii: in 1933 he obtained aSoviet patent for a mechanical machine for translation. He borrowedthe symbols of parsing from Esperanto. His work remained unknownin the Western countries for many decades.

In a project called Distributed Language Translation (DLT) Esperantoplayed a key role. DLT was succesfully funded by Europe for afeasibility study in the years 1982-3. The engine was programmed inProlog. A prototype was presented in 1987, while English and Frenchwere the natural language involved, the translation engine was basedon Esperanto.

24 / 31

Page 42: From Universal to Programming Languages

ALGOL 60and the need fora ‘Programmer’s Esperanto’

Page 43: From Universal to Programming Languages

A Universal Language of programming?

The situation of computer programmers in the mid-1950s wassomewhat similar to the situation of scientists at internationalcongresses at the turn of the 20th century. The dynamics of the groupof computer scientists working on ALGOL 60 resembles the Esperantomovement at that time.

In 1955, in Darmstadt, computing specialists from various countriesagreed that they needed to communicate more efficiently – sharingcomputer programs between different computers.

In 1957, the American ACM (Association for the ComputingMachinery) and the German GAMM (Gesellschaft fur angewandteMathematik und Mechanik) prepared proposals for a UniversalLanguage of programming.

26 / 31

Page 44: From Universal to Programming Languages

Towards a new Babel of programming languages

This ‘international algebraic language’ should make programmingeasier. The effort eventually led to support ALGOL: in a lecture toundergraduates in 1960, Antonın Svoboda – the Czechoslovakcomputer pioneer – named ALGOL the “Programmer’s Esperanto”, alanguage every programmer should learn.

In 1961 Ginsburg and Rice proved that ALGOL is not an unicum butrather a member of a family of formal, artificial languages. Theircomputational power - equivalent to a universal Turing machine – willbe guaranteed by their description in terms of context-free grammarexpressed via the Backus-Naur normal form.

27 / 31

Page 45: From Universal to Programming Languages

Conclusion

Page 46: From Universal to Programming Languages

A history of failures. . .

The struggle for a perfect, universal language – both in the case ofhumans and machines – is doomed to fail:

� today, the de facto international language is English.

� instead of having one definitive programming language computerprogrammers should choose among thousands.

29 / 31

Page 47: From Universal to Programming Languages

...is not a failure in itself

The story of the search of the perfect language is the story of adream and of a series of failures. Yet that is not to say that thestory of failures must itself be a failure. (Umberto Eco)

Without the dream of the universal language, perhaps side-effectswould not be found.

30 / 31

Page 48: From Universal to Programming Languages

Thank you for your attention!

Questions?

31 / 31