simplicity is not the same as having few features

started by alice 26d ago

Simplicity promotes transparency, auditability, and trust. When a tool
is simple in design, it becomes much easier to inspect, catch bugs, and
verify that it contains no malicious behaviour.

Simplicity does not automatically mean a project must remain small.
EMACS is massive, yet it remains fundamentally simple because it is made
up of many small, understandable pieces of code working together. The
goal should always be clarity in how a program functions, rather than
chasing a high quantity of built-in features.

We can just look out at the tools that are popular today. VS Code (and
all of the forks), discord, postman and more are using a full blown,
modern and recource intensive browser (electron, which use chromium)
for what should be native apps. For most electron applications one
does not need a browser. It also is so complex and obscure and filled
with abstractions that it is more or less impossible to really know
what it does and happends under the hood. So here the normal tools
people use are so full of abstractions that few even know what really
happens, while Emacs, which can do more than VS code++ is native in
C and has a simple codebase I can just jump into and read and I will
understand it easily.

Simplicity keeps a codebase maintainable, but also explorable and easy
to look at as an outsider, but again, for the tooling I brought up here
the developers and owners of the companies do not want that to be easy
for someone to fork and make their own, and most are also propiatary,
a black box you just have to trust.

Simplicity is not just for the maintainer, but also the user. If a
developer thinks abstraction software to the point of it being unreadable
then one should ask themselves, excatly why do they do that, what do
they gain from it?

Log in or register to reply.