Why not allow empty code blocks?

Michael Torrie torriem at gmail.com
Sat Jul 30 14:16:11 EDT 2016


On 07/30/2016 11:53 AM, Steven D'Aprano wrote:
> On Sun, 31 Jul 2016 02:29 am, Rustom Mody wrote:
> 
>> MIT on practical reasons for python over scheme:
>>
> https://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python
>> Berkeley on fundamental reasons for the opposite choice:
>> https://people.eecs.berkeley.edu/~bh/proglang.html
> 
> Not a very useful discussion. His argument basically boils down to:
> 
> "Lisp came up with some good ideas that were copied by other languages.
> Therefore Lisp is a good teaching language."

Maybe.  Lisp and Scheme are great languages to teach the theory of
programming with because they are so easy to use to build DSLs (all
within the same syntax as Lisp), and it kind of acts like a
meta-language.  I'll never use Scheme again in my life, but I'm very
glad to have learned it in my Theory of Programming Languages course at
uni.  Python would have been alright to teach "programming," but to
teach the actual theory of programming languages (lambda calculus, lists
as a foundation unit for all other data structures), Scheme was an ideal
choice for teaching these fundamentals.  The continued confusion that
pops up on the list from new users on how Python variables work wouldn't
be an issue if they came from a Scheme background.  The idea of names
and binding of names would make perfect sense to them.

I remember using Scheme the class to build a full object-oriented
language out of Scheme parts.  Was pretty interesting to create your own
syntactic sugar right in the language itself.

I think they use a version of Scheme called Racket now.



More information about the Python-list mailing list