From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_40,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,af40e09e753872c X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,30e368bdb3310fe5 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,f292779560fb8442 X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,30e368bdb3310fe5 X-Google-Attributes: gid1014db,public X-Google-Thread: f8c65,30e368bdb3310fe5 X-Google-Attributes: gidf8c65,public X-Google-Thread: 10db24,30e368bdb3310fe5 X-Google-Attributes: gid10db24,public X-Google-Thread: 1008e3,30e368bdb3310fe5 X-Google-Attributes: gid1008e3,public From: gdkuch@barrow.uwaterloo.ca (Jerry Kuch) Subject: Re: Hungarian notation Date: 1996/05/24 Message-ID: #1/1 X-Deja-AN: 156576455 sender: news@undergrad.math.uwaterloo.ca (news spool owner) references: <4adem2$b5s@mercury.IntNet.net> <31a3b322.442404233@sqarc> <4o35bu$ut8@sol.caps.maine.edu> organization: University of Waterloo newsgroups: comp.lang.ada,comp.lang.c++,comp.lang.c,comp.lang.modula3,comp.lang.modula2,comp.edu,comp.lang.eiffel Date: 1996-05-24T00:00:00+00:00 List-Id: In article <4o35bu$ut8@sol.caps.maine.edu>, wrote: >dewar@cs.nyu.edu (Robert Dewar) wrote: >> Hungarian notation is certainly a remarkable demonstration of how few people >> have learned and understood data abstraction. What's most interesting is >> how difficult it is for its advocates to see this point, but I suppose that >> is not surprising. If you never understood what abstraction is about, then >> of course adopting a notation that destroys it will not concern you. > >Perhaps Bill Gates will be contacting you for that explanation. >Although the examples you cite support your opinion, the bottom >line is that some of the largest software developers in the world >insist on code using Hungarian Notation. If you've ever actually set foot at Microsoft, you'd have seen that there are many people there who elect not to use Hungarian notation and that among those who do there is a fairly broad mixture of feelings about it. The vacuous "appeal to authority" method of argument doesn't at all address the original posters comments about how Hungarian notation can in a sense undermine the principles of data abstraction. To say that "some of the largest software developers in the world insist on X" and that as a result of this X is somehow good is as fatuous as saying that "because politician Y is president he must be the best at being president and every presidential decision he makes is going to be right." This brings to mind something that a lot of people don't get. Programming is an evolving subject that moves with both changes in technology and the whims of its practitioners. Although there are some ideas that are timeless such as "comment your code intelligibly," there are other methodologies that are introduced to solve a specific problem but that over time can come to lose their usefuless as languages, tools, standards and programming paradigms change. Hungarian notation in the form usually bickered over in this group may have been a good solution for those working in weakly typed languages with comparatively spartan support for encapsulation and information hiding, but in environments with extensive support of these features and polymorphism, it buys much less at the high level. Perhaps in the most deeply buried private members of objects, where the data being handled is being manipulated in a fairly raw and unstructured, close to the hardwarze form, this flavor of Hungarian has a role for making sure that ours arrays, pointers and bit fields don't get mixed up in our minds. In levels of code that manipulate comparatively large and complicated objects, the final production releases of such code should be focussed on the defined semantics for the objects and methods rather than on the low level details of their implementation which, from that level of abstraction, are probably best hidden. In programming as in anything, dogma breeds inflexible armies of luddites. What works well should be used, but one eye should always be kept on the outside world and how it can sneak up and render the familiar rituals obsolete. -- Jerry Kuch EMail: gdkuch@mercator.math.uwaterloo.ca, NeXTMail welcome. IMPORTANT NEWS: Scripts for "Godzilla Vs. Desutoroia" had envisaged the monster's main target as the 1996 World City Expo in Tokyo but the idea fell through when Gov. Yukio Aoshima cancelled the event.