Mark24
从Linux工具到没有银弹的思考
一、从逻辑守恒,推导到原子功能只会被沉淀而不会消失
在看screen
的介绍的时候发现,screen
是帮你做了一些事情。如果是自己手动输入,要重复的在命令周围加很多,才能实现在后台运行的功能。
最近越来越多的思考就是底层技术由于逻辑守恒的存它是不会消失 ,就像插头套插头套插头的感觉。基础的东西会一直存在。
灵感之一,就是电影《Ghost in Shell》里面一个镜头,即使拥有很多手指的人体改造人,还是需要去敲键盘。其实这是蛮科学的一个场景。
二、逻辑守恒,推理的到没有万能银弹
我觉得我误解了Linux的使用。 最近把工作环境完全搬到了Linux。我以前一直以为,我应该把自己置于某个环境中,他完全解决我的问题。比如i3wm, tmux。 实际上,我们应该通过小的工具彼此组合来完成工作,尽量减少All in One式工作。
为什么呢?我来说明下我的思考:
我首先研究了Termux,快捷键说实话有点复杂,我刚开始只是想把程序挂在后面而已。
后来发现 i3wm、Linux下一个以分屏为代表的中断模拟器Terminator,他们和Tmux其实都差不多。
不论如何,他们都有一个问题,就是复杂的快捷键。
Tmux、Screen
都有自己的Prefix的快捷键。Terminator直接会和系统冲突。
实际上只要他们足够复杂会衍生为各种复杂的快捷键——等价于把现实中的复杂度映射到快捷键的表达上。
作为一个模拟器的外壳,可能还会在内部递归式打开Vim、Emacs、Screen
。
他们的快捷键其实一定会对冲的。
问题在于我们把现实的复杂度映射到快捷键的组合。 这样在我们嵌套使用命令行软件的时候,必然会存在一个冲突的可能。
要么就像Emacs制造一个不会重复的快捷键。
要么就像Screen
足够简单,直接打开一个环境。
本质上和编程语言很像,我们遇到的复杂都是在于把复杂信息用有限组合结合起来。每个软件就像一个名字空间。这也不奇怪,Linux为什么倡导,一个软件只做好一件事情,然后彼此配合起来工作。
所以就是因为存在映射密度的问题,不存在万能银弹。如果存在了,这样子的银弹一定相当难用。