>>
File
136659355422.jpg
- (30.69KB
, 300x492
, communism49.jpg
)
>>3605
>Well. Maybe that isn't sign of bad language, but just different approach to programming ... ?
Yes. And mental retardation is just a "genetic diversity"
Broken scope design arises, when some crook, say Ierusalimsky, does his calculator.cpp undergrad assignment: at some point Ierusalimsky thinks it is a neat idea to have variables, so he implements them using naive hash-table approach, where "x = y" acts as a simple Hash<string,float>.set("x", y); everything works well, while there are just a few vars and a single calculator context, so Ierusalimsky gets high grades from his comp-sci teacher.
Alas Ierusalimsky decides to go big and sell his defective calculator.cpp "language", so he hastily ductapes together for-loops and conditionals, then even gluing subroutines on top and packaging final abomination under a neat title like "Hyper-Text Preprocessor: Enterprise Edition". But suddenly scoping cracks began to show and all the filth leaked out of his neat package! Because you know what? In practice a single calculator context with a few one-letter variables isn't enough, and to describe a general system we need millions of independent calculators, each with its own isolated set of variables, so that an assignment Alice does on her calculator won't affect Bob's calculator, behind his back. And what our "Ierusalimsky" did is called leaky abstraction, because assigning variable on one calculator breaks completely unrelated calculator. Psychiatrist's call it http://en.wikipedia.org/wiki/Schizophasia when different parts of brain clutter each other.