esc
Type to search, or take a leap:
1957 AD (FORTRAN)·Computing·verified

Programming languages

Notations that let a person write instructions in something close to human algebra or English, which a translator program — a compiler — turns into the raw numeric machine code the processor actually runs. They put a layer of human-readable abstraction between the programmer and the bare machine.

El archivo profundo está escrito en inglés por ahora; las traducciones verificadas forman parte de la hoja de ruta. La función de traducción de tu navegador funciona bien en esta página.

Programming languages
Tangopaso. · Public domain · Wikimedia Commons

✦ Espera, ¿en serio?

The word "bug" for a computer fault has a literal specimen behind it. On 9 September 1947 operators of Harvard's Mark II relay computer found a moth jammed in a relay, taped it into the logbook, and wrote "First actual case of bug being found." Grace Hopper — who a few years later built the first compiler, the A-0 system of 1952, that let a machine translate human-written symbols into its own code — loved to retell the story. The moth is still preserved at the Smithsonian.

Qué es

A programming language is a notation for expressing computation that people can read and write, paired with a translator that converts it into the numeric instructions a processor executes. Instead of writing the literal opcodes a machine understands — long strings of numbers specifying registers and addresses — you write `AREA = PI * R**2`, and a compiler works out the exact sequence of machine instructions that computes it. The language defines what you are allowed to say (its syntax and semantics); the compiler or interpreter is the machinery that faithfully turns what you said into what the hardware does.

Por qué importó

The earliest stored-program computers were programmed in raw machine code or, slightly better, assembly language — a painstaking craft understood by a small "priesthood" who thought in the machine's own numbers. That was the bottleneck: programs were slow to write, riddled with errors, and locked to one model of computer. High-level languages broke it. IBM's FORTRAN, whose first compiler shipped for the IBM 704 in 1957 under John Backus, let a scientist write ordinary algebraic formulas and have them run nearly as fast as hand-tuned machine code — the objection that mattered most at the time. Suddenly people who were not machine specialists could program, and a program written in the language could be moved to any computer that had a compiler for it.

Qué desbloqueó

Programming languages are the reason software is an industry rather than a specialty. Layer upon layer of abstraction — assemblers, then FORTRAN and COBOL, then thousands of languages since — let programmers describe ever larger systems without tracking the machine's every register, and let the same program run on wildly different hardware. Every application, operating system, website, and AI model is written in one language and compiled or interpreted down toward another. The whole pyramid rests on the modest act of translation Hopper and Backus made routine: say it in human terms, and let a program turn it into the machine's.

Versión mínima viable

An assembler: the smallest useful language, one human-readable mnemonic per machine instruction (ADD, LOAD, JMP), translated line-for-line into the numeric opcodes the processor runs. From there, higher-level languages add algebra, loops, and names for things.

Esta entrada espera aún su relato completo: los cartógrafos están trabajando. Su lugar en el grafo ya está verificado.

Hilos que pasan por esta capacidad

Why couldn't the Romans build a computer?7 pasos

Fuentes

  • John W. Backus et al., 'The FORTRAN Automatic Coding System' (Proceedings of the Western Joint Computer Conference, 1957)
  • Grace M. Hopper, on the A-0 compiler and automatic programming (1952)
  • Kurt W. Beyer, *Grace Hopper and the Invention of the Information Age* (2009)

¿Algo está mal en esta página? Cada afirmación aquí está hecha para sobrevivir al escrutinio. Sugiere una corrección →