<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx</link><description>Following on the heals of Eric Lippert&amp;#8217;s posts on Hungarian and of course Rory Blyth&amp;#8217;s classic &amp;#8220; Die, Hungarian notation&amp;#8230; Just * die * &amp;#8221;, I figured I&amp;#8217;d toss my hat into the fray (what the heck, I haven&amp;#8217;t had a</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162739</link><pubDate>Tue, 22 Jun 2004 19:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162739</guid><dc:creator>Mike Dunn</dc:creator><description>How is that blog entry a &amp;quot;classic&amp;quot;? He's belittling people who use Hungarian improperly, not talking about Hungarian itself.&lt;br&gt; &lt;br&gt;I personally HATE reading code w/o proper Hungarian. As Eric Lippert has been saying lately, reading code is harder than writing code. When I read code w/o Hungarian, I always find myself paging up to find the type of a variable, then paging back down and (after finding my place) resuming reading the code.&lt;br&gt; &lt;br&gt;Proper prefixes also keep the developer honest about matching types (signed vs. unsigned; MBCS vs. Unicode strings, etc.) which helps prevent bugs related to mismatched types. Sure, the compiler MIGHT warn you about them, if you have the warning level high enough... but we all know people who ignore (or worse, turn off) warnings, and besides anything that helps find bugs earlier is a Good Thing in my book.&lt;br&gt; &lt;br&gt;Rory also asks why use Hungarian &amp;quot;in this day and age of the superpowered IDE&amp;quot;. Well, you don't always have your IDE to hold your hand. I often skim code in an 80-column 4NT window because it's faster than using VC. &lt;br&gt; &lt;br&gt;In any case, it's another case of someone bashing bad Hungarian and then condeming Hungarian altogether, without recognizing the benefits that good Hungarian brings.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162744</link><pubDate>Tue, 22 Jun 2004 19:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162744</guid><dc:creator>Larry Osterman</dc:creator><description>Your points are absolutely valid.  But Rory's &amp;quot;classic&amp;quot; made me laugh, which is always a good thing.&lt;br&gt;&lt;br&gt;You're absolutely right his point was to bash bad hungarian and throw the baby out with the dishtowel (purposely mixing metaphors).&lt;br&gt;&lt;br&gt;I'm hoping to write about the negatives in Hungarian sometime in the future (maybe tomorrow), they can be quite significant actually, which is why I don't code in it these days.  Especially with Systems Hungarian&lt;br&gt;where the Hungarian represents the type not the intent.&lt;br&gt;&lt;br&gt;What happens with Systems Hungarian when you decide to change a signed long to an unsigned long?  You need to rename your variables from l to ul.  Also, what's the thing about the difference between dw and ul?  Why do you differentiate?  Apps Hungarian actually forbids the use of dw because it's a compiler/hardware specific type.&lt;br&gt;&lt;br&gt;</description></item><item><title>class members start with _ as a prefix</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162756</link><pubDate>Tue, 22 Jun 2004 19:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162756</guid><dc:creator>Roger Lipscombe</dc:creator><description>I've seen this growing fashion for using an underscore prefix for member variables.  Sutter's &amp;quot;Exceptional C++&amp;quot; uses it extensively, for example.&lt;br&gt;&lt;br&gt;Frankly, I don't like it.  As I understand it, the C/C++ standards state that identifiers beginning with an underscore are reserved for the use of the language/library implementer.&lt;br&gt;&lt;br&gt;Thus, by using an underscore prefix, you're explicitly allowing your implementation to break your code -- by defining macros with underscores, for example.&lt;br&gt;&lt;br&gt;Do you have any comments about this?&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162769</link><pubDate>Tue, 22 Jun 2004 19:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162769</guid><dc:creator>Larry Osterman</dc:creator><description>An interesting point.  I'm trying to avoid the m_Xxx thingy because it's too &amp;quot;mfc-ish&amp;quot; for my tastes, do you have an alternative suggestion?&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162771</link><pubDate>Tue, 22 Jun 2004 19:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162771</guid><dc:creator>Scott</dc:creator><description>Yeah, I don't think you can really hold any Rory Blythe post up as a &amp;quot;classic&amp;quot; except as a &amp;quot;classic Rory Blythe post&amp;quot;.&lt;br&gt;&lt;br&gt;People who make the argument that you should do away with a programming notation because of the IDE you are using aren't very good programmers. If you are leaning on the IDE too much, you don't understand the language/framework you are using well enough. &lt;br&gt;&lt;br&gt;People who say Hungarian notation makes the code harder for them to read have a point. It may be harder for THEM to read the code. I knew a guy once who couldn't make heads or tails of SQL stored procedures unless it was indented with line breaks a certain way. He had the same problem with variable declarations, they all had to be on a separate line. &lt;br&gt;&lt;br&gt;I still use those old VB/VBA (I don't remember where they came from) guidelines for naming controls on your form. e.g. btnGo instead of just go. Say you are designing a winform and you have a text box for the name and a label for the &amp;quot;name&amp;quot; textbox. I'd name the label &amp;quot;lblName&amp;quot; and the textbox &amp;quot;txtName&amp;quot;. Which is &amp;quot;pointless Hungarian&amp;quot; (as Eric L so named it). Given that in ASP.NET the form markup where the control is declared and the code behind that responds to the control are separate, it makes sense to me to use some kind of prefix (or suffix like &amp;quot;nameTextBox&amp;quot; except that I hate typing THAT much just for a variable name) to tell me what type the control is. Plus it allows me to semantically group controls together that are related. Say, for a search control that allows the user to input some text and then choose whether or not to search the web or just &amp;quot;this site&amp;quot; using a drop down. The  three controls I would need are a Button, TextBox, and a DropDownList. btnSearch, txtSearch, ddlSearch (or cboSearch). How does Apps Hungarian handle widgets?</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162778</link><pubDate>Tue, 22 Jun 2004 19:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162778</guid><dc:creator>Scott</dc:creator><description>&amp;quot;What happens with Systems Hungarian when you decide to change a signed long to an unsigned long? You need to rename your variables from l to ul.&amp;quot;&lt;br&gt;&lt;br&gt;Most every text editor supports a &amp;quot;find and replace&amp;quot; function that easily lets me change the variable names. Only Visual Studio allows me to hover over a var name and find out the type (which doesn't always work and sometimes requires a restart to make it work) or lets me right-click on a var/method and &amp;quot;go to definition&amp;quot; (the best trivial IDE function I've ever seen)</description></item><item><title>class members start with _ as a prefix</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162796</link><pubDate>Tue, 22 Jun 2004 19:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162796</guid><dc:creator>Roger Lipscombe</dc:creator><description>No, I don't have an alternative solution.  Since my day job still requires me to use (and abuse) MFC, I tend to stick with m_.&lt;br&gt;&lt;br&gt;Is there any real reason (other than that it's an MFC-ism) that you don't like the m_?&lt;br&gt;&lt;br&gt;I'm starting to do a bit of C# coding these days, and I'm trying to stick with the coding guidelines (from MSDN), which seem to imply that member variable names should look likeThis.&lt;br&gt;&lt;br&gt;Frankly, I miss my m_.&lt;br&gt;&lt;br&gt;I started using Hungarian naming religiously back in the days of Windows 3.0, but I've mellowed to the point that I think the only useful prefixes are m_ and g_, to signify scope, rather than type.&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162801</link><pubDate>Tue, 22 Jun 2004 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162801</guid><dc:creator>Larry Osterman</dc:creator><description>The C# coding guidelines are intended for public classes, which is why they don't differentiate between fields and non-fields - in fact if you run fxcop, it complains about having public fields.&lt;br&gt;&lt;br&gt;I agree that m_ and g_ are the only carryovers, I may start using them again :)&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162839</link><pubDate>Tue, 22 Jun 2004 20:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162839</guid><dc:creator>Don Newman</dc:creator><description>I have to admit, that go to definition is the best feature since the pop up of an objects methods and properties.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162867</link><pubDate>Tue, 22 Jun 2004 20:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162867</guid><dc:creator>Centaur</dc:creator><description>My copy of Exceptional C++ uses an underscore for data members, but as a suffix, not prefix, which is ok as far as the standard is concerned.&lt;br&gt;&lt;br&gt;I have also seen (and used) a convention where instance data members start with “its” (itsName) and class data members start with “their” (theirCount).&lt;br&gt;&lt;br&gt;Although, in C++ on Win32 it’s hard to use any naming conventions, with STL using lowercase wor almost everything, and Win32 using Pascal case for functions and all caps for data types. (I once worked with a guy who consistently named (non-POD) classes with all caps… I almost heard the code scream every time I looked at it!)</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162875</link><pubDate>Tue, 22 Jun 2004 20:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162875</guid><dc:creator>Cesar Eduardo Barros</dc:creator><description>&amp;gt; As I understand it, the C/C++ standards state that identifiers beginning with an underscore are reserved for the use of the language/library implementer.&lt;br&gt;&lt;br&gt;&amp;quot;In addition to the names documented in this manual, reserved names include all external identifiers (global functions and variables) that begin with an underscore (_) and all identifiers regardless of use that begin with either two underscores or an underscore followed by a capital letter are reserved names. This is so that the library and header files can define functions, variables, and macros for internal purposes without risk of conflict with names in user programs.&amp;quot;&lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html"&gt;http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;So, a member name beginning with a underscore and a lowercase letter would be safe, since it's not a global symbol (and macros would use two underscores or a underscore and a uppercase letter).&lt;br&gt;&lt;br&gt;Of course, you also have to avoid all the hundreds of function and variable names defined in the standards, because any of them can be implemented as a macro (for instance, errno). Some other prefixes and suffixes are reserved too; see the page above for details (no source code, so probably Safe For Microsoft Employees).&lt;br&gt;&lt;br&gt;I think there's no need to be that pedantic; if you can't compile something, it means you have the source code for that something, and can edit it to remove any incompatibilities. Of course, I avoid naming my types something_t, since I know it's reserved, but I don't check every name I create with the manual or the standards.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162876</link><pubDate>Tue, 22 Jun 2004 20:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162876</guid><dc:creator>Larry Osterman</dc:creator><description>Actually in the Exchange Store, the classes are all in all caps (OFOLD, OMSG, etc).  They're used internally as all lowercase (pofoldFoo, etc).&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#162952</link><pubDate>Tue, 22 Jun 2004 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:162952</guid><dc:creator>Sebastian</dc:creator><description>I use F as prefix for data members and A as prefix for parameters. It's something that's left over from Borland's TV/OWL/VCL coding standards (which have been close to the same since the very early 90's). I don't like m_, g_ or anything else with an underscore in it. There's really no need for an underscore unless you can't find the shift-key on your keyboard and write everything in lower or UPPER case, neither of which I want to see in my code.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163000</link><pubDate>Tue, 22 Jun 2004 23:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163000</guid><dc:creator>David Candy</dc:creator><description>The main problem is it makes names too long and too similar to other name's shape. They then need to be read rather than recognised (fluent humans recognise word shapes - illiteratacy they try to spell the word - it takes too long - they forget the previous words and so can't extract meaning from a sentence [as those who can't read at all is very small numbers of illiterate people)).&lt;br&gt;&lt;br&gt;So in short. It sounds like a good idea but not for humans. I'll also speak for the cat, it can't make heads or tails of it either.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163084</link><pubDate>Wed, 23 Jun 2004 00:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163084</guid><dc:creator>Steven C.</dc:creator><description>I second the comment about go to definition / xref browsing being the best reason to use an IDE over just text editors. I honestly have no idea how people can debug / code in large source bases with out them. :P&lt;br&gt;&lt;br&gt;Personally, I use &amp;quot;the&amp;quot; as my prefix for member variables -- although this is mostly because I hate typing underscores (otherwise I'd probably use a leading underscore). Either way, I agree with the gist of the article that Apps hungarian is FAR more sensible than System hungarian. Again, though, I'm coming from the stance that I read code in my debugger which gives me right click type information, goto def, and xref browsing etc. YMMV.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163171</link><pubDate>Wed, 23 Jun 2004 04:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163171</guid><dc:creator>Simon Cooke [exMSFT]</dc:creator><description>Hungarian Notation Lite&amp;#174;&lt;br&gt;&lt;br&gt;Since bitching (or otherwise) about Hungarian notation appears to be a common past-time right now, I thought I'd shove my oar in and deliver my 2 cents... &lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://www.accidentalscientist.com/2004/06/hungarian-notation-lite.html"&gt;http://www.accidentalscientist.com/2004/06/hungarian-notation-lite.html&lt;/a&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163185</link><pubDate>Wed, 23 Jun 2004 04:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163185</guid><dc:creator>Michael Grier [MSFT]</dc:creator><description>Everyone nowadays likes to throw away tried and true practices because... well, they can.&lt;br&gt;&lt;br&gt;Hungarian has its uses in a bunch of cases where the type system lacks information.&lt;br&gt;&lt;br&gt;int *Foo;&lt;br&gt;&lt;br&gt;is that a pointer to an int or an array/vector of ints?  It's clear in these cases:&lt;br&gt;&lt;br&gt;int *prgnElements;&lt;br&gt;int **prgprgiCurrentPositions;&lt;br&gt;int nElements;&lt;br&gt;&lt;br&gt;differentiating between pointers to singletons and arrays is very useful.  Differentiating whether something is in an index or a count is useful.  Differentiating between a count of bytes and a count of characters is useful.&lt;br&gt;&lt;br&gt;But I guess a bunch of people from other companies didn't invent it so we have to throw away the good with the bad.&lt;br&gt;&lt;br&gt;The &amp;quot;apps hungarian&amp;quot; tyrrany was stupid.  Having to scroll up and down constantly to try to find the nature of an identifier is also stupid.&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163329</link><pubDate>Wed, 23 Jun 2004 07:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163329</guid><dc:creator>Roger Lipscombe</dc:creator><description>&amp;quot;My copy of Exceptional C++ uses an underscore for data members, but as a suffix, not prefix&amp;quot;&lt;br&gt;&lt;br&gt;Typical, the one page that I choose to base my complaint on (Item 20) seems to be the only page in the entire book to use an underscore prefix :-)&lt;br&gt;&lt;br&gt;I'll concede the point about leading underscores only being reserved for global identifiers, though.</description></item><item><title>re: Hungarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163479</link><pubDate>Wed, 23 Jun 2004 11:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163479</guid><dc:creator>Mike Dimmick</dc:creator><description>Hungarian's useful in situations where the type system isn't strong enough to express your intent fully. In C, practically anything can be promoted to anything else with no casts, and strings and arrays aren't first-class types (or even types at all in the case of strings) so you need some way for the programmer to be able to see whether the operations performed are in fact correct - because the compiler can't help you.&lt;br&gt;&lt;br&gt;However, there's little need to be warty when using user-defined types (structs) except around the implicit conversion between any pointer type and void*.&lt;br&gt;&lt;br&gt;In C++, there's even less need because there is no implicit conversion to void* - you must use a cast. An C++ program will tend to have less typeswitching and peculiar casts due to the use of polymorphism.&lt;br&gt;&lt;br&gt;The ultimate in static type systems still has to be Ada, in which you can define new integer types that don't have implicit conversions between themselves, the built-in Integer type, or any other integer types, and you can also define range-restrictions of types (keeping the implicit conversions of its parent type). The main problems with Ada are that its interop with C requires writing declarations, its syntax (derived from or inspired by Pascal) is verbose (due to a requirement to be largely LL(1) parsable) and that the object-oriented extensions of Ada 95 aren't. That is, you type Fn( obj, arg1, arg2 ) rather than obj.Fn( arg1, arg2 ).&lt;br&gt;&lt;br&gt;In Ada, warting is completely unnecessary. Instead you should define new types. It doesn't completely prevent errors (there was a space project where a lander completely missed its target because the programmers were working in traditional units while the scientists were working in metric) but it can be helpful.&lt;br&gt;&lt;br&gt;Turning to more practical languages &amp;lt;g&amp;gt; in C# it's also largely unnecessary to wart, although the index/count difference can be necessary. If you're programming in VB.NET, no warts are required if you turn on Option Strict.&lt;br&gt;&lt;br&gt;(to wart: to decorate your variables and parameters with the type; warts: the decorations themselves)</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163529</link><pubDate>Wed, 23 Jun 2004 12:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163529</guid><dc:creator>Florian</dc:creator><description>&amp;quot;What happens with Systems Hungarian when you decide to change a signed long to an unsigned long? You need to rename your variables from l to ul.&amp;quot;&lt;br&gt;&lt;br&gt;Exactly. Which is precisely the reason that I encode type in variable names in my personal notation which seems to be similar to System Hungarian. If I change the type of a variable I need to check every line where that variable is used if I accidently introduced hidden bugs by the type change. And I want the compiler to complain loudely should I have missed an occurence, which it will do if the name of the variable did also change. As Mike mentioned, in C/C++ the change of type is not necessarily enough to get a compiler error or warning.&lt;br&gt;&lt;br&gt;The problem is that people who argue that Hungarian notation, especially System, is not needed anymore tend to leave out &amp;quot;if you code with MSVS or a similar IDE in C#, VB or Java for the  Wintel plattform&amp;quot;. If you code in C/C++ for Embedded, probably with an editor without MS gadgets, its a whole different story and other rules apply, IMHO.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163721</link><pubDate>Wed, 23 Jun 2004 15:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163721</guid><dc:creator>Scott Ludwig</dc:creator><description>&amp;quot;The first one, which is the one that most people know about, is “Systems Hungarian”.&amp;#160; System’s Hungarian is also “Hungarian-as-interpreted-by-Scott-Ludwig”.&amp;#160; In many ways, it’s a bastardization of “real” (or Apps) Hungarian as proposed by Charles Simonyi.&amp;quot;&lt;br&gt;&lt;br&gt;Hi Larry. Now I'm famous :). The story is that the hungarian bastardization originally came from the documentation folks. In the systems group we originally produced raw documentation for them that had standard &amp;quot;apps like&amp;quot; hungarian. They decided it was too obtuse for documentation so they did some serious readability changes to it. They are not programmers so this wasn't a graceful operation. This had a *huge* secondary effect because new programmers in the systems group would read the documentation and &amp;quot;more or less&amp;quot; reproduce that &amp;quot;documentation group&amp;quot; style. Not to mention books were written about the api that referenced that style. Pretty soon we had more code in this &amp;quot;docs group&amp;quot; style than in any other style.&lt;br&gt;&lt;br&gt;A smaller effect came from Win32 birthing. Many new kernel32 apis were created and what you see in those apis is MarkL's personal interpretation of what he read as the style in the documentation. Many &amp;quot;CountOfBytes&amp;quot; instead of &amp;quot;cb&amp;quot;, &amp;quot;IndexOfX&amp;quot; instead of ix, etc.&lt;br&gt;&lt;br&gt;Good to hear you are still cranking away. I hope all is going well with you.</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163802</link><pubDate>Wed, 23 Jun 2004 16:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163802</guid><dc:creator>Larry Osterman</dc:creator><description>Wow!  Thanks Scott for the clarification.&lt;br&gt;&lt;br&gt;I apologize for taking your name in vain, btw, I didn't have contact info for you so I didn't check it with you.  I REALLY appreciate the clarification.&lt;br&gt;&lt;br&gt;And yes, I'm still cranking away here, I'm over in multimedia land (talk about strange journeys) but I'm still having fun.  It's scary, I hit 20 years in 2 months.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#163830</link><pubDate>Wed, 23 Jun 2004 17:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:163830</guid><dc:creator>Eric Lippert</dc:creator><description>Dude, that was NINE months ago.  How is this _possibly_ following on the heels?  Just how big do you think my heels are?&lt;br&gt;&lt;br&gt;:-)&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#164565</link><pubDate>Thu, 24 Jun 2004 10:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:164565</guid><dc:creator>Mike Woodhouse</dc:creator><description>One of the best arguments for HN in the &amp;quot;old&amp;quot; days was to reduce the need to PageUp to see variable declarations. Two (unrelated?) factors that render this less necessary/cumbersome are (1) large, hi-res displays that let the developer see more lines - I can easily see 60-80 LOC on my screen right now; and (2) &amp;quot;improved&amp;quot; programming practices/languages leading to smaller, more cohesive routines, where definition and usage are extremely close.&lt;br&gt;&lt;br&gt;Where the definition of a variable cannot be local (forms controls are the most obvious) I still feel the need to see some qualifier for ease-of-comprehension. That said, these days I prefer UserNameTextBox to txtUserName...</description></item><item><title>re: Hugarian notation - it's my turn now :)</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#164608</link><pubDate>Thu, 24 Jun 2004 11:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:164608</guid><dc:creator>Serge Wautier</dc:creator><description>Larry,&lt;br&gt;&lt;br&gt;Thanks to you, I learned today that i've been 'doing' Apps Hungarian forever. I didn't even know it had a name ;-)&lt;br&gt;&lt;br&gt;My personal rules are pretty much consistent with Simon's Lite rules (Although I have a few more ones).&lt;br&gt;&lt;br&gt;I tend to specify the type only if it has some importance e.g. I have a WORD variable, there's most likely a reason why it's not simply an int. So people who read the code should better be aware of it.&lt;br&gt;&lt;br&gt;But in most cases, my Hungarian prefixes are just abbreviations for common words that should otherwise appear in the variable name. e.g. I truly hate nNumberOfBytes. cBytes does a way better job IMHO.</description></item><item><title>What does style look like, part 6</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#258326</link><pubDate>Tue, 16 Nov 2004 21:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:258326</guid><dc:creator>Larry Osterman's WebLog</dc:creator><description /></item><item><title>Even good Hungarian notation is still bad</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#2248443</link><pubDate>Mon, 23 Apr 2007 20:52:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2248443</guid><dc:creator>Greg Beech's Tech Blog</dc:creator><description>&lt;p&gt;I was bored this weekend so I ended up trawling through a bunch of blog archives and came across posts&lt;/p&gt;
</description></item><item><title>Electricmonk.nl weblog  &amp;raquo; Blog Archive   &amp;raquo; Joel On Software linkdump</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#3590136</link><pubDate>Thu, 28 Jun 2007 23:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3590136</guid><dc:creator>Electricmonk.nl weblog  » Blog Archive   » Joel On Software linkdump</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.electricmonk.nl/log/2005/05/16/joel-on-software-linkdump/"&gt;http://www.electricmonk.nl/log/2005/05/16/joel-on-software-linkdump/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Muutujate nimetamine: k&amp;otilde;ige raskem osa programmeerimisest? &amp;laquo; &amp;#8230;meie igap??evast IT&amp;#8217;d anna meile igap??ev&amp;#8230;</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#8436680</link><pubDate>Tue, 29 Apr 2008 10:07:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8436680</guid><dc:creator>Muutujate nimetamine: k&amp;otilde;ige raskem osa programmeerimisest? &amp;laquo; &amp;#8230;meie igap??evast IT&amp;#8217;d anna meile igap??ev&amp;#8230;</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://dukelupus.wordpress.com/2008/04/29/muutujate-nimetamine-kige-raskem-osa-programmeerimisest/"&gt;http://dukelupus.wordpress.com/2008/04/29/muutujate-nimetamine-kige-raskem-osa-programmeerimisest/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Inside Echobit  &amp;raquo; Blog Archive   &amp;raquo; Reflections on Hungarian notation</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#8853481</link><pubDate>Tue, 12 Aug 2008 23:41:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8853481</guid><dc:creator>Inside Echobit  &amp;raquo; Blog Archive   &amp;raquo; Reflections on Hungarian notation</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://inside.echobit.net/dreijer/archives/2008/08/12/reflections-on-hungarian-notation/"&gt;http://inside.echobit.net/dreijer/archives/2008/08/12/reflections-on-hungarian-notation/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Which syntax is better in SQL? - Page 2 | keyongtech</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#9361686</link><pubDate>Thu, 22 Jan 2009 05:37:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9361686</guid><dc:creator>Which syntax is better in SQL? - Page 2 | keyongtech</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.keyongtech.com/2150858-which-syntax-is-better-in/2"&gt;http://www.keyongtech.com/2150858-which-syntax-is-better-in/2&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Larry Osterman s WebLog Hugarian notation it s my turn now | Outdoor Ceiling Fans</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#9669357</link><pubDate>Sun, 31 May 2009 16:18:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9669357</guid><dc:creator> Larry Osterman s WebLog Hugarian notation it s my turn now | Outdoor Ceiling Fans</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://outdoorceilingfansite.info/story.php?id=5162"&gt;http://outdoorceilingfansite.info/story.php?id=5162&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Larry Osterman s WebLog Hugarian notation it s my turn now | Wood TV Stand</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#9678840</link><pubDate>Mon, 01 Jun 2009 20:36:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9678840</guid><dc:creator> Larry Osterman s WebLog Hugarian notation it s my turn now | Wood TV Stand</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://woodtvstand.info/story.php?id=3560"&gt;http://woodtvstand.info/story.php?id=3560&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Larry Osterman s WebLog Hugarian notation it s my turn now |  Portable Greenhouse</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#9690292</link><pubDate>Wed, 03 Jun 2009 11:29:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9690292</guid><dc:creator> Larry Osterman s WebLog Hugarian notation it s my turn now |  Portable Greenhouse</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://portablegreenhousesite.info/story.php?id=31834"&gt;http://portablegreenhousesite.info/story.php?id=31834&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Larry Osterman s WebLog Hugarian notation it s my turn now | Hair Growth Products</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#9714282</link><pubDate>Tue, 09 Jun 2009 11:40:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9714282</guid><dc:creator> Larry Osterman s WebLog Hugarian notation it s my turn now | Hair Growth Products</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://hairgrowthproducts.info/story.php?id=5121"&gt;http://hairgrowthproducts.info/story.php?id=5121&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Larry Osterman s WebLog Hugarian notation it s my turn now | Outdoor Decor</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/22/162629.aspx#9779240</link><pubDate>Fri, 19 Jun 2009 07:38:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9779240</guid><dc:creator> Larry Osterman s WebLog Hugarian notation it s my turn now | Outdoor Decor</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://outdoordecoration.info/story.php?id=1692"&gt;http://outdoordecoration.info/story.php?id=1692&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>