Programming rant ahead

I’ve been reading through articles about various stuff today while learning how to do certain things I had no knowledge of. While looking at the code examples given, I saw a lot of Hungarian notation. Wondering why the people would do that, I looked into Hungarian a little more.

Now, I know that anyone using systems Hungarian notation in a language that type checks is not doing it right. Seriously, with a compiler that will type check and things like intellisense, what is the point in labelling your variables with their type?

If you are using dynamic types, I can understand using systems Hungarian to avoid errors but to use it in something like C, C++ or C# is just dumb. It leads to things like seeing a class that uses almost nothing but objects as types. All the variables then have o_ at the start. Really useful that, knowing that all the variables are of the object type.