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/