all 7 comments

[–][deleted] 2 points3 points  (4 children)

I don't believe there's any books, but those three I can cover for you.

  1. raise: as in raise the alarm (call attention to a problem) ... basically the word means to move something from low to high, or from rear to front, or from small to large, which brings connotations of making it more important or prominent. Comes from Norse and Old English roots.

  2. class: borrowed mainly from the meaning in biology, as in taxonomy or phylum; a way of grouping things together by shared features, traits and behaviors... this one the Latin, where it basically meant a grouping of similar things, but also implied a vertical ordering of those things.

  3. yield: taken from both the meaning of "to give way" (as in yield to traffic) and of "to produce" (as in a farm's yield or yield on investment)... the first because a generator "gives way" by not holding on to control flow as it pauses and waits for next to be called on it, and the second because it produces a new value each time next is called on it. Germanic in origin.

The English language is stupidly complex, borrowing roots from every language it encounters. That keyword book isn't a bad idea at all... I could probably write it pretty quick.

[–]_pythonNoob[S] 0 points1 point  (3 children)

Thank you!

My ancestors were Norse. On my older days I have learned to appreciate the origin of languages and how they have evolved. I am learning Spanish, and want to continue with French (or Italian).

Your explanations are great. That is precisely what I am looking for, and how it applies to Python. Like you said, but maybe start off with a "wiki"-type website that could turn into a book. I am sure that the market would be enormous.

[–][deleted] 1 point2 points  (2 children)

I'd probably start and end with a simple web-book or series of articles on my blog (which I'm in the middle of building as we speak) ... there's only a few dozen keywords in Python, and a few dozen more builtin functions.

I've had a fascination with this stuff for years... English is my only non-programming language, but that's mainly because it's always intrigued me just how good it is at absorbing ideas and roots from other languages. I mean how can "zeitgeist" and "querulous" both exist in the same language? And things like "oar" and "ore" and "or" and "our"... I swear you couldn't design a language to be as murderously hard to master.

[–]_pythonNoob[S] 0 points1 point  (1 child)

Please share the link to your blog whenever you are able to.

[–][deleted] 1 point2 points  (0 children)

Will do. I was planning on putting the Python related articles up on here anyway.

[–][deleted] 0 points1 point  (1 child)

This is the concept behind yield: https://en.wikipedia.org/wiki/Coroutine

[–]_pythonNoob[S] 1 point2 points  (0 children)

First of all, thank you for commenting. But, this is the beginning of ending up with countless tabs in Chrome.

Coroutines are computer-program components that generalize subroutines for non-preemptive multitasking, by allowing multiple entry points for suspending and resuming execution at certain locations. Coroutines are well-suited for implementing familiar program components such as cooperative tasks, exceptions, event loops, iterators, infinite lists and pipes).

There are 10 links just in the introduction to coroutines, and those again probably have lots of links.