English words simply don't capture the essence of certain values and traits. Often times they even mislead. Example "Laziness".
Perl's creator, Larry Wall, acquitted laziness for all of us by making it the key virtue of (Perl) programmers. I reflect on my laziness often and look for opportunities to be lazy too. I admire people who are actively lazy. People who work hard to avoid hard work. Lazy solutions are clever, economic and just-in-time. Lazy people have a way of functioning that's cool and enviable.
Take for instance Mathematicians. Mathematicians are the laziest bunch. I was struck by this when I first learnt to use the Log Table. In fact, when I figured out how it worked, I couldn't help chuckling. It was like a naughty student's elaborate ruse to avoid multiplication by hand. A Log Table is essentially a painfully created cheat sheet. This sheet helps convert multiplication to addition and exponents to multiplication. Making the Log Tables would have been extremely painful. It took Napier and Briggs multiple decades back in the 1600s to make them. This unleashed a wave of laziness that made tedious arithmetic possible for 100s of years.
Lazy solutions like Log Tables often employ caches, tables and cheat sheets. The Lalplace transform Table is another example. Laplace Tables are used to solve differential equations by converting them to algebraic equations. Again, like Napier and Briggs, Laplace made the unfamiliar familiar through his cheat sheets.
"Memoizing" is another example of laziness from programming. Here you trade off memory to avoid computing. It solves a computationally intensive question only once and remembers the answer for the next time the same question is asked again. Again, this technique works by building an "Answer Table" just-in-time.
Which brings us to just-in-timeness. Perhaps this is the defining feature of laziness. This is from the realm of mathematics again. Mathematicians have no problem reasoning about infinity, infinite series and manipulating these all day never leaving their chairs. They do so through notation and identities that operate on the un-imaginable. The same is becoming fashionable in programing. Example "Generators" in Python and "Lazy-Sequences" and "Transducers" in Clojure. Programmers are encouraged to favour laziness and model systems using lazy techniques. In this style, the actual realization of individual elements in a sequence is deferred till it can't be any longer. This leads to declarative and expressive programs. Programs written in this style are concise in source code, efficient at run-time (declarative style makes the code intent clear causing compilers to tighten and re write code as necessary), easy to reason about and test.
Its not surprising then that Laziness got acquitted. It deserves to be among the free and prosperous. Thank you Larry Wall !!