Remix.run Logo
notarobot123 an hour ago

Similarly, programming is also a precise language of communication. Initially, we focused on direct machine behavior but every abstraction above the hardware (including assembly) has been to make that behavior legible to humans.

Developed notations and shared procedural abstractions have made thinking about computation more intentionally human and source control has established a protocol for conversing with other humans in the language of a program and changes to that program.

The moment just now feels like a neglecting of the idea of communication being central. If the program is a compile target but not sufficiently legible or if the conversation moves too quickly for us to keep up then we retain the effects of computation but loose its meaning as communication. We loose the understanding and the ability to develop and evolve further shared abstractions.

Open source programs could be more like motivated explanations of computation. For open source to survive, maybe we should start to make the distinction between free product distribution and programming as communication and community building.