On Sun, 06 Apr 2014 23:10:47 +0300, Marko Rauhamaa wrote:

> Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info>:
> 
>> On Sun, 06 Apr 2014 12:05:16 +0300, Marko Rauhamaa wrote:
>>> Python, BTW, is perfectly suitable for computer science.
>>
>> I don't think it is. Python is not a pure functional language, so it's
>> very difficult to prove anything about the code apart from running it.
> 
> Many classic CS ideas are expressed in terms of an Algol-like language.
> Nothing would prevent you from framing those ideas in a Python-like
> (pseudo)language. The question is mostly whether you prefer begin/end,
> braces or indentation.

Okay, I made an error in stating that it's because Python is not a pure 
functional language. It's because Python is so dynamic that it is very 
difficult to prove anything about the code apart from running it. Take 
this code-snippet of Python:

n = len([1, 2, 3])

What can we say about it? Almost nothing!

All we know is that the name "len" will be looked up, it may or may not 
find something, that thing may or may not be callable, calling it with a 
list may or may not succeed, and it may or may not return 3 when given 
that specific list as input. From the perspective of wanting to prove 
things about the code, there's not a lot of certainty there.

If we replace Python with a Python-like language which is closer to the 
traditional Algol mode of built-in functions being keywords (and hence 
unable to be shadowed or deleted) then we can reason about the behaviour 
more successfully. Alas, a Python-like language is not Python, and our 
discussion is about whether or not *Python* is suitable for this use.


>>>  * combinatory birds in forests
>>
>> I don't believe that came from academia. If I've understood correctly,
>> that was from a non-academic book on applying the lambda calculus to
>> solve practical applications.
> 
> It is academic because the author, Raymond Smullyan, was a professor of
> philosophy and, more importantly, my professor selected that as a
> textbook for us graduate students.

Ah. Well they do that, don't they? I've always consider the ability of 
professors to select their own book as text to be a classic case of 
conflict of interest. They're supposed to pick the best book, not 
necessarily the one that earns them money.



-- 
Steven D'Aprano
http://import-that.dreamwidth.org/
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to