On Tuesday, March 29, 2016 at 8:16:12 AM UTC+5:30, Ben Bacarisse wrote: > Steven D'Aprano writes: > > > On Mon, 28 Mar 2016 06:51 pm, Jussi Piitulainen wrote: > > > >> Ben Bacarisse writes: > >> > >>> It's shame that anonymous functions (for that's what's being returned > >>> here -- a function with no name) were born of a subject that used > >>> arbitrary Greek letters for things. We seem stuck with the mysterious > >>> but meaningless "lambda" for a very simple and useful idea. > > > > I'm not sure that "lambda" is any more mysterious or meaningless than other > > terms used in computing. What's a closure? A trampoline? A future? Mapping? > > Thread? Greenlet? Mantissa? Not to mention terms from mathematics that > > people simply memorise, like "sin", "cos", "power". > > Well lambda is more arbitrary than those that include helpful hints to > the technical meaning in the plain English meaning. What's more, though > they express important concepts they are not all part of Python's > syntax. Lambda has no helpful meaning and yet has to appear in the > program's text.
I am guessing its a long time since you were introduced to computers. And you've forgotten what the jargon first felt like. As a student I remember my friends who were doing projects with me working at my place. And my mum made the strange remark: "You guys use all the words that I know. And you make them into sentences that have no meaning at all." Since you've 'forgotten' that jargonification stage, lets start with 'memory'. 'Memory' is a very old English word, eg. what I did right now -- remembering what my Mum told me some 35 years ago: Does it have anything to do with what memory means in computer-jargon? Dijkstra liked to point out that CS was backward in America compared to Europe because in Europe they used 'store' but Americans used anthropomorphism like memory Now given that store can mean -- among other things -- - room where I dump stuff - shop where I buy bread and eggs - etc why is Dijkstra's preferred use actually any better? Or his most famous request: When you make an error please call it an error. There is no 'mean little bug' crawling out when you were not looking. Shall we rename 'debugging programs' to 'error-correcting code(s)'? Likewise computer has always been a mathematician that computes and program is for things like radio-program, concert-program etc > > Anyway, even it is were exactly like all the other examples, is that a > reason to have more? I'd argue that we should have as few such words as > possible, especially in the syntax. Its a hard question Take an old word and give it a new related but different meaning vs Invent a nonsense word for a genuinely new concept My own finding is that repurposing old words to new concepts causes more confusion and misunderstanding than understanding and 'progress' A record of how sticking to sloppy terminology perpetuates sloppy understanding: http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-2.html -- https://mail.python.org/mailman/listinfo/python-list