Welcome

  • This is the blog for Intentional Software Corporation. We keep it open for comments as we seek a dialog with the community. Each participant will be trusted to participate with integrity, decency and respect for others.
  • Visit Intentional Software Corporation

« Jetbrains | Main | Getting the experts involved »

July 08, 2005

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83451741069e200d834231eee53ef

Listed below are links to weblogs that reference Hungarian notation:

» re: Joel on Hungarian from Nick's Delphi Blog
[Read More]

» Hungarian Notation from ÁghyBlog
Cikk a Hungarian Notation-rõl Charles Simonyi tollából. [Read More]

Comments

Mike Lambert

Hey Charles. Was good meeting and talking to you about IP in the dinner line a week ago. :)

Anyways, I've never been a big fan of hungarian notation in my own code (perhaps because I was working on smaller projects), but I appreciated its value when I finally understood the difference between compiler and application types some time back.

I did have a couple comments about the above. First, taking measurement units into account is a very important one. Perl has some third-party modules that both enforce and perform automatic conversions between types.
http://cpan.uwinnipeg.ca/dist/Data-Dimensions
http://cpan.uwinnipeg.ca/dist/Class-Measure

I'm not convinced that it's the job of the type system to enforce such constraints. Generally only one type applies to an expression, and supporting these things in the type system would cause an explosion in types due to the orthogonal nature of these constraints, as well as many people shoe-horning their constraints into types so that they can be statically checked. I think enforcing these constraints as part of a more global constraint system is a more promising avenue for exploration. People can write up constraints and have these types statically checked by the compiler independant of implementation type checking. (Type checking might feed into the constraint checker, depending on the level of type-safety the language is going for). But I imagine I'm preaching to the choir here. :)

Secondly, in the section on "Aren’t Hungarian names hard to learn?", I think a good analogy would be to the list of prefixes and suffixes in the English language. We know what -ate and -ion and -er and -ed, as well as pre- and post- and whatnot mean, and we know how to apply them as "types" which change the meaning (the grammatical form) of the underlying word in different ways. By learning this common set of prefixes and suffixes, we can then create new words with ease, easily understand new words we have not yet seen, and generally deal with complex language more easily in the long run. Might be a good analogy to use the next time you find yourself defending Hungarian notation. :)

Dave Fowler

I have been using in Oracle PL/SQL for years.

Hungerian works very well and make reading/ writing good descriptive code pleasant.

Reading non-hungerian code initially forces constant checking how the variables are typed.

Robert

As a programming .NET and Objective-C, I use hungarian notation to help me make the code self-documenting.

I'm surprised I don't see too many people vouching for the pro's of hungarian. Thank you for the wonderful article.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment