John McCarthy, Discoverer of Lisp, Has Passed Away
The first of a few submitters, szo sent in an early
report that John McCarthy passed
early yesterday. Paul Graham
(among others) confirmed: the news
was true. And so, shortly after a fellow
founder of countless language descendants, goes the founder of the Lisp
tree at the age of 84.
I think you mean creator or inventor. It's not like the Lisp programming language was just sat out in the wilds of Chile under a rock waiting to be found by an archaeologist.
(print "World says goodbye")
Here be signatures
.. but then I realized I was missing something.)))
If you get a chance, I recommend Out of Their Minds http://cs.nyu.edu/shasha/outofmind.html which details some of the amazing feats of McCarthy and some of his contemporaries.
The universe must be kept in balance. Ritchie and McCarthy were to offset Gaddafi and Jobs.
Obligatory xkcd link.
And of course "Eternal Flame".
Yes, the capitalisation of my comment's subject is deliberate.
________
Entranced by anime since late summer 2001 and loving it ^_^
Another one gone!
I once created a variant of BASIC to run on the C=64 when I was a kid... OMG! Could I be next??
-dZ.
Carol vs. Ghost
Emacs not important for you? Except for a small C core, everything is written in Lisp.
lisp will reduce your life expectancy.
Nothing will reduce your life expectancy more than doing template metaprogramming in c++.
LISP is the king of all computer languages. Its influence is still being felt 50 years after its creation, and people are rediscovering features that good ol' lisp has had since the begining.
http://www.pchristensen.com/blog/lisp-companies/
http://stackoverflow.com/questions/172798/lisp-in-the-real-world
http://www.franz.com/success/
Dilbert RSS feed
Hm....
http://en.wikipedia.org/wiki/Maxima_(software)
http://en.wikipedia.org/wiki/Dynamic_Analysis_and_Replanning_Tool
http://en.wikipedia.org/wiki/Mirai_(software)
http://en.wikipedia.org/wiki/SHINE_Expert_System
Yeah, this language is useless outside of academia.
Palm trees and 8
LISP however is a nightmarish construct made to entertain academics with academic constructs, which it may do exceedingly well, but for practical real-world applications the usefulness of LISP is long gone if it ever existed beyond a rudimentary level.
I steadfastly held the same view that only academic wienies had any use for Lisp or even worse Scheme. It took me some 15 years to see the light but now I work exclusive in Lisp and Scheme.
Languages are NOT created equal and the challenges we face now needs more powerful languages. That is where Lisp and Scheme come into their own. I think, I'll look into Haskell next. Another language that I previously wouldn't touch with a ten-foot pole.
Time is a great teacher although it tends to kill all it's students
TCAP-Abort
Well, to be fair he only "Discovered" it, he apparently didn't create it. I wonder who actually created it and then just left it lying around for him to "discover"?
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
... they just close their last parenthesis.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
It's not just the language that is important, it's the contributions Lisp made to programming language theory: "if", higher order functions, garbage collection to name a few things. See here for a list of things that the language pioneered.
Not really. I long ago shunned Emacs' overly complex Ctrl-Meta-dgh-Shift-Y-u-F12 for Vi's much simpler y$12jll:%s/off/on/gkp in order to brew my morning tea, walk my dog, open 38 tabs to my morning news sources, and fetch me my pink bunny slippers.
I am sad to see him go, one more of the old crew departed. Lisp taught me more about programming than any other language. Yes, he discovered it. The Spartans had the Lambda on their shields. They knew about it, they just had no computers! You had to be a bit of a Spartan to keep up with all the close parens. And Scheme, Structure and Interpretation of Computer Programs by Abelson and Sussman. A treasure. I hope Lisp lives on at least in academia. The concepts are inspiring even if implementation may be more efficient in an imperative language.
I don't however find anything detailing why LISP was chosen for any of the projects, was it because LISP have some inherent advantage for the specific applications, or because the projects were started during a time when everyone was told that LISP was the holy grail of programming and it was just the obvious thing to do?
Well, there are a few reasons that come to mind:
Now, to be fair, there were a lot of broken promises made by Lisp vendors in the 80s, back when AI was supposed to be the future of computing. It is likely that at least some projects were written in Lisp with the hope that some advanced AI would swoop in and do all sorts of magic. Still, Lisp can stand on its own merits, without anyone pushing snake oil on developers.
Palm trees and 8
All turing-complete languages are equally capable, eh? You can create abominations and masterpieces in nearly any language.
Programmers, however, tend to work best in a language that suits their unique preferences and abilities. No language is inherently better than all others, for all people, because people are not interchangeable featureless units. Some people are OK with monkey-patching, even.
Personally, I like to create code that other people can build on and maintain, rather than writing myself into a permanent maintenance position. That kind of rules out Lisp, since nobody else wants to maintain it - among computer languages, popularity is a feature, and lack of popularity is a bug.
Condolences to Mr. McCarthy's family and friends.
I know zip about other projects, but I was hacking on Maxima for use in my robotics assignments and something is to be said for conciseness of Lisp's way of dealing with data structures. Something more is to be said for macros: the programmatic generation of code (they are nothing like C macros). Of course you can generate code in C, but it's a shitty experience, and you have to roll it all yourself. The C/C++ languages do not come with any sort of a data structure to express themselves. Even Python has an ast module. I've found that programmatic generation of code is a big win in embedded world, especially on small microcontrollers (RAM in single kilobytes, etc). Most platform libraries become quite bloated if you want to truly fully support all peripherals, even if a typical application only uses a small subset of the functionality. The compilers are usually too stupid to properly optimize it, even if a fairly rudimentary constant propagation would indicate that 90% of the library is dead code. With macros you can easily generate just the code you need. Macros can easily and cleanly replace external tools like lexer and parser generators. They are also great for implementing extra language features. You don't need hacks like Duff's device or coroutine horkage. LISP is powerful enough that you can have features like yield implemented in a library.
In the end, it's all about ease of use. Even though I do a lot in C and C++, I detest their verbosity. I mean, come on, ML family had type inference for three decades! Heck, I have worked with a structured basic running on CP/M Z80 that had rudimentary type inference (although didn't have algebraic types). You didn't have to assign types to your variables, and if you tried adding an integer to a string it would balk -- not at runtime, but before it'd accept the new or modified line of program! Variables were assigned types at first use, and if you had a function returning a value (yes, it had functions, but sadly no tuples), it knew what type it'd be based on the code inside of the function. That was in late 80s! Then you come to C++ and get to experience template metaprogramming -- sure it's powerful, but it feels about as expressive as programming a Turing machine directly. And metaprograms are interpreted by the compiler, in a very inefficient way.
A successful API design takes a mixture of software design and pedagogy.
I AM posting from some shitty descendant of Windows 3.1, you insensitive clod!
Clojure is a modern LISP -- I have a former employer using it for real-time analytics work (where its transactional memory model made it easy to scale to very, very parallel machines -- the older version of the software written with traditional lock-based concurrency fell down at a fraction of the production load we needed to handle with most CPU cores sitting around waiting for locks.
The biggest thing that interests me, though -- programming in a LISP lends itself to what Rich Hickey calls "hammock-driven development" -- thinking deeply for a long time and then writing very few lines, as opposed to throwing a few Kloc of code at the wall and seeing what sticks. Properly used, modern LISPs are tremendously flexible and tremendously compact -- most of the code I write day-to-day is Python or Ruby, but a LISP's expressiveness is vastly greater than either of these newer languages, and I'm tremendously excited to see folks working on making LISPs practical again.
I finally decided to buy an iPad and Steve Jobs dies.
I started a new project using C and Dennis Ritchie kicks the bucket.
Then I started Stanford's AI Course and now John McCarthy is pining for the fjords.
That's it. It's definitive. I'm a God of Death, so I shall use my recently discovered powers for the good of humanity. I'm going out to buy an Oracle DB and learn how to use it. See you on Larry Ellison's funeral next week.
PS: Also, I suspect I'm the God of Rain too, since every time I wash my car it rains the next day.
http://www.franz.com/success/customer_apps/data_mining/itastory.lhtml
No, actually, McCarthy did discover Lisp, at least according to Paul Graham.
It might seem antiquated and weird to us nowadays, but emacs-lisp is actually fairly typical of the dialects of its day. It's day was just the late-70s/early-80s. Scheme and Common Lisp did a lot to modernize Lisp, and they just happened to be the first popular dialects on commodity machines so it's easy to forget that Lisp predates all computing paradigms and has given them all a shot at one point or another.
HAL 7000, fewer features than the HAL 9000, but just as homicidal!