bblaylock
Joined 4 years ago
Joined 4 years ago
Hopefully this helps! :D
Some of the projects I remember from the Joyent team were: dumping recordings of local mariokart games to manta and running analytics on the raw video to generate office kart racer stats, the bog standard dump all the logs and map/reduce/grep/count them, and I think there was one about running mdb postmortems on terabytes of core dumps.
In my opinion, our industry is not generally exposed to type level programming or dependent types. As a result there are many popular APIs (redux, redux-toolkit, react, vue, jquery) that implement variadic and generic interfaces with many overlapping options on single functions. If the types for these interfaces had been written (or long considered) before being published then the authors' might have noticed how complicated they are at the outset and perhaps decided to solve the simpler problems first and build the complexity slowly.
"It is a poor workperson that blames her tools"
Clay comes from the earth, has great plastic deformation properties, and when heated sufficiently it turns to ceramic--whereafter it can never be turned back to clay. We humans have been doing ceramics for over 30,000 years. Yet, there is no undo in the process of pottery, and much of the process requires experience to know, in the most inexact sense of knowing, what the result will actually look like. Clay exists as a physical medium, and while knowledge of chemistry and physics can certainly inform your usage of clay, in actuality the chemical interactions that occur during a firing are still complicated enough that we in the industry still refer to them as "kiln magic".
Programming, conversely, is primarily a logical thought experiment. Most of the programs I have written have almost no physical representation. There is no material to coding, even assembly programmers work at the top of a heap of mental and physical abstractions. The process itself is rife with tooling between the user and the medium, correcting our mistakes and suggesting alternative ideas. There is always very quick feedback as to the result of a program. And the field, although still full of open questions, is largely well specified, in spite of it being an incredibly young field of study!
As far as mediums for expression go it would, in my opinion, be rare to find two that are more different. I can't help but think of the old phrase, "the map is not the territory."