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