Coding Is Not Engineering

Civil Engineers who design buildings don’t build buildings and don’t lay bricks.

Civil Engineers think about designs for solutions to specific problems and communicate those designs to brick-layers using blueprints.

Software Engineers shouldn’t need to write code.

Software Engineers think about designs for solutions to specific problems and communicate those designs to coders using <???>.

Currently, Software Engineers are forced to lay bricks and hope that other engineers and brick-layers can reverse-engineer the design intentions from how the bricks were laid.

Most existing “general purpose” programming languages - like Rust, Python, Haskell, JavaScript, etc. - are brick-laying languages, not blueprint languages for describing engineering designs and trade-offs.

See Also

Blogs

blog

obsidian blogs (see blogs that begin with a date 202x-xx-xx-)

Videos

videos - programming simplicity playlist

Books

leanpub’ed (disclaimer: leanpub encourages publishing books before they are finalized - these books are WIPs)
Programming Simplicity Takeaways, and, Programming Simplicity Broad Brush

Discord

Programming Simplicity all welcome, I invite more discussion of these topics, esp. regarding Drawware and 0D

Twitter

@paul_tarvydas

Mastodon

(tbd, advice needed re. most appropriate server(s))