With apologies to the original. (Please read it before this one.)
2009. Pike and Thompson, who invented C, return to invent C again, this
time a relatively verbose, garbage-collected, type/method based, statically
typed, not too but kinda object oriented programming language, without single
implementation inheritance or multiple interface inheritance, with C-like
syntax that isn’t C-like enough, a dumb mascot,1 no ternary because question
marks look annoying to Pike, capitalization of identifiers as a semantic
feature, if err != nil { return err } every fourth line, and a decade of
fierce blog posts about why generics are unnecessary, then generics in 2022. It
is designed for concrete code, so that people can use it to write Kubernetes,
the most abstracted codebase ever written. Google loudly heralds Go’s lack of
novelty.
2009. Ryan Dahl, having seen that JavaScript is an excellent language in
which typeof null is "object", NaN does not equal NaN, and no integers,
decides it should also have access to the file system. The original API is
entirely callbacks, nested until the code falls off the right side of the
monitor. async/await arrives in 2017. In 2018 Dahl gives a one-hour conference
talk listing his regrets, then invents an anagram Deno. He invents two more
runtimes after that, each apologizing for the previous one.
-
Sorry, I actually like it! I just had to say this. ↩︎