summaryrefslogtreecommitdiff
path: root/content/article
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-06-14 23:52:53 +0800
committereltrac <hi@eltr.ac>2026-06-14 23:52:53 +0800
commit3a92efd879d5451969a4990f0bc030f832ef64a6 (patch)
tree5f0f28085938cf43add3b42720f9cc8e81db129d /content/article
parentd4a82a6719f19e0f4de3cccc0dc6fb96bac4d96a (diff)
[draft] new draft
Diffstat (limited to 'content/article')
-rw-r--r--content/article/light-software.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/content/article/light-software.md b/content/article/light-software.md
new file mode 100644
index 00000000..dae9aa90
--- /dev/null
+++ b/content/article/light-software.md
@@ -0,0 +1,22 @@
++++
+title = '不能承受的软件之轻'
+slug = 'light-software'
+tags = []
+categories = ''
+date = 2026-06-08T15:07:39+08:00
+draft = true
+toc = true
++++
+
+我不允许包大小超过 500 MB 的软件出现在我的电脑上。当然,这排除掉了大多数 Electron 软件(再见,Obsidian!不过鉴于 Logseq 是用 Clojure 写的,我暂且容忍它),我的电脑上也没装 QQ 和微信,不重要但必要的软件我都尽可能选择 Web 端。
+
+我自己作为软件开发者,也尽可能保持包足够小,占用的内存足够小,但事实是:这很难,各种意义上都很难。<!--more-->
+
+## 认知负荷之难
+
+软件的设计与实现从头到尾都十分消磨精力,界面设计、功能设计、用户体验、安全性、隐私、健壮性、轻量等等要素必然不能总是考虑全面,就算思考周全,也必然有取舍。甚至说,架构设计就是决策的集合,决策就是取舍——软件设计原则都在那,至于要遵从哪些、违背哪些,是开发者的选择。由于原则相互矛盾,十全十美就不可能。
+
+其中,包大小就是最先被舍弃的要素之一。没人在意软件有多大,尤其是那些跑在服务器上的软件,只要不造成性能瓶颈,软件包本身大一点算什么?而那些运行在个人电脑和手机上的软件,如今内存和硬盘都*相对*更便宜了,100 MB 和 1GB 之间又有多大区别?
+
+我承认,像我这样对包大小吹毛求疵的人,可能有些太关注细节了。软件最重要的不应该是它好不好用吗?——*可那些粗制滥造的软件恰好也是那些最不在意依赖树大小和编译产物大小的啊。*
+