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.
深层档案目前以英文写就——经核验的翻译已列入路线图。浏览器自带的翻译功能在本页表现良好。

✦ 等等,真的吗?
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.
它是什么
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.
它为何重要
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.
它解锁了什么
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.
最简可行版本
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.
此条目尚待完整撰述——制图师正在工作。它在图中的位置已经核验无误。
来源
- — 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)
发现本页有误?这里的每一条论断,都应当经得起质疑。 提交更正 →