Quirks and Idioms
Just like languages spoken around the world, every programming language has its own idioms and quirks. These quirks make a language interesting and are powerfully expressive, just as much as they might infuriate the language student. A clever trick such as the Schwartzian Transform might seem unmaintainable madness to the uninitiated, but knowledge of the Schwartzian Transform is one of the hallmarks of fluency in Perl. A programmer fluent with .NET will generally prefer LINQ over looping constructs. A fluent C programmer will not overheat at the semantic implications of a pointer-to-a-pointer-to-a-pointer. The list goes on.
An interviewer who tests you on the quirks of a language will generally not be testing your ability to remember programming language trivia. The interviewer will be testing your familiarity and fluency with a language or a framework. The assumption is that if you are proficient with a language, then you will know most of its idioms and many of its quirks.
In this chapter I barely scratch the surface of the many, many quirks and idioms you will find in the wild as a practicing programmer. If, after attempting these questions, you find that you aren't as familiar with a language as you would like, the best way to improve is to study the code of others and focus on anything that isn't obvious. You won't improve your knowledge by sticking to what you already know.
I have divided this chapter into sections based on language so that you ...