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
Thu May 14 23:14:54 EDT 2015


On Wednesday, May 13, 2015 at 8:14:39 PM UTC+5:30, zipher wrote:
> On Tuesday, May 12, 2015 at 10:35:29 PM UTC-5, Rustom Mody wrote:
> > 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
> 
> I think you're confused.  LISP doesn't have variables.  It's a lambda calculus with an entirely different model computation than other programming languages which use variables all the time.  To the extent that it DOES have variables, it's to accomidate those coming over from iterative programming.
> 
> And the idea of lambdas were already encoded by the use of special expressions, set-off by parenthesis.  So they practically *defined* the concept of lambdas.  

See
https://groups.google.com/forum/#!msg/haskell-cafe/gDwF__-HMXE/oCKCbco2bS8J

| I asked McCarthy was the use of the LAMBDA notation in Lisp because the 
| language was functional, or was it just a convenient notation for anonymous 
| functions?  His answer was short and very definitive: he said it was a
| convenient notation --- *he didn't consider Lisp to be a functional language.*



More information about the Python-list mailing list