American cities seem like a product of industrial processes where older European cities seem like a product of human processes. This is because most American cities were built after and alongside the car and the industrial revolution – the design of cities took into account what was easily possible, and that guided the shape and scale of everything.
Software has similar analogues. There are software codebases that feel much more industrially generated than hand written, and they’re usually written in automation-rich environments fitting into frameworks and other orchestrating code. Codebases authored in powerful IDEs or by compilers are filled with lots of unnecessary structure and repetition – XML, classic Java, compile-target C. These are codebases authored in company of “industrial tools” for programming. More code in these source bases are about incidental complexity than about business logic because such boilerplate is cheap to generate, in the same way large American cities feature expansive urban sprawls because automobiles make distance trivial to cover.
But despite the availability of cars, I still much prefer the scale and ambiance of European, human-scale cities, because ultimately cities are places humans must inhabit and understand. In the same way, I still much prefer the scale and ambiance of hand-written codebases even in the presence of heavy programming tooling, because ultimately codebases are places humans must inhabit.
← Possible by default
Invention and innovation →