我正在阅读彼得·塞贝尔(Peter Seibel)的《工作中的编码员》,很多时候都提到不能写的程序员通常会变成贫穷的程序员-道格拉斯·克罗克福德(Douglas Crockford),约书亚·布洛赫(Joshua Bloch),乔·阿姆斯特朗(Joe Armstrong),迪杰斯特拉(Dijkstra)声称只读了一半的书)。
您对此有何看法?无法用英语等自然语言表达自己的意见会妨碍编写好的代码吗?
我正在阅读彼得·塞贝尔(Peter Seibel)的《工作中的编码员》,很多时候都提到不能写的程序员通常会变成贫穷的程序员-道格拉斯·克罗克福德(Douglas Crockford),约书亚·布洛赫(Joshua Bloch),乔·阿姆斯特朗(Joe Armstrong),迪杰斯特拉(Dijkstra)声称只读了一半的书)。
您对此有何看法?无法用英语等自然语言表达自己的意见会妨碍编写好的代码吗?
Answers:
编程要比“编写代码”更多。成为一名成功的程序员的很大一部分涉及沟通。能够与客户建立联系,了解他们的需求,将他们转化为技术领域,用代码表达他们,然后将结果解释给客户。
很难用书面表达清楚的程序员通常可能无法很好地交流,而那些对语言和写作有很好理解的程序员通常可以将这些技能转化为他们编写的代码。
我认为不能写得好,从而不能很好地沟通,将使一个优秀的程序员无法工作。
正如Jason Fried和David Heinemeier Hansson(来自37signals)在其《返工》一书中所说:
如果您想在几个人中决定一个职位,请雇用最好的作家。
成为一名优秀的作家不仅仅是写作。写得清楚是思想清晰的标志。伟大的作家知道如何交流。
关键是,编码也是一种沟通技巧。杰克·甘斯(Jack Ganssle)在他的Embedded Muse电子通讯中最近引用道格·阿伯特(Doug Abbott):
当您编写程序时,您真正要做的就是与另一个人交流您想要计算机执行的操作。编程是关于交流的,就像其他任何形式的写作一样。所以是的,计算机科学专业的学生应该有良好的写作能力。但是,由于计算机科学中的知识很少,因此他们可能只需要一些基本的创意写作课即可。
不懂散文的程序员也可能也不懂代码。
有关此有趣文章的更多信息:
这完全是轶事,但是:
我曾经与之合作过的最好的“摇滚明星”程序员是一位非常贫穷的作家。当我说“非常贫穷”时,我的意思是当您看到他的电子邮件时,碰到的类型就像他要么极度醉酒,要么几乎不识字。打字错误,缺乏标点符号,难以清晰表达想法以及常见的拼写错误(“他们/他们是”等)很多-有时几乎是令人发指的。阅读他的一些电子邮件-我会担心他直接通过电子邮件向客户发送电子邮件(我们在那家公司不需要这样做)-因为这会使公司看起来很糟糕!
尽管如此,他还是一位超级明星程序员。比平均水平高出一个数量级的生产率和接通率。
我不确定该怎么做。我已经和不同的人见过几次了。有些人似乎没有坐下来写东西的诀窍。通常,这似乎并不会影响他们在其他领域的才华(即使是相对看似相似的“知识型工作”才华,例如编程)。您可能会认为它可以连接,但是我看到了几个类似的生动示例,而实际上却没有。虽然我想这是很可能的,他们是“ 例外谁证明规则 ” -我可能只是从来没有想过要注意到坏的作家谁是不是程序员,和良好的作家谁是。
如果他们写的不好,他们怎么能说服他们他们是优秀的程序员?
不能精确表达系统组织或想法的人能够通过编写(非常)笨拙的计算机正确解释的代码来编写精确的指令吗?
我认为对于程序员而言,无论是口语还是书面语言,都能保持良好的沟通非常重要。将一个想法转换成单词的能力是编写代码的前提。
无论是与计算机通信还是与人交流,我们都必须按照语法规则将单词排列成有意义的顺序。我们必须正确地发音或正确拼写这些单词,以便对话的另一端能够理解它们。计算机将抛出语法错误,同事要么说“什么?” 或打折那些被认为是疯狂的胡言乱语或更糟的话,那是一种令人分心的烦恼。
我强烈劝阻应聘者,因为他们无法完成想法或停留在某个主题上。无论如何,一个人还是被我们的老板雇用的,结果证明他无法按时完成简单的任务,因为他对明亮的,有光泽的新技术或玩具引起了关注。
因此,是的,程序员必须能够良好地沟通很重要。如果他们无法与人进行有效的交流,他们将无法通过计算机进行交流。
穷作家变成穷作家,仅此而已。写作技巧差并不意味着他们根本无法交流,但他们不能很好地表达或表达。当然,任何人都可以说沟通技巧在公司中很重要,而且如此等等,但这并不意味着沟通技巧较差的程序员不能很好地完成工作。编程和写作是艺术,但完全不同。写作是关于如何使其他人理解您在说什么和/或采取相应的行动,但是编程并不能使计算机理解您的要求,因为没有计算机可以理解任何用户要求(至少在距现在的IMO 100年之内)。编程是关于如何将需求转换为编程语言的,这就是为什么写作技巧没有那么相关的原因。
绝对不!
一个好的作家只不过是一个好的作家。请一个好的作家向非技术人员描述数据库的概念。您认为您会得到什么...?
一个好的作家,写道。一个好的程序员会写出好的代码。
我打算继续下去,但我宁愿花时间回答其他帖子。我几乎认为你们知道我在这个问题上的立场。