编程不仅仅是编写代码--它使用的是大量的抽象。从零和1开始,通过处理器指令、内存地址、底层网络协议、数据结构,直至Web服务、组件框架和用户界面。从低级的,通常是乏味的东西,到更愉快的使用和维护的东西。
我们被归类为“高级开发商”。对某些人来说,这意味着我们是所有这些抽象层次的专家。如果我们不是,那我们就不好。我倾向于不同意这个观点。这不仅是为了证明我缺乏所有抽象层次的专业知识。
这基本上是一种权衡--你要么把注意力集中在一些层次上,然后变得很好,要么你做一点点这个和那样的事情,不管怎么说,你都不会成为专家。你可以说,在某个时候,你应该达到一个专家的水平,在大多数水平上,一个接一个,但这种专门知识变得多余和过时的时间。如果今天我把我的应用程序设计和框架知识放在一边,投入到算法或TCP编程中去,三年后,由于技术的进步,我可能不再是前者的专家了。
抽象概念的存在是有原因的--保护你不知道整个堆栈中有大量的警告。如果不是因为抽象,我们根本就无法编写出像样的软件。关注更高层次是我们应该做的,因为低层已经被处理了。这就把低水平的编程变成了一些只有开明者才能掌握的神秘艺术,但事实并非如此。只是需求较低。
当然,这并不意味着通过学习jQuery、Rails或Spring,您是最优秀的,并且不需要知道其他任何事情。无论如何,你必须熟悉事情是如何运作的,低于你的专家水平,而且-高于它。主要能忽视以下事实:应用程序消耗内存,在需要快速访问时最好使用哈希表,并且TCP连接可能是防火墙的,即使您不需要编写析构函数、实现哈希表或知道TCP。但是,在其他抽象层次上了解事物的原理并不意味着您是那里的专家。你没必要这么做。
https://m.douban.com/book/review/14211728/
我为什么要写这些?因为许多公司(包括大公司)的人倾向于认为必须成为所有级别的专家,尤其是在较低的级别。在面试中问所有这些琐碎的问题,假设你一生都在使用数据结构和网络编程。你当然没有,这并不意味着你不是专家。
在所有这些级别上不做专家是很好的。做一对夫妇的专家。原则上,一定要知道下面和上面的其他人是如何工作的,这样你就可以在有必要的时候成为专家。
https://m.douban.com/movie/review/14211728/
我们读过。我们看着。我们学习。我们获得了知识。有什么意义?
知识的意义在于让我们的想象力在越来越多的元素之间建立起意想不到的联系。换句话说,我们满足了我们偶然的想象。然后,它可能会产生许多东西--创意、发明、艺术。事实上,任何事情。如果爱因斯坦对物理学不了解的话,他就不会提出相对论了。如果莎士比亚不懂诗歌的规则和技巧,他就不会那么伟大了。伟大的头脑积累知识,然后,不知从哪里冒出来的想法。为什么会这样,我不知道。但确实如此。
如果知识的数量如此重要,那么为什么计算机不能提出新的想法呢?谷歌和维基百科拥有世界上所有的知识。它们甚至使人类更难记住那些容易被证实的信息,因为,嘿,你可以查找它图理解网络上相互关联的信息。但即使有了所有这些技术,一台计算机也无法产生弦理论、灯泡、仲夏夜梦或贝多芬的第九代。
https://movie.douban.com/review/14211728/
知识是一个先决条件。但是你不可能总是拥有所有的知识,因此你可能需要其他人来引导你走向正确的方向,去完成你的知识和你的先入为主的想法的缺失的谜题。这就是史蒂文·约翰逊在他的书中告诉我他说,机会有利于有关联的人。我想说的是,机会也有利于知识渊博的头脑。但这只是另一个先决条件。然后,你需要进入一种加速这一过程的精神状态。约翰·克利斯(JohnCleese)称这是他的“开放模式”。生思想的过程是通过获取知识,与他人的思想相联系,然后进入开放的模式,将其融合成一个新的理论、发明或杰作。
这里有一个小小的个人说明性的故事--我是一个电脑程序员,我对音乐有一些基本的知识。我试过用数学函数使计算机作曲,但失败了。然后有一天
https://book.douban.com/review/14211728/
,在炎热的8小时火车上,没有什么有意义的事情可做,我想到了一个电脑作曲家能工作的想法
但我们不要自欺欺人--这些想法很少伟大。不是每个化学家都是门捷列夫,也不是每个作曲家都是莫扎特。有时想法很小,或者只是局部的重要。有时它们不是关于科学或艺术,而是关于社会过程、经济或个人关系。有时他们觉得很重要,但结果却没有用。但不管这个领域或理念的重要性,它的存在是为了激发其他的想法,让其他的发明建立在失败的发明之上,让新的诗歌形式在一首不愉快的诗歌尝试中得到发展。即使你的政治思想到目前为止已经失败了,但它们在10年后可能会被调整,并为更多人的福祉而努力。即使我的电脑作曲家的实现失败了,其他人也会把它拿出来让它工作。正如史蒂文·约翰逊解释的那样。
但要走到那一步,我们需要知识。不是百科全书,计算机化的知识,而是让我们理解现实的不同方面背后的概念。所以去读书吧。书,文章,随便吧。听。老师,演讲。到目前为止,只有我们能够处理整个过程,机器不能。训练你的大脑去感知来自世界的信息,以便让你的想象力连接零散的碎片并产生新的想法。