Why does everyone who studies Lisp keep saying that it's the best way to learn programming?
-
In what concepts does it provide better understanding as compared to say,C, in which mostly everyone starts programming? Does it make understanding recursion easier?
-
Answer:
http://en.wikipedia.org/wiki/Lisp_%28programming_language%29 has the simplest syntax of any popular programming language. To generalize just a little () creates an ordered list which can contain lists and atoms. atoms can be strings, numbers, or symbols. That gets you code with silly simple syntax that looks just like its parse tree (defun factorial (n) (if (> n 0) (* n (factorial (- n 1))) 1)) used like (factorial 5) Things like order of operation and associativity are completely missing. With a brief introduction like that out of the way you can focus on actually learning programming. Things like recursion and higher order functions aren't any easier although there are fewer distractions than in other languages. Finally lisp implementations can often be used interactively (like the BASIC which came standard on computers of a certain era) which facilitates faster exploration than with compiled languages.
Drew Eckhardt at Quora Visit the source
Other answers
Because since it is MIT's language of instruction it *MUST* be good...
Aryeh Friedman
Several reasons: Most languages other than lisp have many syntax special cases which must be learned that obscure what's happening. The simplicity of lisp syntax lets you get right to the semantic meat. All the common programming paradigms (functional, OO, procedural) are cleanly supported in lisp (specifically Common Lisp). Most other languages lean heavily in one direction, making discussion of the other paradigms clumsy. Lisp has dynamic typing and garbage collection which removes much of the implementation complexity for data structures and APIs. This makes the semantic content more clear. Lisp systems provide interactive command lines so that ideas can be tested quickly and easily. Lisp is readily extensible. It's powerful macro facility allows new facilities to be seamlessly integrated as if they're built into the language. This means that lisp systems have incorporated most new concepts that have come along over the years. Yes, lisp does make understanding recursion easier. In particular, the default lisp data structure is the singly-linked list which is a recursively defined data structure with two cases: the empty list and an existing list with something added on the front. Processing such lists is naturally done recursively so lisp programmers quickly become facile with recursion. I should mention that modern lisp systems always include a full suite of data types, not just lists. Lisp systems usually have powerful debugging facilities. There are other reasons too but I'm running late right now... :-)
Jerry Jackson
Related Q & A:
- What is the best way to learn English?Best solution by Yahoo! Answers
- What is the best way to learn how to build websites and web applications with Python?Best solution by Quora
- What is the best way to learn jazz piano?Best solution by Yahoo! Answers
- What is the best way to learn French?Best solution by Yahoo! Answers
- Best Way To Learn Spanish Fast?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.