He assumes that you cannot create you own types, e.g just create a HtmlEncodedString class. This was relevant in C and VBScript, but certainly not in C# or any other modern language I know of. Hungarian notation is a manually checked safeguard against wrong conversions when the language is not powerful to check it automatically. It is just cargo cult programming to keep using it in modern languages.
Note that his examples are in VBScript (a language which is as obsolete as BCPL). This might also explain his aversion towards exceptions.
Joel is a great writer and have many great points (also in this article), but understand that his coding advice is from a different era.
Comments
He assumes that you cannot create you own types, e.g just create a HtmlEncodedString class. This was relevant in C and VBScript, but certainly not in C# or any other modern language I know of. Hungarian notation is a manually checked safeguard against wrong conversions when the language is not powerful to check it automatically. It is just cargo cult programming to keep using it in modern languages.
Note that his examples are in VBScript (a language which is as obsolete as BCPL). This might also explain his aversion towards exceptions.
Joel is a great writer and have many great points (also in this article), but understand that his coding advice is from a different era.