📜 ⬆️ ⬇️

The history of programming languages: how Fortran allowed users to communicate with the computer on "you"



In 2017, Fortran turns 60 years old. During this time, the language has been refined several times. Fortran 90, 95, 2003, and 2008 are considered “modern” versions. If it was originally a high-level programming language with a purely structural paradigm, then in later versions tools for supporting the PLO and parallel programming appeared. Today, Fortran is implemented for most platforms.

Before the advent of the Fortran language, developers programmed using machine code and assembler. A high-level language quickly gained popularity, as it was easy to learn and ensure the generation of efficient executable code. This greatly simplified the life of programmers.
')
In 1950, when John Beckus was 25 years old, he received a master’s degree in mathematics from Columbia University and got a job as a programmer at IBM. Soon, he headed a group developing an interpreter called “Fast Encoder” for the IBM-701 brand computer. He then worked as part of a group to create a more powerful successor to the Model 701, the IBM-704 machine.



In 1953, Bekus came up with a rationalization initiative. He proposed to create a language and a compiler for it, which should have simplified the programming of the IBM-704 model. The system allowed to write programs in algebraic form, and the compiler had to automatically translate it into machine codes.

With this proposal, John Beckus, as they say, was in the right place at the right time. Belatedly entering the market, the company IBM experienced difficulties with increasing sales of their computers. For this reason, she supported computer science research at Columbia, Harvard, and several other universities. In addition, IBM itself was looking for ways to reduce the cost of programming, and also tried to simplify the work with computers in order to make them more attractive, “friendly” for users.

The fact is that at that time mainly scientists, engineers and teachers worked with computers. Computers were used for scientific calculations. However, these people had great difficulty, because they had to use machine codes and assembly language. This required a fairly deep knowledge of the device and the actions of the computer itself.

Therefore, they would certainly agree to learn a high-level language, especially if it resembled their usual algebraic formulas. Such reasoning prompted IBM to develop Fortran.


IBM-704

IBM researchers who created Fortran did not know how important this language would be. When they began work in early 1954, computer science developed spontaneously, and each worked on a whim. This led to the emergence of professional programmers and computer scientists.
One of the managers of the IBM firm decided that chess programmers make good programmers, so he started talking with potential programmer candidates during chess games with one of the IBM employees (who, by the way, was the US chess champion).

Few of the eight people involved in developing Fortran were very familiar with computers. They came from universities and airlines, as well as from IBM’s own programming teams.
Even the head of the Fortran development team, John Beckus, had only a few years of computer experience when he started creating a new programming language.
Before college, Bekus was a mediocre student (“I went through more schools than I can remember”). After serving in the army during the Second World War, he ended up in New York, where he entered a radio engineering school. “The limit of my aspirations was to make a high-quality sound reproducing device,” Beckus later admitted.

However, a teacher in repairing television and radio equipment aroused Bekus's interest in mathematics and persuaded him to continue his studies at Columbia University. So modestly began one of the most fruitful careers in the history of computing technology.
So, the developers, headed by Bekus, are located at the headquarters of IBM at Madison Avenue in New York.

They identified the basic concepts of a new language, in particular, an assignment operator (for example, N = 100), which assigned certain values ​​to variables, entered indexable variables that told the computer which element from the list of variables was needed (for example, X (3) means the third element of the list, named X), they proposed a very important DO operator, which allowed repeating the desired sequence of operators a specified number of times.

As Bekus stated, most people believed that the main contribution of Fortran was the ability to write programs in the form of algebraic formulas, and not in machine language. But actually it is not. In his opinion, Fortran first of all automated the organization of cycles. The importance of this task in the development of scientific applications is difficult to overestimate. Work on the language went quickly.

However, a completely different thing - the development of a compiler. Bekus understood that it was not easy to dispel doubts about the possibilities of “automatic” programming, that is, writing programs in high-level languages. This will happen when programs obtained with Fortran are as fast and reliable as those written in machine codes or in assembly language, he thought.

According to the plan for the development of the compiler was given six months, but the work on it took more than two years.
At the end of 1956 and in 1957, the intensity of work on fine-tuning and debugging the compiler increased dramatically. During this period, group members often rented a room at the nearest hotel, where they slept during the day, working on the machine at night, in order to have as much uninterrupted machine time as possible. The errors were eliminated one by one, and in April 1957 the compiler was ready for use by the owners of the IBM-704 machine.

"Big embarrassment"


By mistake, which Bekus called the “big embarrassment”, the compiler was sent to the Westinghouse-Bettis laboratory in the form of a deck of punched cards and without any instructions; which allowed Emblem Bright from Westinghouse-Bettis laboratory to launch Fortran blindly. The remaining users received a tape system along with an operator’s manual.



One Friday in April 1957, the postman delivered a mysterious package to the computer center of the Westinghouse-Bettis nuclear laboratory near Pittsburgh. Programmer Herb Bright and two colleagues opened a box with no marks on it, and found a stack of about 2 thousand punched cards, without a single instruction.

Looking at the punch cards, Bright recalled that IBM was in the process of final debugging a high-level language intended for use at the IBM-704. Maybe the postman brought exactly this long-awaited compiler? Bright and his friends decided to download the mysterious maps to the computer and see what happens.

Bright put a test program written in Fortran into the reader of the computer and pressed the start button. The new compiler has issued a message to the printer: “on the card number 25 an error was found in the operator - a comma was missing”.

Programmers, accustomed to confusing messages in the form of numeric codes, were amazed at the clarity of this information. Invalid operator corrected and again pressed the start button. Tapes began to rotate, and the computer issued a stack of punched cards of the program. When the cards were loaded into the reader, the printer started working and printed 28 pages without stopping. The computer was only slightly mistaken in the format of the output. “But the numbers were correct! The numbers were correct! ”Bright later exclaimed.



In fact, at about the same time with Fortran, two more high-level languages ​​appeared - Kobol and Algol. Since the end of the 50s, they have long been the leaders in the computer world. Most modern programs are written in languages ​​that are descendants of these three languages.

Spread and Adaptation


But at first, Fortran was taken without much warmth. Programmers, as Bekus recalled, "were very skeptical of all our applications." However, compared to its predecessors, Fortran was relatively easy to learn and use.

In addition, IBM supplied all 704 models with Fortran for free. As a result, by 1958 more than half of all machine commands on 60 computers of the company were not received manually, but “automatically”, using a new high-level language.

Bekus understood that competing manufacturers would also be engaged in the development of high-level languages ​​for their computers. However, Fortran quickly became the norm and it was adapted for various computer models. The first adaptation was carried out by IBM itself. Five years later, Fortran was used on six different models of computers by IBM, as well as on computers by Sperry Rand, Filco, and others.

A small group, which included David Hemmis, in a short time adapted Fortran to an IBM-650 machine, smaller than IBM-704. Hemmis and his colleagues developed the FORTRANSIT system (FOR TRANSIT - for transition); Later, these two words merged into one. Thus, the FORTRANSIT system became the first translator of the original, working on a computer of several models.


David Hemmis is one of the first computer language developers to drive his 1928 car. The photo was taken in Westhampton (NY) during the 1957 car race.

Revision


Nevertheless, the work on the new language had to be continued for a long time: it became clear at the beginning of 1957, when the debugging process continued. Beckus and other developers understood that the language needs a more accurate system for diagnosing software errors. In addition, it was necessary to realize the possibility of separate and independent writing of subroutines and program modules. Thus, the language would have another advantage - code reuse.

Thanks to the efforts of the developers, just a year after the creation of the original, Fortran II appeared. One of the advantages of the new language was that it allowed to insert code fragments in assembler into programs. A later version, Fortran III, was created in 1958. About Fortran IV, which further expanded the capabilities of the language, became known in 1962.

The core of the language, its basic operators and expressions, remained virtually unchanged for many years. But, since Fortran repeatedly adapted to all new systems of machines for which it was not intended, differences gradually accumulated. Some opportunities were lost, new ones appeared. This inevitably caused confusion.

For example, not all compilers have interpreted the most important DO statement in the same way: some have always executed a loop at least once, without checking whether it should be done at all, others have carried out such a check. To bring order to such issues, manufacturers and computer users have agreed to standardize the language.

In 1966, the first standard was named Fortran 66. In 1977, respectively, the standard Fortran 77 was issued. In 1991, the Fortran 90 appeared. Fortran 95 was created in 1997.

Fortran in the USSR


In the Soviet Union, Algol-60 fell to the court more. Therefore, Fortran in this country appeared later. Nevertheless, he gradually came out on top in terms of popularity. Compilers (translators) were developed for the majority of domestic computers - Minsk-32, BESM-4, BESM-6, AS-6, EU computer, SM computer, MV Elbrus and so on.

In IPM them. Keldysh at various times was developed several translators. Two of them - Fortran-Almo and Forshag (Fortran stepper) were written in the Alma language and the code was generated in the same language. This made it possible to install translators on several different types of computers. Both translators implement the Fortran 66 standard.



Forshag also included a dialogue language that allowed the creation, editing, and execution of code translation in interactive mode. In addition, a complex of graphic programs for Fortran-Grafor was developed, which was actively used on various computers.

*****

Fortran to this day remains popular among scientists. This is the first high-level programming language that has a translator that has received practical application and further development. As stated in the IBM manual released in 1957, "Fortran provides an efficient way to create programs for the 704, is easy to learn and does not require deep computer knowledge."

Since then, scientists, engineers and students have been able to communicate with the computer without the help of professional programmers who write in assembler.

However, the next generation of programmers began to treat Fortran as a “fossil”. Edsger Dijkstra, sarcastically noted that teaching students of this language should be equated with a serious crime.

Source: https://habr.com/ru/post/309914/


All Articles