5 ms·
McCarthy invented conditionals. Seriously, if you've ever typed "if" into a program you owe a debt to Lisp. Likewise garbage collection. Lisp didn't absorb that
by dreamcompiler 7y ago
McCarthy invented conditionals. Seriously, if you've ever typed "if" into a program you owe a debt to Lisp. Likewise garbage collection. Lisp didn't absorb that; Lisp invented it. Likewise dynamic typing, first-class functions, recursion, etc etc.
It's not even slightly disingenuous to imply that every other language is simply "reinventing Lisp".
- RodgerTheGreat 7y agoThis kind of fallacious blustering is exactly what I'm talking about. "if" statements existed in FORTRAN (hell, even FLOW-MATIC), which preceded Lisp. The earliest Lisp implementations didn't have garbage collection, and while mark-and-sweep was being developed for Lisp there were other high-level peers like APL experimenting with similar ideas. Same deal for dynamic typing. First-class functions were explored in the Lambda Calculus decades before Lisp programmers applied them, and mathematics has known about recursion since antiquity. Programmers were expressing recursive algorithms in machine language in the 50s. None of this sprung fully-formed from the head of John McCarthy: Lisp borrowed from a rich preceding tradition of mathematics and computer science, and the rest of the world wasn't twiddling their thumbs while McCarthy worked on his machine-algebra system.
- dreamcompiler 7y agoThe first Fortran had arithmetic IF. Fortran didn't get logical IF (the structured if-then-else that every language uses today) until McCarthy proposed it. Of course recursion and first-class functions were known to mathematics. But we were discussing programming languages, not mathematics. And specifically high-level languages, back when there was a lot of skepticism as to whether they were even a good idea. Fortran got there first. Lisp was second and provided the existence proof that abstract features Fortran didn't even attempt were nevertheless viable. And then it went on to become the standard language of AI. Sure, there was a lot of creativity happening back then, and Lisp didn't cause that creativity to happen. But being the second-oldest programming language and the first viable implementation of so many high-level features made Lisp a crucial development in the history of computing that's still quite relevant today.
- deleted 7y ago[deleted]
- lisper 7y agoMcCarthy introduced conditional expressions, not conditionals. But what he really invented was functional programming.