首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优秀的黑客应该是艺术家

优秀的黑客应该是艺术家

作者头像
章鱼喵
发布2019-03-16 16:23:09
4470
发布2019-03-16 16:23:09
举报
文章被收录于专栏:codingcoding

本系列文章是《黑客与画家》的读书笔记。以下为第二章黑客与画家读后感。

君子善假于物

在设想一件事时,我总告诫自己:千万、千万不要重复造轮子!不要觉得自己特牛逼,不要觉得市场上现有的产品都是垃圾,无法承载自己的梦想,然后就要撸起袖子从头到尾自己去干一番。

如果你是这样的完美主义者(其实就是一个傻叉),那么注定什么事也做不了。因为你会一直陷入主营业务之外的其他事情。比如你有一个伟大的想法,想做一个网站将这个想法呈现。然后你选择一切自己来处理,服务器要自己弄,不用现成的云服务器,因为觉得自己的数据很宝贵。代码不用第三方框架,每一行代码都要自己写。

这样折腾下去,肯定啥事也做不了。有一个想法要验证,根本就不需要用网站,微信公众号能不能实现?第三方平台能不能先试点?相信我,你的想法在很大概率上是没市场的。

正所谓"君子生非异也,善假于物也",一定要善于借助现有的工具,我们要搭建的是艺术品,不应该去生产原料。而且自己生产的原料极大可能比现有的要差。

创造优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。

灵感是在创造的过程中产生的

上学时,每次写作文,不可能是完全想好了再动笔,时间上也绝不允许这么做。都是有个思绪就开始写,在写的过程中自然就有灵感。写程序也一样,不可能预先将一切都想清楚,如果在写代码之前要先将各种类的关系想好,每个方法命名好,那写代码就跟做填空题一样,且不说这样降低了写代码的脑力乐趣,这样做真的有效吗?但凡写过程序的人都知道代码是需要迭代升级的,我们不可能做到预先知道每个细节。因此,我们把整个程序想清楚的时间点,应该是在编写代码的同时,这与作家、画家和建筑师的做法完全一样。可以理解为写草稿,再修改。

出于这样的编程习惯,格雷厄姆偏向于喜欢动态语言,因为他需要的是一种可以随意涂抹、擦擦改改的语言,不想正襟危坐,把一个盛满各种变量类型的茶杯,小心翼翼放在自己的膝盖上,为了与一丝不苟的编译器大婶交谈,努力地挑选词语,确保变量类型匹配,好让自己显得礼貌又周到。

优秀的黑客应该是艺术家

优秀的黑客应该是一个艺术家

每一个优秀的黑客都会有自己的项目,因为他们热爱编程,就一定要开发自己的项目。如同一个热爱画画的画家一定会有自己的作品。

如果黑客只是一个负责实现领导意志的技术工人,职责就是根据规格说明书写出代码,那么他其实与挖水沟的工人是一样的,从这头挖到那头,仅此而已。

由于经济的考量,黑客前期应该先找一份工作来糊口,即使工作中所写的代码并非自己喜欢的。而晚上则是黑客创作的时间。

黑客对于自己的代码质量要有类似于洁癖者的严苛要求,程序写出来是给人看的,附带能在机器上运行。但现实中,很多人写的程序只求能在机器上跑起来就可以了,然后不到两个月,自己都看不懂以前写的代码了,更别提其他人。

此外,优秀的黑客必须具备“换位思考”的能力,判断这一点的标准就是看他怎样向没有技术背景的人解释技术问题。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.03.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 君子善假于物
  • 灵感是在创造的过程中产生的
  • 优秀的黑客应该是一个艺术家
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档