设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

Steve Yegge:编程的肮脏小秘密

2014-5-12 11:58| 发布者: joejoe0332| 查看: 2819| 评论: 0|原作者: 黄诗友|来自: 伯乐在线

摘要: “对于说这不是大学所要求的无稽之谈,我说想说一句:‘给我他妈的好好学习打字。’”—— Mr.Pink  这是另外一篇我最想写的文章。老兄,我试过很多次了,但都没什么用。再一次,我无法摆脱对一些事情的强烈看法, ...


  学习打字


  Yeev的橄榄球教练很善于教学。我不知道他是否玩过乐器,但他肯定使用了经典练习法的思想。


  Yeev十分认真地上一天一次的课。首先他需要学习打字的基本知识,事实上,并没有多少基础知识。你把你的手放在中间行的固定位置,使你的手腕离开键盘。会有图例告诉你哪个手指该按哪些键。记住这些规则,将每个键都练习几次。想想上幼儿园的时候,当老师让你写字母表时,你会将一行写满A,然后下一行写满B,就像这样。


  在一到两天内,你就可以记住键盘格局,然后就可以不看键盘打出任何东西,虽然可能比较慢。仅仅需要一到两天,你就在尝试打字了。在学完基础之后,不出意料地,Yeev班上练习了很久《Typing Football》这个游戏。教练发明了这个游戏,来使学习打字充满乐趣。因为教练十分精明地意识到,并不是班上所有人都记得全国橄榄球联盟规则书和策略书。这个游戏规则涉及到将班级分为两半,然后通过哪一半打字比较好来移动球。Yeev在1982年使用的练习在现在通过软件的使用而做的更好。见鬼,现在人们通过软件让你射杀僵尸来练习打字,这真是太有趣了。


  如果有什么技巧学习打字,那就是坚持。Yeev的班上坚持了,连着12周,一周5天,他们都练习打字。他们没有家庭作业,因为学校并没期望他们成为打字员。他们只是来上课,练习《Typing Football》这个游戏,做着快,慢,中等的练习。


  当然也有细微的差别。有时候他们自己选择语言来练习字母群,Yeev选的是英语。像“tion”、“the”、“ing”等群组需要被练习的知道他们能毫不费力的打出它们来。有时他们练习的东西里会包含大量标点、数字或奇怪的间距。这些细节并不在我们的故事范围内,它们都被现在的软件所解决了,你会发现这点的。


  那么结果如何呢?在学期末,Yeev一分钟打对了60个词,而且他甚至不是班上最好的。这可是45天,每天50分钟的付出,并且充满了乐趣。实际上,随着更好的软件和键盘出现,现在的打字学习可能就是30天,每天30分钟的付出。现在Yeev可以每分钟打120个词。他进大学时还只是每分钟打大约60到65个词,但他决定提高速度,在他遇见了一个叫凯利的同级学生,他通过UNIX上的“talk”软件每分钟能打120个词。在他们较量时,Yeev能够感受到她的不耐烦。他提到了这点,她回应到,“你该看看我在Dvorak键盘上打字时的水平”。Yeev在那时已经深谙社交了,他咬紧牙关,不在打任何东西。但关于Yeev的故事已经足够了,毕竟他是人们虚构的。

 

  你需要学习打字吗?


  嗯,你知道你是需要的。这正是你所需要的东西。即便你可以找借口,但你深深明白你需要学习它。打字是我们现在与整个世界互动的方式。让自己不便并没有什么意义。你可能会像其他人一样说,“我并不受限于速度,我把全部时间用来设计,而且它们与编码无关。”我经常听到这样的话。但是你错了,程序员一天到晚都需要打字,即便他们在设计。实际上尤其是他们在设计时,他们更需要打字,因为他们要与其他在外地的参与者交流。


  这就是这个行业的无耻的秘密:不按指法打字的程序员就像文盲。


  如果你按指法打字,你就会明白我说的文盲。这个十分无耻,人们不会在正规公司谈论肮脏的秘密。文盲就是和躲在工厂地下室的儿童{敏感词}的混蛋。我发誓,人们会感到不舒服谈论这个。我们程序员在Reddit网上表现得很有教养,但是我们不能面对我们自己关于社会文化的最大的肮脏秘密。看到了吧,让我来告诉你:我将要揭露肮脏的一面,不管你是否乐意。我所谓的文盲是什么?——不按指法打字的人。他们为了维持他们的生产力需要做出牺牲。这不过是简单的算术。如果你花更多时间码代码,为了保持速度,你做其他事情的时间就会减少。


  但是当谈到编程,你有太多东西可以牺牲。你可以削减你的文件,减少代码注释,减少邮件通信以及减少网上讨论的时间,更多的加入小组讨论和走廊交流。所以,猜猜看不按指法打字的人能牺牲什么?几乎上面所设计的任何东西。按指法打字的人在一英里外就可以发现一个很次的程序员,他们甚至不需要共处一室。对于初学者而言,人们察觉不到他们的外行,因为他们还没有参与到我们的网上社区来。当你与他们一对一交谈时,他们表现的很聪明。他们通常很聪明。但非打字员在网上通常只有只言片语,所以他们的表现往往很有限。他们看起来近乎冷漠,对发展工程文化没有任何兴趣。这真是太好了!


  这只是我说的文盲的第一部分。他们不合群,这就是他们所谓的“我大部分时间都在设计”瓦解的地方,因为设计需要交流,需要不断记录所做的决定。如果你没有将打字作为你设计的一部分,那么你设计的东西就不会正确。另外一点就是外行的代码往往是最短的。他们不会花费其他努力来注释代码。如果他们的打字技巧太差,他们可能会选择用一种偷懒的方式来注释代码。难道他们是在用手肘打字?他们甚至不在意格式,这可以说是一个程序猿所犯的最大的罪。这还不是最糟糕的,最糟糕的是错拼标识符后还不修正过来,因为有太多地方需要修正。但实际上打字机的格式排版就在那里。


  你知道打字机格式吗?你把你所有字母挤到打字机里,然后集中输出到屏幕上,砰!你觉得那是代码?我认识个像那样写代码的家伙,实在是太可怕了。看着他几乎就是件可怕的事情,因为他打字时一直盯着键盘在,而且仅用两个手指,不管他是否两个手指都用到了,并且他一分钟才看一次屏幕。简单看了看他打字,两件事中的一件必然发生。第一个可能性就是拿鼠标,因为在过去的一分钟他都把内容打在了错误的窗口里,结果很搞笑。如果他不伸手拿鼠标,他就会按回车键,而且按的次数几乎与他打字敲击的次数几乎相同。这个家伙是计算密集型而不是I/O密集型,尽管如此,我猜我还是会放他一马。

 

  但是重构不是有很好的作用吗


  没错,重构工具使你充满了底气。我听说过这种说法,而且多次听到。重构工具的存在使得打字显得没什么实际用处,早已过时。你仅需要一天到晚按着菜单键就可以领取工资了。我知道这种事。但事情是这样的,大家都在嘲笑你。或者如果他们是你亲密的朋友,他们仅仅在可怜你,因为你太老土了。如果你真的认为重构工具是打字的替代品,就好比你认为你可以砍掉你的双腿,因为你有汽车。我们他妈的才不会买这种东西。


  如果你是一个程序员或者正在利用计算机进行大规模生产的IT专家,有必须学习打字!我无法表示的更明确。如果你拒绝花时间去学习打字,那么你就是朵奇葩。我可能有点夸张,但最好是这样表述。我希望我们还能做朋友,你尽管去鄙视那些奇葩。


  好消息


  这里有些好消息,既然你最终打算学习打字,我想告诉你一些好消息。


  我知道你会去学习打字,我怎么知道?因为你已经读到这里了。说真的,你所读的东西使你与他人不同。当你得知有这么多的程序员不知道如何阅读,你一定会瞠目结舌。我没开玩笑,你读的速度可以比你打字的速度快很多,但是无数程序员不能跳读这篇博客。他们尝试了,但不像快速阅读者,他们无法轻易地获取文章的中心内容。这是行业里另外一些肮脏的小秘密。


  所以,既然你都读到这了,现在你明白你需要马上学习打字了吧。你深知你可以做到的,而且你也不会觉得有多难。你无非就是少玩一些游戏,然后很快地你就可以使你的生产力提高两倍,而不需要像学习一门新的数据结构付出那么多。


  这就是我知道你为什么会学习打字。所以我会告诉你一些好消息:打字简直简单的一地。快,慢,中等速度。装一些打字软件然后就开始学习吧。我们并不是在谈论节食或戒烟这种困难的事情。不管你什么年纪,采取什么样的方式,它就是这么简单。你仅仅需要学习十几个小时。如果你有什么困难,尽管发邮件给我,我会让你充满斗志。这不会花费我什么时间,因为我打字很快,再加上你的邮件又不长。告诉你个事实:在我大三或大四之前,我都还不知道如何按指法打字。当我每次需要打一个数字时,我不得不坐起来,低头看键盘,随便用几个手指抚摸键盘时,我才意识到这个事实。所以,我最终花了大概两周的时间,每天15分钟的样子就学会了。就是这样,你并不需要经常打数字,顺其自然,差不多一周的样子,每次我要打数字时,我就会慢下来,把它打对。这样大概持续了两周,我就学会了打数字。


  这都是15年前的事了,15年啊。我喜欢盲打。实在是太有效率了,你可以想打对快就打多快,那么你为什么还想选择其他方式呢?来吧,是时候开始学习了。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部