开发人员差距和技术债务危机
英文原文:Developer inequality and the technical debt crisis
最近关于编程文化不公平地排斥某些团体的争论已经开始升温。他们想加入编程精英集团,在创业低谷觅得一席之地。更多地激励他们。就这个事情,我 真的没有要说的话,因为我认为这是对社会有着巨大重要性的较大事件中的一个使人分心的事情。较大的不公平在于编程已经变成了一个精英集团:需要具备天赋、 强化训练和完全专注的一个职业。今天如果你想成为一名程序员,你最好像我一样患上自闭症光谱(Autism Spectrum)【注1】,愿意把整个生命放在掌握枯燥知识的各个领域——并且享受它。普通人实际上被挡在了开发软件上。开发人员差距的真正不公平就是 它不必是这个样子。
在过去,有一个受人尊敬的职业,叫应用程序编程。大量的精英系统程序员编写基础设施和工具,提高大部分应用程序程序员的效率。我们的目标是让普 通人无需额外训练就能够轻松快速地建立有用的软件。这是 COBOL、Visual Basic 和 HyperCard 之类语言的精髓。为了更加文明的时代而产生的优雅的工具。在黑暗之前……在 web 之前。
那些在开发者工具上投资的大公司所控制的文明化的平台已经一去不复返了,被 web 的达尔文丛林法则扼杀掉了。仅仅了解 web 的程序员很难意识到,与过去的平台相比这是多么地、让人难以置信地糟糕。web 只是基于 hack、基于拙劣设计而建立起来的、大量的拼凑而来的集合。对于过去的应用程序的程序员来说,Error 的考古学基本是不存在的:一个有着数年经验的、娴熟的程序员,在今天的 web 时代,只是去开发简单的应用程序。多么浪费呀。二十年的方便已经把 web 带入了技术债务危机。让我感到惭愧的是,我们对此习以为常。
这些真的是黑暗时代。主流编程平台在技术上都是债务破产。程序员文化已经被创业公司成功的黑暗面误导到了自我膨胀的喷发。我只能看到一丝希望:现状就是即将瓦解的、一个自满的脆弱系统。
想象一下,互联网 HyperCard【注2】让普通人轻松开发 web 应用程序,像使用电子表格一样容易。[澄清:HyperCard 支持开发用于交流、协作和商业用途的网络系统,整合了编程简单性。]它已经铺设好了,完全隐藏了 HTML-CSS-JavaScript-HTTP-SQL-bash 等等巴别塔。还有很多生成高度定型的 app-in-a-can 工具,真正让人困扰,我们需要在宽泛的框架种类里匹配,比如 Rails。我们真的不知道如何去做,这也是为什么还没有做的原因,因此涉及到研究和技术风险。我相信它应该避免面向对象编程和函数编程语言的结构复杂 度。令人悲哀的是,现在的程序员文化迷恋于把复杂度做为一个状态指标或部落加入仪式。企图简化和民主化编程只会招致鄙视和嘲笑(就像 COBOL 和 Visual Basic)。程序员文化被破坏了,因此我们不得不开辟道路,引起 99% 的人们注意。
web 必胜主义者喜欢讨论改变世界。然而,如果你真的想改变世界,那就让普通人去开发 web 应用程序。打乱 web 编程!谁和我一起?
- 注1:自闭症光谱(Autism Spectrum),http://zh.wikipedia.org/zh-cn/自閉症光譜
- 注2:HyperCard 是一套为苹果 Mac 和 Apple IIGS 电脑开发的应用程序和编程工具。http://zh.wikipedia.org/wiki/HyperCard