Not Pascal alone: ​​what computer Nobel laureate Niklaus Wirth did for the modern world. Niklaus Wirth biography Message on the topic of Niklaus Wirth

The language should be an obvious and natural representation of the fundamental and most important concepts of the algorithms.

Niklaus Wirth

Niklaus Wirth

Niklaus Wirth is primarily known as the creator of the PASCAL programming language. In addition, he has such excellent developments as MODULA-2, OBERON and much, much more.

Niklaus was born on February 15, 1934 in Winterhur (Switzerland). Niklaus' parents are Walter and Hedwig (Köhler) Wirth. He married Nani Tucker and they have three children: daughters Carolyn and Tina, and son Christian. Wirth is a pleasant and good-natured person who looks younger than his age. He spends his free time with his family, often hiking in the rolling hills of northern Switzerland.

Wirth plunged into the field of computer science in 1960, when it was not given due attention either in commercial advertising or in academic curricula. Nicklaus says: "...During my studies at the Swiss State Institute of Technology, the only mention of computers that I heard was in an elective course taught by Ambrose Speiser, who later became president of IFIP. The computer he developed, ERMETH, was not accessible to ordinary students, and therefore my dedication computer science was put on hold until I took a course in numerical analysis at the University of Laval in Canada, when it became obvious to me that programming future computers had to be more efficient, so I learned not to design hardware first, but to design it correctly and elegantly use it."

Wirth joined the team involved in developing - or rather, refining - a compiler and language for the IBM-704 computer. This language was called NELIAC and was a dialect of the ALGOL-58 language.

From that moment on, Niklaus' adventures in the field of programming languages ​​began. The first experiment led to a dissertation and a language called EULER, which turned out to be academically elegant but of little practical value - it was almost the antithesis of later languages ​​with data types and structured programming. But the language laid the foundation for the systematic development of compilers, allowing them to be extended to include new features without loss of clarity.

An outstanding stage in Wirth's career began at Stanford University, where he worked as an associate professor of computer science in the newly created department. computer technology from 1963 to 1967. EULER language has attracted attention working group International Federation for Information Processing (IFIP), which was involved in drawing up plans for the future of ALGOL.

Now we can say that Wirth's work on the PASCAL language began precisely then, in 1965, when IFIP invited him to take part in the development of a new language that was supposed to be the successor to ALGOL-60. The developers split into two directions, and Wirth ended up in the one that followed the path of expanding ALGOL. In 1966, a language called ALGOL-W was created at Stanford University.

From the fall of 1967 to 1968, when Wirth returned to Switzerland and served as an associate professor at the University of Zurich, freed from his obligations to IFIP, he developed the successor language to ALGOL-W. Wirth named the language PASCAL, after the 17th-century French mathematician and physicist Blaise Pascal, who built a computer in 1642 to help his father with his tax collection work. "Also, the word 'PASCAL' sounds quite melodic," says Wirth. The PASCAL language was originally developed as a language for teaching, but its functions were not limited to this. In 1972, PASCAL began to be used in programming classes at the Swiss State Institute of Technology. Nicklaus completed his work on the language in 1974, creating a high-quality compiler, and PASCAL received true recognition after Ken Bowles developed P-code for microcomputers, which made it possible to use PASCAL on new machines of various configurations.

After that, he switched his attention to studying multiprogramming, which resulted in the MODULA language, intended mainly for programming specialized systems, including minicomputers. The basis for the new language was “Parallel PASCAL”, which applied the principle of modular organization of program complexes, allowing the programmer to “hide” certain parts of programs. The original version of MODULA-1 "was never considered as a full-fledged programming language," Wirth emphasizes. MODULA-2, aimed at personal computers, became the modular programming language.

During these years, Wirth's work was related to the design personal computer"Lilith" and using the MODULA-2 language.

OBERON is another programming language created by Dr. Wirth in 1987 and named after the moon of Uranus - OBERON, discovered by Voyager in 1977.

When creating all his programming languages, Wirth adhered to the principle: “Entities should not be multiplied unnecessarily,” which was called “Occam’s razor.” In the OBERON language, this principle is implemented especially clearly. OBERON became a continuation of the line of languages ​​ALGOL-60, PASCAL, MODULA-2. OBERON is based on the MODULA-2 language, however, unlike PASCAL and MODULA-2, it is a combination of a programming language and an operating system “for an individual personal workstation user.” Surprisingly simple and even ascetic, OBERON is perhaps the minimum high-level language.

The work continued there in Zurich, where Wirth was already a professor of computer science from 1968 to 1975. At the same time, starting in 1968, Dr. Niklaus Wirth became a professor of computer science at the Federal Institute of Technology Zurich in Switzerland, where he continues to hold this title to this day and continues active research in the field of programming languages.

Wirth's talent as a developer of programming languages ​​is complemented by his gift as a writer. In the April 1971 issue of the journal Communications of the ASM, Wirth published a seminal article on the top-down method of program design (“Program Development by Incremental Improvement”), which formulated the principles of top-down program construction (with sequential refinement of its fragments). The resulting elegant and powerful design method remains relevant today. His two other articles, "On the Discipline of Real-Time Programming" and "What We Can Do with Optional Notational Variety," published in the same journal, address the problem of finding an adequate language formalism.

Wirth has written several books on programming topics: Algorithms and Data Structures, Programming with OBERON, PASCAL User's Guide and Reference, and The Digital Operations Project.

Currently, Dr. Wirth, together with three other colleagues, is working on computer-aided design of computer hardware.

All of Dr. Wirth's works have made major contributions to computer science. PASCAL made programming languages ​​easier to use and learn, and computers more accessible to the masses. His projects, from EULER to OBERON, sought to simplify and break down the barriers between hardware and software, making programming languages ​​easier to use.

Of course, there are many other computer programming languages ​​known besides PASCAL, OBERON or MODULA-2, but Wirth’s contribution to the creation and development of programming languages ​​is very significant.

For his many contributions to computer science, Dr. Niklaus Wirth has received numerous awards and honors. The American Council of Masters awarded him the title of Associate Member; Computer Society of the Institute of Electronics and Radio Engineering - the title of computer pioneer; he received the IBM European Science and Technology Prize; became a member of the Swiss Academy of Engineering and a foreign partner of the American Academy of Engineering, and also received the Order "Pur le merte" and the Turing Award. Wirth received honorary doctorates from many universities: Laval University, Quebec (Canada), University of California, Berkeley, York University (England), Kepler Line University (Austria), Novosibirsk University (Russia), Open University of England, University of Pretoria (Southern Africa).

From the book Medieval France author Polo de Beaulieu Marie-Anne

From the book Everyday Life in Europe in the Year 1000 by Ponnon Edmond

Education of “vulgar tongues” After Latin language Even in ancient times, it supplanted various Italian dialects; it also began to take root in conquered Gaul and Spain. Of course, this was not the language of Cicero, Titus Livy and Seneca. In the language that we find in

From the book of Molotov. Semi-power overlord author Chuev Felix Ivanovich

Knowledge of languages ​​Molotov says he does not know foreign languages. However, he reads Maupassant in French, Kautsky in German... I remember from childhood that the newspapers wrote how he corrected a translator at the UN who translated inaccurately from English. He said that he learned languages ​​in

From the book Prison Notebooks [Favorites] by Gramsci Antonio

INTERTRALANABILITY OF SCIENTIFIC AND PHILOSOPHICAL LANGUAGES In 1921, regarding organizational issues, Vilichi wrote or said (approximately) this way: we have not been able to “translate” our language into European languages. It is necessary to resolve the following question: is the intertranslatability of different

From the book Secrets of Belarusian History. author Deruzhinsky Vadim Vladimirovich

About changing languages. It seems to me that today the bearers of the ancient heritage of their ancestors themselves are confused - we are talking about the Yatvingians or the Prussians. Plus there is also the Labor language, which may well turn out to be the Prussian language. Although recently in one television program about laboratories the opinion was expressed that,

From book New theory the origin of man and his degeneration author Moshkov Valentin Alexandrovich

30. ORIGIN OF LANGUAGES Damage to sounds due to defects of the speech organs. The diversity of languages ​​comes from the diversity of settlement methods and its diversity at different times. Asian Aryans moved out of Europe relatively recently. The origin of the many languages ​​that we

From the book From Mystery to Knowledge author Kondratov Alexander Mikhailovich

Where was the cradle of languages? The Malay-Indonesian, or Austronesian, family of languages ​​is unrelated to other families in the world. True, facts have recently been obtained indicating that in ancient times, about 9 thousand years ago, this family formed together with

From the book History of Russian Literature of the 19th Century. Part 2. 1840-1860 author Prokofieva Natalya Nikolaevna

author

From the book Slavic Encyclopedia author Artemov Vladislav Vladimirovich

From the book Roads of Millennia author Drachuk Viktor Semenovich

An island of different languages ​​In the third and second millennia BC, a vibrant, highly developed culture existed on the islands of the Aegean Sea, in western Asia Minor, in Greece and on the island of Crete. Numerous traces of it are still found today. The largest archaeological

From book Short story Slavs author Taevsky D A

Hierarchy of Slavic languages ​​Illyrian language Albanian language Gegian dialects o Tosk dialect Latin (Romance group of languages) Balkan-Romance subgroup (romana comuna) o Aromanian (Aromanian) language? Northern zone Farsherot dialect Moskopol dialect

From the book of Vagriya. Varangians of Rus' Yar: an essay on depoliticized historiography author Chudinov Valery Alekseevich

PROXIMITY OF LANGUAGES “Teeth”, or The Beginning of a Chain of Strange Coincidences The teacher was the first to draw my attention to the presence of “oddities” in English Peoples' Friendship University of Russia, Kazakh by nationality Uldanai Bakhtikireeva, who was very surprised

From the book Architects of the Computer World author Chasttikov Arkady

Alexey Andreevich Lyapunov Author of the first notations of programming languages ​​There are a number of ways to describe the structure of algorithms: Turing machines, Post products, normal Markov algorithms, recursions, etc. However, these methods are inconvenient for the interests of cybernetics. General

From the book Complete Works. Volume 8. September 1903 - September 1904 author Lenin Vladimir Ilyich

e) Incident with the equality of languages ​​Let us return to the order of the meetings of the congress. We are now convinced that even before moving on to the discussion of substantive issues at the congress, not only a completely definite group of anti-Iskraists (8 votes) was clearly revealed, but also a group of intermediate ones,

From book The World History in sayings and quotes author Dushenko Konstantin Vasilievich

Some believe that the modern world hardly knows Niklaus Wirth and is not even aware of his enormous contribution to world computer science. Some consider him the “father of Pascal.” Wirth is remembered not only by teachers at universities when they teach Turbo Pascal to students, but also by commercial developers writing in Delphi.

In fact, Niklaus Wirth is an engineer with a capital “E”; his contribution to the development of programming languages ​​is not limited to Pascal, but only begins with it. In addition, Wirth is a teacher, public figure and, one might say, a philosopher. Let's try to assess the real scale of his personality and contribution to the IT industry.

Childhood, education, hobbies

Niklaus Wirth was born on February 15, 1934 in the small town of Winterthur, on the outskirts of Zurich. His parents are Walter and Hedwig Wirth. Nicklaus's father was a school teacher. He lived near the school where his father taught. Their house had a good library, where Wirth found many interesting books about railways, turbines and telegraph.

Winterthur has a long history and is famous for its mechanical engineering: locomotives and diesel engines. Since childhood, Wirth was interested in technology, especially aircraft modeling. To launch rockets, it was necessary to obtain fuel, and so he took up chemistry. Young Wirt set up a “secret” laboratory in the school basement. Nothing could stop him: one day the model he made deviated from the given trajectory and landed under the feet of the school principal. However, Wirth still continued to stubbornly pursue his goal.

The hobby turned out to be so serious that Wirth even built more than a dozen models based on his own drawings. By the way, he later took up real flying and carried this hobby throughout his life. Even at a very advanced age, the creator of the popular programming language did not deny himself the pleasure of flying a jet fighter.

When he turned 18, he and two other Zurich aircraft modelers ordered the desired radio equipment from England. This predetermined his future fate - in 1954, Wirth entered the Faculty of Electronics at ETH Zurich (Eidgenoessische Technische Hochschule - Swiss Federal Institute of Technology). After four years of study, Wirth received a bachelor's degree in electrical engineering. And then begins a glorious ten-year overseas scientific “tour” of the future “Father Pascal” and “King of Compilers” along the route Switzerland – Canada – USA – Switzerland.

Wirth continued his studies at the University of Laval in Quebec (Canada), where he received a master's degree in 1960. Then he was invited to the University of California at Berkeley (USA) - the future pearl of Silicon Valley. There, under the guidance of Professor Husky, in 1963 Niklaus Wirth defended his dissertation on the development of Algol using Lisp (Euler).

A start to life

This work literally gave him a start in life: Virt was noticed by the masters of programming and invited to the IFIP Committee on Algol Standardization.

The Ministry has set the task of developing a unified programming language for control systems for automated complexes operating in real time. This meant, first of all, on-board control systems for military facilities. The language is named after mathematician Ada Lovelace.

The story repeated itself with ALGOL-68 - the project of the group in which Wirth and Hoare worked was not approved by the language committee. Charles Hoar and Niklaus Wirth dropped out of the competition after the first stage. The competition was won by a project based on Pascal, but much more complex and voluminous.

Hoar lamented that "bells and whistles have taken precedence over the fundamental requirements of reliability and safety" and warned against "an armada of missiles going the wrong way because of an undetected bug in the Ada compiler."

Niklaus Wirth spoke more restrainedly, but also negatively. He said: “Too much is thrown at the programmer. I don't think you can work properly after learning a third of Ada. If you do not master all the details of the language, then in the future you may stumble over them, and this will lead to unpleasant consequences».

Jean Ishbia, head of the Ada development team, while expressing his “respect and admiration” for Wirth, disagreed, saying: “Wirth believes in simple solutions to complex problems. I don't believe in such miracles. Complex problems require complex solutions.”

Oberon

In 1988, in collaboration with Jürg Gutknecht, Wirth developed the Oberon programming language. The goal of the development was to create a language for implementing the system software of the new workstation being designed. The basis for Oberon was Modula-2, which was significantly simplified, but at the same time supplemented with new capabilities.


Jurg Gutknecht

Niklaus Wirth and his colleagues developed the first version of the Oberon system, a machine, an Oberon language compiler, and an operating system, System Oberon, which had a graphical user interface, advanced concepts for using text in the interface, and generally provided tangible evidence of the applicability of Wirth's concepts.

As already written on Habr, in Oberon, a module is not only a means of structuring algorithms and data structures, but also a unit of compilation, loading and distribution. That is, a module is the minimum entity that a compiler can compile. Dependencies of one module on other modules are calculated automatically, but do not result in code from one module being included in another. Only the identifiers of the imported entities and the dependency hashcode are included for code version control.

A module is a loading unit, that is, except in special cases, the module code is a complete program that has an entry point and can run indefinitely. That is, a full-fledged program. Even the OS kernel is just the first module loaded into memory. The module also assumes that it will be distributed not only in the form of a source code, but also in the form of a binary, as well as in the form of an interface part, and to run it only a certain platform or several platforms will be required. In general, these concepts are included in the concept of modularity in Oberon and constitute module-oriented programming.

In 1992, Wirth and Mössenböck released a report on a new programming language, Oberon 2, a minimally expanded version of Oberon. In the same year it was formed subsidiary ETH - Oberon microsystems, which began developing Oberon systems. Wirth became one of the members of its board of directors. In 1999, this company released the next version of Oberon - Component Pascal, more suitable for component programming.

Oberon served as the direct ancestor of the parallel programming language (Active Oberon), various modifications of the Oberon language for other execution environments (Component Pascal, Zonnon), was implemented on several platforms (JVM, CLR, JS), and served as the prototype of the Java language. The Oberon system itself served as the prototype for the Microsoft Singularity project.

As you know, the emergence of the Java virtual (abstract) machine was presented by its developers from Sun Labs as perhaps a fundamental discovery in the practice of programming languages.

One of Wirth's students, Michael Franz, noted the following about this: “Java's portability is based on the presence of a virtual machine that makes it easy to simulate a large number of architectures. The idea of ​​a virtual machine was very popular more than twenty years ago, although it was subsequently forgotten. Then we were talking about Pascal-P, an implementation of Pascal created at ETH, which played a decisive role in the spread of this language. Interestingly, the virtual machines for Pascal and Java are quite similar in architecture."

On the threshold of the 2000s

“Now let’s discuss the characteristics of the “most modern, most object-oriented and very simple” Java language,” wrote Sergei Sverdlov.
Java not only cannot be considered simple, but is one of the most complex languages, more complex than C++ and twice as complex as Oberon.

But maybe the comparison with the same Oberon is incorrect? After all, Java is probably still a richer language than this Oberon of yours? Nothing like this! Java has only two significant things that Oberon doesn't have: built-in multithreading and exception handling. The advisability of including parallel programming tools directly into the language is questioned by many experts. This could be resolved at the library level. In addition, the mechanism implemented in Java is by no means the most successful solution.



Comparing the scope of syntax between languages
The total number of lexemes in a language syntax description can serve as a general characteristic of the size of this description.

But in little Oberon there are both full-fledged records (objects) and normal multidimensional arrays, and not just pointers to them. Oberon also has the usual zero-terminated strings, which are simply arrays of characters, not objects at all, and therefore do not require special means for manipulation.
Contrary to propaganda, Java contains little that is truly new. The same concept of a virtual machine is the first thing that comes to mind when thinking about multi-platform. Twenty-five years ago this was a successful and fresh decision.


This opinion was expressed more than 15 years ago, when such disputes were relevant. Let's leave the question of how much better or worse Java has become in this regard now.

Pedagogical and social activities

From 1963 to 1967, Wirth worked as an assistant professor at Stanford University and in 1967 returned with this rank to the University of Zurich. And in 1968, he received the title of professor of computer science at ETH and began to build his “Swiss” Stanford in his homeland.

The twenties from 1969 to 1989 were perhaps the most fruitful period in Wirth's life. He continued to build his school, devoting a lot of time to organizational activities.

Material from Wikipedia - the free encyclopedia

(German Niklaus Wirth, born February 15, 1934) - Swiss scientist, specialist in the field of computer science, one of the most famous theorists in the field of programming language development, professor of computer science (ETH), winner of the 1984 Turing Award. Leading developer of languages ​​Pascal, Modula-2, Oberon.

Biography

Niklaus Wirth was born on February 15, 1934 in Winterthur, on the outskirts of Zurich (Switzerland). Parents: Walter and Hedwig Wirth. Nicklaus's father was a school teacher.

As a child, Niklaus Wirth was interested in aircraft modeling and building rockets; his passion for electronics and program control systems began with the development of devices remote control for models. In 1954 he entered the Faculty of Electronics at the Swiss Federal Institute of Technology (ETH) in Zurich, where he received a bachelor's degree in electrical engineering in four years. He continued his studies at the University of Laval (Quebec, Canada), and received a master's degree in 1960. Then he was invited to the University of California at Berkeley (USA), where in 1963, under the guidance of Professor Husky, he defended his dissertation, the topic of which was the Euler programming language - an extension of Algol using the Lisp language.

Wirth's dissertation was noticed by the community of programming language developers, and in the same 1963 he was invited to the IFIP (International Federation of Informatics) Algol Standardization Committee, which developed new standard Algol language, which later became ALGOL-68. Together with Charles Hoare, Wirth advocated in the committee the development of a moderately modified version of Algol, free from the shortcomings of the original language and supplemented with a minimum of truly necessary tools. Wirth and Hoar presented the Algol-W language (W for Wirth), which was just such a reworking of Algol, to the committee, but it did not receive support. At the conclusion of the committee's work in 1968, Wirth was among those who criticized ALGOL-68, speaking of its lack of reliability and extreme redundancy. In parallel, from 1963 to 1967, Wirth worked as an assistant at Stanford University, USA. Together with Jim Wales, he developed and implemented the PL/360 language, intended for programming on the IBM/360 platform - an algol-like language into which a number of system-dependent features related to the IBM/360 architecture were introduced.

In 1967 he returned with the rank of associate professor at the University of Zurich, and in 1968 he received the title of professor of computer science at ETH. He worked at ETH for 31 years. I worked a lot organizational activities, improving the teaching system of their university.

In 1970 he created the Pascal programming language. In the 1970s, he developed, together with C. Hoare and E. Dijkstra, the technology of structured programming. Wirth's 1971 article, “Program Development by Incremental Refinement,” described and substantiated the now classic top-down software development methodology. To transfer the Pascal system to various computing platforms, in 1973, with the participation of Wirth, a prototype of a virtual machine was developed that would execute an intermediate “pi-code” on any platform, into which all programs were supposed to be compiled.

In 1975, he developed the Modula language, in which he implemented the ideas of developing modular programs with well-defined intermodular interfaces and parallel programming. In addition, the language syntax was changed in the Module - Wirth got rid of the need, inherited from Algol-60, to use compound operators in branching structures and loops. The module was not widely known and had only one experimental implementation, but its modified version - Modula-2, the development of which began in 1977 and ended in 1980, designed to implement the system software of the Lilith system developed at ETH - a 16-bit personal computer, became known and quite popular, although it has not surpassed Pascal in popularity [source not specified 1091 days], especially its commercial implementations. The Lilith system was ahead of the trends in the computer industry by several years; Wirth later regretted that by not realizing the potential of this system, the Swiss computer industry missed its historical chance. The development of Modula-2 was the Modula-3 language, developed jointly by DEC and Olivetti; Wirth did not take part in its creation.

In the second half of the 1970s, Wirth participated in a US Department of Defense competition to develop a new language for programming embedded systems, which resulted in the creation of the Ada language. The story repeated itself with ALGOL-68 - the project of the group in which Wirth and Hoare worked was not approved by the language committee. As a result, the competition was won by a project based on Pascal, but much more complex and voluminous.

From 1982 to 1984 and from 1988 to 1990, Wirth headed the Faculty of Computer Science at ETH, and since 1990, the Institute of Computer Systems at ETH.

In 1988, in collaboration with Jurg Gutknecht, Wirth developed the Oberon programming language. The goal of the development was to create a language for implementing the system software of the new workstation being designed. The basis for Oberon was Modula-2, which was significantly simplified, but at the same time supplemented with new capabilities.

In 1992, Wirth and Mössenböck released a report on a new programming language, Oberon 2, a minimally expanded version of Oberon. In the same year, a subsidiary of ETH, Oberon microsystems, was formed, which began developing Oberon systems. Wirth became one of the members of its board of directors. In 1999, this company released the next version of Oberon - Component Pascal, more suitable for component programming. In 1996, Wirth developed another original programming language, Lola, a simple learning language for formally describing and simulating digital electrical circuits.

On April 1, 1999, Wirth retired, having reached the age limit for a civil servant in Switzerland (ETH is a state university, its employees are civil servants and their work is subject to the relevant legislation).

June 19, 2007 By resolution of the Presidium Russian Academy Sciences No. 141 Wirth was awarded the academic degree of Doctor honoris causa (as nominated by the Department of Information Technologies and Computing Systems). The initiator of the presentation was the Russian scientist in the field of IT technologies Igor Shagaev, a professor at London Metropolitan University, who collaborated with Niklaus Wirth in 2005-2008 on the European ONBASS project.

Member of national academies: Swiss Academy of Engineering (Switzerland), U.S. Academy of Engineering (USA), Berlin-Brandenburg Academy (Germany).
[edit] Prizes and awards
IEEE Emanuel Piore Award (1983)
ACM Turing Award (1984)
ACM Award for Outstanding Contributions to Computer Science Education (1987, 1989)
IEEE Computer Pioneer (1988)
Prix ​​Max Petitpierre (1989)
IBM Europe Science and Technology Prize (1989)
Marcel Benoit Prize (1990)
Orden Pour le Merite (1996)
Leonardo da Vinci Medal (1999)
ACM Outstanding Research Award in Software Engineering (1999).

Achievements

Wirth developed or participated in the development of programming languages: Euler, Algol-W, PL/360, Pascal, Modula-2, Oberon, Oberon-2, Component Pascal. His most famous development is, of course, the Pascal programming language, which had a huge influence on several generations of programmers and became the basis for the creation of a large number of programming languages. Another fundamental work in which Wirth became a participant was the development of structured programming technology, which became, of course, the most powerful formalization in programming at least in the 1970s - 1980s. This technology was developed, validated and implemented by just three outstanding people - Wirth, Dijkstra and Hoare.

Commentators have repeatedly noted that Wirth's ideas were often years ahead of the development of the computer industry, sometimes decades. The Pascal-P system, developed in the early 1970s, involves the compilation of Pascal programs into a universal “pi-code” and implementation on any platform of a pi-code interpreter (one of its famous implementations is UCSD-Pascal of the University of San Diego), which allowed to port Pascal systems to new hardware platforms with minimal costs, was more than two decades ahead of the ideas of an intermediate code interpreter implemented in systems that support the execution of programs in the Java language and in the .NET platform. The idea of ​​combining a programming system with a garbage collector, freeing the programmer from the need to track the lifetime of objects dynamically allocated in memory, was implemented in 1988 in the Oberon language and operating system. Both of these ideas were used by Java and .NET developers in the second half of the 1990s.
[edit] Scientific principles

Perhaps one of the most accurate expressions of the principles that Wirth adheres to in the development of all his projects is Einstein’s phrase in the epigraph to the “Message on the Oberon Language”: “Make it as simple as possible, but not simpler than that.” In all his works, one can trace his initial focus on implementing the most effective solution to a specific engineering problem on the basis of guaranteed working, mathematically based tools. Wirth firmly believes that programming should be a normal engineering discipline that guarantees a sufficient level of reliability of its developments. Achieving reliability is possible, according to Wirth, in only one way: by maximally simplifying both the systems themselves and the tools that are used to create them. In accordance with this principle, the languages ​​and programming systems developed by Wirth have always been an example of “reasonable sufficiency,” even a kind of asceticism - they provided only for what cannot be done without.

Even the expansion of existing languages ​​and systems has always been accompanied by simplification. According to calculations published in Sergei Sverdlov’s article “Arithmetic of Syntax”, the “Wirth line”, as he called it - a line of languages ​​including Pascal, Modula-2, Oberon and Oberon2 - is the only example of a “genetic line” of descendant languages ​​of Algol-60 , in which the complexity of the language, defined as the number of lexemes in its description, has steadily decreased and is currently lower than that of its common “progenitor” - ALGOL-60. All languages ​​of the “Wirth line” are simpler than Algol-60, and each subsequent language in this line is simpler than the previous one. At the same time, Ada is more than twice as complex as its predecessor - Pascal, C++ is approximately 1.7 times more complex than C, and in the Pascal - Turbo Pascal line of different versions - Object Pascal, the complexity is constantly growing from version to version.

Wirth often criticizes the “American approach” to the development of programming tools, in which marketing considerations prevail over the requirements of mathematical harmony and guaranteed reliability, and each new fashionable fad is accompanied by the uncritical introduction of new syntactic elements into programming languages. This leads to an incorrect assessment of the role of some ideas and, ultimately, to incorrect prioritization in software development. In particular, speaking about OOP, Wirth repeatedly noted that it is a rather trivial extension of the same structural approach, flavored with new terminology, and can hardly claim the title of “revolutionary programming methodology.” Wirth famously made a snide remark about the American habit of anthropocentrism in terminology: “They call extensions of the type ‘inheritance,’ but, in fact, inheritance usually passes to a descendant only when the ancestor dies.”

Another principle that always guided Wirth can be formulated as follows: “The tool must match the task. If a tool doesn’t fit the task, you need to come up with a new one that would fit it, rather than trying to adapt an existing one.” He does not welcome the development of “languages ​​that are universal in general.” Each system developed by Wirth had a clearly formulated purpose, scope, and he always, without hesitation, excluded from the development everything that was not needed for this specific purpose. Here, however, it is necessary to clarify: the “specific purpose” of, for example, Oberon includes ensuring extremely easy and safe extensibility of the system, therefore, not being a “universal language in general”, that is, not including all possible means for every imaginable application, Oberon is still universal - “universal through extensibility.”

Niklaus Emil Wirth was born in 1934 in the Swiss city of Winterthur (Switzerland). It is known that his father worked as a school teacher, and Niklaus himself was fond of aircraft modeling since childhood. It was this passion that later led him to become interested in electronics and program control systems.

In 1954, Wirth became a student in the electronics department at the Swiss Federal Institute of Technology Zürich, where he received his bachelor's degree in electrical engineering. This was followed by studies at the University of Laval in Quebec, Canada (Université Laval, Canada), from which Wirth received a master's degree in 1960.



Wirth received his PhD in electrical engineering and computer science from the University of California at Berkeley (USA); within the walls of this particular educational institution he defended his dissertation in 1963, written under the guidance of the famous professor Harry Huskey, a pioneer graphic design. His dissertation was noticed in the interested world, and Wirth was invited to the Algol standardization committee of the International Federation for Information Processing (IFIP); The committee was just working on developing a new standard for the ALGOL language, which later became known as ALGOL-68. Wirth's version was an improved language, the so-called Algol-W, but his developments were not accepted.

From 1963 to 1967, Nicklaus simultaneously worked as an assistant professor at Stanford University, followed by work at the University of Zurich. It is known that in addition to scientific research itself, Wirth made a lot of efforts to improve the educational system at the university.

In 1970, Wirth developed the Pascal programming language, in 1975 he developed the Modula language, and in the late 1970s, Niklaus Wirth took part in a US Department of Defense competition, becoming one of the developers of a new language for programming embedded systems, which became known as the language of Hell. His project, however, was not accepted, as was the case with the Algol language in the 1960s.

In the 1980s, Wirth headed the Zurich Technical High School (Eidgenössische Technische Hochschule, ETH), and since 1990 he worked at the university created at the same time. educational institution Institute of Computer Systems.

In the 1990s, Wirth participated in the development of the Oberon-2 language, a slightly expanded version of Oberon.

In the spring of 1999, Niklaus Wirth retired at 65 years old. By this time, he was one of the world's respected developers, having worked on at least eight programming languages, and he was also the developer of structured programming technology.

Best of the day

34 years to find a missing girl
Visited:548

Niklaus Wirth was born on February 15, 1934 in the small town of Winterthur, on the outskirts of Zurich (Switzerland). Niklaus was born into the family of Walter and Hedwig Wirth. He lived near the school where his father taught. Their house had a good library, where Wirth found many interesting books about railways, turbines and telegraphs.

The small town of Winterthur has a long history and is famous for its mechanical engineering: locomotives and diesel engines are produced there. Since childhood, Wirth was interested in technology, especially aircraft modeling. He literally dreamed of the sky. But to launch rockets it was necessary to obtain fuel, and so he took up chemistry. Young Wirt set up a “secret” laboratory in the school basement.

His passion for electronics and program control systems began with the development of remote control devices for models. In 1954 he entered the Faculty of Electronics at the Swiss Federal Institute of Technology (ETH) in Zurich, where he received a bachelor's degree in electrical engineering in four years. He continued his studies at the University of Laval (Quebec, Canada), and received a master's degree in 1960. Then he was invited to the University of California at Berkeley (USA), where in 1963, under the guidance of Professor Husky, he defended his dissertation, the topic of which was the Euler programming language - an extension of Algol using the Lisp language.

Wirth's thesis was noticed by the community of programming language developers, and in the same 1963 he was invited to the Algol Standardization Committee of the IFIP (International Federation of Informatics), which was developing a new standard for the Algol language, which later became ALGOL-68. Together with Charles Hoare, Wirth advocated in the committee the development of a moderately modified version of Algol, free from the shortcomings of the original language and supplemented with a minimum of truly necessary tools. Wirth and Hoar presented the ALGOL-W language (W for Wirth), which was just such a reworking of Algol, to the committee, but they did not receive support. At the conclusion of the committee's work in 1968, Wirth was among those who criticized ALGOL-68, speaking of its lack of reliability and extreme redundancy. At the same time, from 1963 to 1967, Wirth worked as an assistant at Stanford University (USA). Together with Jim Wales, he developed and implemented the PL/360 language, intended for programming on the IBM/360 platform - an algol-like language that introduced a number of system-dependent features related to the IBM/360 architecture.

In 1967 he returned with the rank of associate professor at the University of Zurich, and in 1968 he received the title of professor of computer science. He worked at ETH for 31 years. He was involved in a lot of organizational activities, improving the teaching system of his university.

In 1970 he created the Pascal programming language. In the 1970s, he developed, together with Hoare and Dijkstra, structured programming technology. Wirth's 1971 article, “Program Development by Incremental Refinement,” described and substantiated the now classic top-down software development methodology. To transfer the Pascal system to various computing platforms, in 1973, with the participation of Wirth, a prototype of a virtual machine was developed that would execute intermediate “P-code” (P for Pascal) on any platform, into which all programs were supposed to be compiled.

In 1975, he developed the Modula language, in which he implemented the ideas of developing modular programs with well-defined intermodular interfaces and parallel programming. In addition, the language syntax was changed in the Module - Wirth got rid of the need to use compound operators in branching structures and loops. The module was not widely known and had only one experimental implementation, but its modified version - Modula-2, the development of which began in 1977 and ended in 1980, intended to implement the system software of the Lilith system being developed at ETH - a 16-bit personal computer, became famous and quite popular, although it did not surpass Pascal in popularity, especially its commercial implementations. The Lilith system was ahead of the trends in the computer industry by several years; Wirth later said with regret that by not realizing the potential of this system, the Swiss computer industry missed its historical chance.

For the Lilith project and the Modula-2 language, Wirth was awarded the Alan Turing Award in 1984. The Alan Turing Award is an analogue of the Nobel Prize in computer science, it was established back in 1966 and is awarded annually by the Association for Computing Machinery for outstanding achievements in the field of computer science.

In the second half of the 1970s, Wirth participated in a US Department of Defense competition to develop a new language for programming embedded systems, which resulted in the creation of the Ada language. The story repeated itself with ALGOL-68 - the project of the group in which Wirth and Hoare worked was not approved by the language committee. As a result, the competition was won by a project based on Pascal, but much more complex and voluminous.

From 1982 to 1984 and from 1988 to 1990, Wirth headed the Faculty of Computer Science at ETH, and since 1990, the Institute of Computer Systems at ETH.

In 1988, in collaboration with Jürg Gutknecht, Wirth developed the Oberon programming language. The goal of the development was to create a language for implementing the system software of the new workstation being designed. The basis for Oberon was Modula-2, which was significantly simplified, but at the same time supplemented with new capabilities.

In 1992, Wirth and Mössenböck released a report on a new programming language, Oberon 2, a minimally expanded version of Oberon. In the same year, a subsidiary of ETH, Oberonmicrosystems, was formed, which began developing Oberon systems.

Wirth became one of the members of its board of directors. In 1999, this company released the next version of Oberon - Component Pascal, more suitable for component programming. In 1996, Wirth developed another original programming language, Lola, a simple learning language for formally describing and simulating digital electrical circuits.

On April 1, 1999, Wirth retired, having reached the age limit for a civil servant in Switzerland of 65 years.

On June 19, 2007, Wirth was awarded an honorary doctorate from the Russian Academy of Sciences. The initiator of the presentation was Russian computer scientist Igor Shagaev, a professor at London Metropolitan University, who is associated with Niklaus Wirth through joint work in 2005–2008 on the European ONBASS project.

Niklaus Wirth is a member of the national academies: SwissAcademyofEngineering (Switzerland), U.S. AcademyofEngineering (USA), Berlin-BrandenburgAcademy (Germany).

Wirth always strived for harmony, an organic unity of hardware and software components, and his perseverance and talent undoubtedly made an invaluable contribution to the development of computer science.

If you find an error, please select a piece of text and press Ctrl+Enter.