Since the engine has a mode of acting peculiar to itself, it will in every particular case be necessary to arrange the series of calculations conformably to the means which the machine possesses; for such or such a process which might be very easy for a [human] calculator may be long and complicated for the engine, and vice versâ.
—L. F. Menabrea, describing Charles Babbage’s Analytical Engine, 1842
(Translated by Ada Lovelace)
Design Is Compromise
In programming, there is always a tension between abstraction and efficiency. Code that has a higher level of abstraction is less likely to define the minimum number of operations ...