hungarian notation

from The Free On-line Dictionary of Computing (8 July 2008)
Hungarian Notation

   <language, convention> A linguistic convention requiring one
   or more letters to be added to the start of {variable} names
   to denote {scope} and/or {type}.

   Hungarian Notation is mainly confined to {Microsoft Windows}
   programming environments, such as Microsoft {C}, {C++} and
   {Visual Basic}.  It was originally devised by {Charles
   Simonyi}, a Hungarian, who was a senior programmer at
   {Microsoft} for many years.  He disliked the way that names in
   C programs gave no clue as to the type, leading to frequent
   programmer errors.

   According to legend, fellow programmers at Microsoft, on
   seeing the convoluted, vowel-less variable names produced by
   his scheme, said, "This might as well be in Greek - or even
   Hungarian!".  They made up the name "Hungarian notation"
   (possibly with "{reverse Polish notation}" in mind).

   Hungarian Notation is not really necessary when using a modern
   {strongly-typed language} as the {compiler} warns the
   programmer if a variable of one type is used as if it were
   another type.  It is less useful in {object-oriented
   programming} languages such as {C++}, where many variables are
   going to be instances of {classes} and so begin with "obj".

   In addition, variable names are essentially only {comments},
   and thus are just as susceptible to becoming out-of-date and
   incorrect as any other comment.  For example, if a {signed}
   {short} {int} becomes an unsigned {long} int, the variable
   name, and every use of it, should be changed to reflect its
   new type.

   A variable's name should describe the values it holds.  Type
   and scope are aspects of this, but Hungarian Notation
   overemphasises their importance by allocating so much of the
   start of the name to them.  Furthermore, type and scope
   information can be found from the variable's declaration.
   Ironically, this is particularly easy in the development
   environments in which Hungarian Notation is typically used.

   Simonyi's original monograph
   (http://msdn.microsoft.com/library/techart/hunganotat.htm).

   Microsoft VB Naming Conventions
   (http://support.microsoft.com/support/kb/articles/Q110/2/64.asp).

   (2003-09-11)
    

[email protected]