On Tue, Aug 14, 2018 at 6:26 AM, Abe Dillon <abedil...@gmail.com> wrote:
> [Chris Angelico]
>>
>> > The whole point of a programming language is to bridge the gap between
>> > machine code and natural language (in Python's case English, as with
>> > most
>> > other languages). It's to make reading and writing code easier through
>> > abstraction, not to create ivory towers through the use of esoteric
>> > jargon.
>> > It's not supposed to make a cool kids club for people privileged enough
>> > to
>> > study CS in college. At least that's not my goal.
>> The whole point of a car is to make driving easier through abstracting
>> away the internal details of petrochemical propulsion, but if someone
>> says "I don't want to know about 'gears' or 'brakes' or any of these
>> technical terms", you wouldn't want them driving on the roads you're
>> on. There is a certain level of comprehension that you can't avoid.
>> (If you don't know anything about how to use a car, you can still ride
>> in one, but you can't drive it; and you don't need to understand about
>> anonymous functions in order to operate a computer, but you'll need
>> them to program effectively.)
>
>
> This was originally in response to Bruce Leban's assertion: "If using lambda
> as a keyword leads people to go and learn about lambda calculus that is a
> good thing."
>
> Are you saying that knowing "what lambda calculus is" is as important to
> programming in Python as knowing "what breaks are" is to driving? If so, I
> don't think that analogy holds water. I don't think lambda calculus is
> fundamental to knowing how to write a program. I don't even think anonymous
> functions are fundamental to writing a program. I think a programmer could
> go their whole life without ever knowing what a lambda expression is and
> still manage to write plenty of very useful code.

No, lambda calculus isn't on par with brakes - but anonymous functions
are, and if they're called "lambda", you just learn that. In fact, I
would say that the word "lambda" is the least troublesome part of
anonymous functions, callbacks, and related topics.

It's the same with "partial". Actually, I didn't think of that as
"partial application" but as "partial specification of parameters". If
you can grok the concept that you can take a function, lock some of
its parameters, and get back another function, then you should be able
to learn a word to associate with it.

ChrisA
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to