Content deleted Content added
m Robot-assisted disambiguation (you can help!): Ken Thompson |
move additions added to main PL article that are better here (but adjust as you see fit) |
||
Line 7:
== Prehistory ==
The first programming languages predate the modern computer. From the first, the languages were [[code]]s. [[Herman Hollerith]] realized that he could encode information on [[punch card]]s when he observed that [[railroad]] [[train]] [[conductor]]s would encode the appearance of the ticket holders on the train tickets using the position of punched holes on the tickets. Hollerith then proceeded to encode the 1890 census data on punch cards which he made the same size as the boxes for holding US currency. (The [[dollar bill]] was later downsized.)
The first programming languages predate the modern computer. The most important of these are the '''[[lambda calculus]]''' and the [[Turing machine]]. However, unlike the lambda calculus, Turing's code does not serve well as a basis for higher-level languages — its principal use is in rigorous analyses of [[algorithm|algorithmic]] [[computational complexity theory|complexity]].▼
▲The first
Like many "firsts" in history, the first modern programming language is hard to identify. For some people the answer depends on how much power and human-readability is required before the status of "programming language" is granted. [[Jacquard loom]]s and [[Charles Babbage]]'s [[Difference engine|Difference Engine]] both had simple, extremely limited languages for describing the actions that these machines should perform. One can even regard the punch holes on a [[player piano]] scroll as a limited [[___domain-specific programming language]], albeit not designed for human consumption.▼
Like many "firsts" in history, the first modern programming language is hard to identify. From the start, the restrictions of the hardware defined the language. Punch cards allowed 80 columns, but some of the columns had to be used for a sorting number on each card. Fortran included some keywords which were the same as English words, such as "IF", "GOTO" (go to) and "CONTINUE". The use of a magnetic drum for memory meant that computer programs also had to be interleaved with the rotations of the drum. Thus the programs were more hardware dependent than today
▲
== The 1940s ==
|