LISP: Difference between revisions
Jump to navigation
Jump to search
(he said "Please add comments" :-)) |
No edit summary |
||
Line 2: | Line 2: | ||
Please add comments about the LISP programming language as being appropriate for OLPC development. |
Please add comments about the LISP programming language as being appropriate for OLPC development. |
||
:The following is incorrect in almost every point, except for the one about python being slow. I'll update this page with an actual analysis in the future, but I can't let the trolling below stand without comment. |
|||
:OK, no problem: it is very inappropriate. The language is quite complex. It is a "functional" (meaning non-functional) programming language, for maximum inconvenience. Sure, you can iterate with recursion... and you can also do dentistry with a dremel tool or cut grass with a toenail clipper. The syntax itself utterly fails to take advantage of the human eye-brain system being a pattern-matching engine. While other languages make various bits of syntax immediately recognizable, LISP makes everything look the same. LISP leads to programs that crash at runtime with various type errors, rather than being stopped at compile time. Speaking of which, while LISP compilers do exist (expensive and proprietary as a rule), it is normal to use a slow-ass interpreter. The XO is already choking to death under a pile of Python code; we don't need to add to the suffering. The scoping rules are a perversion designed to kill the last feeble hope of getting decent performance or code maintainability. The laptop has limited space for interpreters and libraries. The LISP runtime stuff does not deserve a place in front of the many more useful languages like C, BASIC, FORTRAN, Ada, perl... and even COBOL. Supplying LISP to children is especially evil because it will turn most of them away from programming. |
:OK, no problem: it is very inappropriate. The language is quite complex. It is a "functional" (meaning non-functional) programming language, for maximum inconvenience. Sure, you can iterate with recursion... and you can also do dentistry with a dremel tool or cut grass with a toenail clipper. The syntax itself utterly fails to take advantage of the human eye-brain system being a pattern-matching engine. While other languages make various bits of syntax immediately recognizable, LISP makes everything look the same. LISP leads to programs that crash at runtime with various type errors, rather than being stopped at compile time. Speaking of which, while LISP compilers do exist (expensive and proprietary as a rule), it is normal to use a slow-ass interpreter. The XO is already choking to death under a pile of Python code; we don't need to add to the suffering. The scoping rules are a perversion designed to kill the last feeble hope of getting decent performance or code maintainability. The laptop has limited space for interpreters and libraries. The LISP runtime stuff does not deserve a place in front of the many more useful languages like C, BASIC, FORTRAN, Ada, perl... and even COBOL. Supplying LISP to children is especially evil because it will turn most of them away from programming. |
Revision as of 04:00, 20 December 2007
This article is a stub. You can help the OLPC project by expanding it.
Please add comments about the LISP programming language as being appropriate for OLPC development.
- The following is incorrect in almost every point, except for the one about python being slow. I'll update this page with an actual analysis in the future, but I can't let the trolling below stand without comment.
- OK, no problem: it is very inappropriate. The language is quite complex. It is a "functional" (meaning non-functional) programming language, for maximum inconvenience. Sure, you can iterate with recursion... and you can also do dentistry with a dremel tool or cut grass with a toenail clipper. The syntax itself utterly fails to take advantage of the human eye-brain system being a pattern-matching engine. While other languages make various bits of syntax immediately recognizable, LISP makes everything look the same. LISP leads to programs that crash at runtime with various type errors, rather than being stopped at compile time. Speaking of which, while LISP compilers do exist (expensive and proprietary as a rule), it is normal to use a slow-ass interpreter. The XO is already choking to death under a pile of Python code; we don't need to add to the suffering. The scoping rules are a perversion designed to kill the last feeble hope of getting decent performance or code maintainability. The laptop has limited space for interpreters and libraries. The LISP runtime stuff does not deserve a place in front of the many more useful languages like C, BASIC, FORTRAN, Ada, perl... and even COBOL. Supplying LISP to children is especially evil because it will turn most of them away from programming.
Theoretically, it should be possible to install a standard Lisp implementation.
- See also: Scheme