我想知道生产力是否可以与程序员是否以英语为母语有关。我在日本工作,我可以告诉你,日本程序员在获取语言的英语部分(保留关键字、函数名、教程等)方面很困难,这对他们来说并不自然,而且他们的思维过程因语言映射开销而减慢. 你能分享你与非英语母语程序员打交道的经验吗?克服这个障碍很容易吗?还是说英语母语者永远会有一点优势?
9 回答
我不是以英语为母语的人,但作为一名程序员,我在许多国家(包括美国,我现在生活和工作的地方)都非常有效率......但那是因为我一直在努力成为在我的非母语条件允许的情况下,尽可能地精通英语。我确实相信强大的英语能力有助于在很多方面提高编程(以及许多其他类型的工程——我开始设计芯片和硬件系统——以及更普遍的“知识工作”)的表现。
作为 Python 领域公认的权威,并且在 C++ 和其他编程语言方面也相当强大,我经常被问到“我应该学习什么语言来提升我的职业生涯”……而我的答案一直是“英语”!!!
我也给以英语为母语的人提供了这个答案:我见过以英语为母语的人犯下的大量粗心(或阅读障碍引起的,很难说)拼写错误、语法错误和各种不当行为,是'不比我从非母语人士那里观察到的数字低多少。每一个这样的错误都会损害沟通的有效性和准确性……而知识工作(包括编程)首先是关于沟通的!
我自己是以德语为母语的,我没有遇到过任何会影响我的工作效率的 API 中的关键字或命名约定问题,但我必须承认,当我学习英语时,我对英语有了基本的了解。拿起了我的第一门编程语言。
我目前在台湾与一个由台湾人(中文)、瑞典语、西班牙语和几位以英语为母语的人(美国、南非)组成的混合团队工作,英语是会议、代码文档、规范等的共同点,我没有观察到程序员的母语对编码技能有重大影响。
在我所描述的场景中,所涉及的每个人都至少掌握了基本的英语水平。由于函数名称或注释中偶尔出现拼写错误,您可以看到熟练程度的差异,但根据我的经验,您不能直接将其与代码质量联系起来。
此外,鉴于大多数新项目的大多数文档和教程仅提供英文版(或至少首先,在第一个翻译弹出之前),我认为世界各地的大多数程序员都会获得相当水平的被动英语用于阅读 - 不一定是为了在其中积极交流 - 我猜这就是处理关键字和函数名称等语言内在问题所需的全部内容,即使我什至不认为语言关键字是一个问题。关键字与英语中的for
“for”并不真正相关,如果您将句法结构视为一个整体,是吗?
一个不同的问题是一般的沟通。如果您的团队没有一种共同语言,每个人都可以有效地沟通,那将对生产力产生巨大影响。但是该语言与团队使用的编程语言完全无关,并且根本不必是英语——根据我的经验,所有技术术语仍然是英语,尽管讨论是用德语或中文进行的。
据我所知,我是墨西哥人,不是以英语为母语的人为了做同样的事情,我坚信编程语言会成为自然语言的一部分。另外我在美国的一些公司工作,我认为他们对我的工作非常满意,我相信所有的程序员都需要学习英语,但我认为思维过程不应该受到影响。您的程序员需要付出一些努力,但我认为如果他们足够好,他们将能够通过语言障碍。
您不必是真正的以英语为母语的人才能获得超级生产力,但是掌握该语言的高水平肯定会有所帮助,尤其是当您超越“hello world”并开始使用像并发这样的大词库时。
我的母语是日语,现在我在美国主要说英语,但我根本不认为自己是一个生产力低下的程序员。我怀疑日本的部分问题是与英语的语言距离太远,他们最终发明了难以理解的大汉字单词或直接导入片假名语音,这对他们来说可能没有意义。
当您处于该区域时,我可能会考虑编程语言本身,因此您在家说哪种自然语言可能并不重要。有太多的黑客不是以英语为母语的人,比如 Linus、Guido 和 Matz,仅举几例。
我的母语是英语,但我一生中的大部分时间都在学习人类语言和数字语言。
我猜想一个人的语言在写作系统、结构和词汇方面与英语越远,他就越难有时间。日语是与英语截然不同的语言,而德语(例如)更接近。我希望以几乎任何欧洲语言为母语的人比非欧洲语言的人在其他方面都更容易。
作为一个非英语母语的程序员,我可以说我没有问题,主要是因为我在学习编程的同时学习了英语,现在(我认为)我两者都精通。
然而,我想我可以理解这样一个事实,即语言与英语的差异越大,就越难理解语言的英语部分。日语是一种非常不同的语言的一个很好的例子,但即便如此,学习英语也必须被认为是成为一名优秀程序员必须做的事情。
能够用不同的语言简洁地表达你的想法是编程的意义所在,所以学习英语是一种练习的方式(甚至可能对非母语人士来说是一个优势,因为他们必须首先练习学习英语)。但当然,并不是每个人都具有相同的语言能力。
作为非英语母语的人,我可以告诉你,是的,以英语为母语的人比非母语的人有明显的优势。我发现英语语言范式在某些编程语言中根深蒂固。阅读文档速度较慢,因为翻译技术术语最困难。我认为英语是程序员必备的技能。
我不认为母语为英语和非英语为母语的人之间存在差异。从日本或中国人的角度来看,荷兰或欧洲其他地区的人都是以英语为母语的人。那是因为英语语言和文化接近当地语言和文化。
作为一个非英语母语的人,我从来没有遇到过问题,我在荷兰和以色列工作过的共同开发人员也是如此。
“西方”和“东方”之间的差距更大。我学过(或尝试过)普通话,当你学习到时,你会体会到语言结构和思维过程与欧洲语言有多么不同。我可以想象,作为一个以日语或中文为母语的人,你会为编程偏向英语而苦苦挣扎。
会编程的人和不会编程的人之间有如此巨大的差距,相比之下,能理解常用英语单词的人和能理解的人之间的差距并没有那么明显。90%
100%
这同样适用于不同的水平——知道如何写评论但不太懂英语的人仍然会比转向编程的文科专业的人写出更好的评论。