Instead of deciding between Python or Lisp for a programming intro course...What about an intro course that uses *BOTH*? Good idea?

Rustom Mody rustompmody at gmail.com
Tue May 12 23:35:16 EDT 2015


On Wednesday, May 13, 2015 at 8:00:50 AM UTC+5:30, Steven D'Aprano wrote:
> Why can't a language be designed with a *practical and concrete* need in
> mind? As far as I know, only one language designed from theoretical first
> principles has had any measure of mainstream success, Lisp, and that was
> probably because there weren't that many decent alternatives at the time.

How history U-turns!!
Lisp actually got every major/fundamental thing wrong
- variables scopes were dynamic by mistake
- lambdas were non-first class because the locution 'first-class' was still 8 
years in the future

And what it got right was more by fluke than by design

- gc because the machine word was too small for a refcount but could squeeze in a mark-bit
- Syntax: It was intended that a 'proper' (aka Algol-like) syntax was round
the corner.  The '1.5' in the lisp 1.5 manual was evidence of that interimness

To me the most mind-boggling aspect this u-turning of history is this interview 
with McCarthy: http://www.infoq.com/interviews/Steele-Interviews-John-McCarthy

Q: Who helped you with the early ideas Lisp?
McCarthy: Backus' Fortran taught me functional programming!!!!!



More information about the Python-list mailing list