<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal"><p dir="auto">When I interviewed at Microsoft, one of my interviewers was Charles Simonyi, the originator of what is called “Hungarian”. It is a small set of rules and a bunch of prefixes used to encode type information in variable and function names. For example, ‘lpszName’ is the name of a long pointer to a zero-terminated string. It doesn’t work well when there are a lot of user-defined types, such as C++ classes. I was unaware of this before the interview.</p>
<p dir="auto">The interview included implementing a function on a blackboard. At some point I muttered that the hardest part of programming is coming up with names. I think I became a shoo-in at that point. (I still do believe that about names).</p>
<p dir="auto">—Barry</p>
<p dir="auto">On 1 Nov 2020, at 11:59, Stephen Guerin wrote:</p>
<blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><p dir="auto">Naming may seem trivial and arbitrary but it is important as this [CS aphorism attests](<<a href="https://martinfowler.com/bliki/TwoHardThings.html" style="color:#777">https://martinfowler.com/bliki/TwoHardThings.html</a>>).<br>
      "There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."</p>
</blockquote></div>
</div>
</body>
</html>