On Wed, 13 Nov 2013 18:10:59 -0800, Rick Johnson wrote: > On Wednesday, November 13, 2013 5:42:24 PM UTC-6, Rhodri James wrote: >> On Tue, 12 Nov 2013 02:06:09 -0000, Rick Johnson wrote: >> > PyMyth: Global variables are evil... WRONG! >> That's not a PyMyth. It's a CompSciMyth, or to be more accurate a good >> general Software Engineering guideline regardless of language. Like >> all guidelines it can be broken, but people who break it should do so >> knowingly, aware that they have created potential problems for >> themselves. > > You speak as if using globals are inhabited by gremlins just wanting to > get out and run a muck. There are no "inherent" problems in the global > interface design except those that programmer inserts himself. > > Real global variable interfacing is no different than python object > member interfacing, or module interfacing, except that the latter two > are encapsulated by inside a namespace, and the former (historically) > are unprotected and available everywhere; hence the name "global" :-)
A fully-auto machine gun with a hair-trigger and no safety is no different from a single-barrel shotgun with a safety and a trigger lock! You can blow your foot off with both! Yes, but in the first case you can do it by accident, while with the second you have to work hard to blow your foot off. > So that renders this whole argument of "global gremlins" as FUD. The > gremlins don't exist until the programmer creates them. Wait... are you saying that software bugs only occur because the coder writes buggy software? I thought bugs came into existence via spontaneous generation, like viruses, bacteria, pigeons and Marine Corps sergeants. > And i also want to point out the hypocrisy of Python's design. Python > DOES have globals Is that why it has a global keyword and a globals() function? Thanks for the information, I never would have worked that out without your keen insight. -- Steven -- https://mail.python.org/mailman/listinfo/python-list