Читать книгу Code Nation - Michael J. Halvorson - Страница 29

3.3High-level languagesHigh-level Languages

Оглавление

Beginning in the 1950s, Hopper, Grace Murray Grace Hopper and her peers began to develop a solution that would make software less costly to produce and programming easier to learn.16 This solution was known to contemporaries as an “automatic programming language” or “autocode” for short. We know it today as the first of many high-level languages—software abstractions with a syntax closer to human language—which hide some of the inner-workings of a computer. Using a high-level language, a programmer can write instructions using recognizable statements and symbols, then use a program known as a Compiler compiler to translate the high-level statements into the machine code required by the underlying computer. Hopper wrote her first compiler between October of 1951 and May of 1952, and it was called the A-0 compiler CompilerA-0 Compiler “A-0 Compiler.”17 This proved that higher level languages were possible and useful, and scientists began designing them in earnest. In the coming years, Hopper’s work became the foundation for the FLOW-MATIC FLOW-MATIC and COBOL COBOL languages.

Figure 3.5Maurice Wilkes and his colleagues work on the EDSAC computer at the University of Cambridge, U.K. Wilkes is in the middle, kneeling and wearing glasses. (Courtesy of the Computer History Museum)

At first, the Compilerhigh-level compilers High-level compilers high-level compilers created machine code that was less efficient than human-generated machine code, but as time passed the compilers improved, and the benefits of high-level abstraction became obvious. For one thing, higher-level languages saved programming time, as software developers could more quickly build a solution if they didn’t have to manage operations inside the computer at a minute level.18 Software became easier to revise and update in future releases, and the code was easier to share among team members. In addition, high-level Cprogramming language language designers could customize their coding systems so that they met the needs of a specific industry or computer application. For example, the language’s instructions, keywords, and data structures could be readily adapted to such tasks as numerical analysis, list processing, artificial intelligence, music, and education.

Soon, there were dozens—even hundreds—of high-level computer languages. A standard task in graduate Computer Science programs became developing new compilers as an exercise to learn advanced language concepts, such as pattern recognition, lexical analysis, code optimization, and object-oriented programming. New computer science textbooks arrived in the 1970s and 1980s to introduce this fundamental skill and its applications.19

The most important early high-level languages were Formula translation (FORTRAN) FORTRAN, COBOL COBOL, Algorithmic Language (ALGOL) ALGOL, BASIC BASIC, Pascal Pascal, and C. A great amount of documentation and books related to these languages and their early supporters is available in print and electronic media, waiting for the historians of computing to assess them. These sources include Founding memoirs “founding memoirs” written by language pioneers, early language specifications and manuals, primers, corporate marketing materials, journal articles written for computing professionals, product reviews, and so on. Overlooked in the study of these languages is the abundant supply of primers or “how-to” computer books written for students, self-taught programmers, and hobbyists who sought to learn programming on their own terms or study together in a classroom or user group setting. Throughout Code Nation, I argue that computer books and magazines are a vital but neglected source of information that will help historians and computer scientists understand how technical ideas and techniques were diffused from inventors and engineers to the general public. These historical sources are just as important as “founding memoirs” for understanding how programming culture took shape in the U.S. Programming primers are in essence the daily newspapers and chapter books of the “PC Revolution”; they contributed significantly to the learn-to-program movement’s propagation across American society.

To open a window on the movement’s origins in the 1950s and 1960s, let’s examine the foundations of Formula translation (FORTRAN) FORTRAN, arguably the most important platform for programming activity in the 1960s. FORTRAN products and publications encouraged new users to experiment with software creation. These computer users were often proficient in science and mathematics but not yet familiar with how computers worked. Once FORTRAN built momentum and established an audience, the learn-to-program movement expanded into other popular languages like COBOL COBOL, BASIC, Logo, and Pascal.

Code Nation

Подняться наверх