我讨厌几乎所有软件

注意事项 译者:

最近,NodeJS的创建者Rain Dahl在圣彼得堡举行了HolyJS会议。 我记得他的博客中有一个未发布的翻译版本,因此决定发布它。 在某些地方,翻译是很坦率的。 希望您对此感兴趣。 本文的发布日期是2011年10月。NodeJS的发布日期是2009年5月27日。

在几乎每个层上都是不必要且复杂的。 我能做的最好的就是祝贺某人,因为他们提供了这些东西,所以快速,轻松地解决了这个问题。 我唯一喜欢的软件是我可以轻松理解,并且可以解决我的问题。 我同意忍受的困难程度与需要解决的问题的大小成正比。

在过去的一年中,我想我终于了解了Unix的理想:使用C精心编排文件描述符和进程。这是一个好主意。 但这不是我们要处理的。 没有暗示复杂性。 相反,我必须处理DBus,/ usr / lib,Boost,ioctls,SMF,信号,易失性变量,原型继承,_C99_FEATURES_,dpkg和autoconf。

在这些系统之上编写软件的我们这些人会增加复杂性。 现在您不仅需要知道$ LD_LIBRARY_PATH来使系统正常工作,还需要知道$ NODE_PATH-知道,这是我的事,这是我增加的复杂性! 用户-想要查看网页的用户-根本不在乎。 他们不在乎我们如何组织/ usr,他们不在乎僵尸进程如何工作,无论zlib如何静态或动态链接到Node,bash中添加命令的工作方式都是如此。 有时,我们现有系统的累积复杂性将大于创建新系统的复杂性。 当这一刻到来的时候,所有这些事情都会丢到垃圾桶里。 我们可以将boost和glib和autoconf冲到马桶上,再也不会想到它们。

那些仍然喜欢学习某种编程语言的细节的人,例如,那些乐于知道如何说NaN是否为空的人,甚至都不知道它到底是怎么一回事。 如果您认为将代码中的所有相等字符对齐会很好,如果您花时间设置窗口管理器或编辑器,如果在测试运行器中插入unicode复选标记,如果在代码文件夹中添加了不必要的层次结构,则至少除了解决问题之外,还有其他事情-您不知道这有多沉闷。 没有人关心glib对象模型。

在软件开发中重要的一件事是用户的感受(用户的体验)。

Source: https://habr.com/ru/post/zh-CN454214/


All Articles