Comment

Comment by 29athrowaway

History of computer programming:

- Having an accumulator (abacus)

- Accumulator with operations (calculator)

- Multiple registers with more complex operations (early computers with plugboards)

- Stored program computer (abstraction over the plugboards)

- Imperative programming (simple abstraction over operations + registers)

- Procedures, Functions, Structures

- OOP, functional programming, and beyond.

Why do we keep making layers of abstraction? reusability.

We want abstractions that reduce effort by making code reusable.

But abstractions are only a tool, using the tool correctly is on the programmer.

Code is written once, read many times. Languages that focus on "easy to write" are a trap. Languages that focus on "easy to reuse" are what you want.

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton