Designs by Duhart All infographics

Infographic 10 · D3 · Aliens block

The ladder, and what each rung cost

Ripley does not get stronger. She gets a bigger machine and keeps the judgement. Every language on this climb made the same trade, and naming what each one gave up is more useful than ranking them.

Height is distance from the bare machineclick a rung

The y axis is a judgement rather than a measurement, and the figure is better for admitting it. Two rungs deliberately dip: Go and Rust both took back control that the rungs before them had given away.

The rungs

YearLanguageGave upBought
1949Assemblynothing at allnames for the opcodes
1957Fortranthe register filean expression a physicist can read
1972Cthe instruction setone program, many machines
1991Pythonthe memory modelan afternoon instead of a week
1995Javathe memory model, formallya runtime that outlived its hardware
2009Goinheritance, and generics for a decadecompile times and a concurrency model
2010Rusta gentle learning curvememory safety without a collector
2014SwiftC compatibility by defaultnil that has to be admitted

Where the line actually is

Hardware is what you cannot change while it runs. That definition travels further than one about silicon, and it puts firmware on the software side and a baked container image on the hardware side, which is the correct answer in both cases.

SideProperties
HardwareCannot change while it runs. A baked image behaves like this. Being wrong here costs a recall.
SoftwareCan change while it runs. Firmware belongs on this side. A matrix multiply used to live here.

Campaign day 81. The written piece is in the writing index.