许多开发人员会声称从一种编程语言转移到另一种编程语言相对简单,特别是如果语言基于类似的范例.然而,在实践中,努力不是通过学习语言的语法,而是通过深入理解语言的细微差别,更重要的是了解语言库中提供的内容.例如,从语法角度来看,从Java切换到.Net并不困难,但编程效率需要对可用库有很好的了解.鉴于语言差异,从PHP切换到.Net可能会带来更大的障碍.
开发人员在同一范例中迁移到不同语言的实际开销是多少?如果范式不同怎么办?
对我来说最大的挑战通常是API,而不是语言本身(尽管是.NET).例如,我多年来一直在使用Microsoft的C++和C#(之前的Delphi).但是我开始使用Java很困难; 即使是琐碎的项目也可能需要一段时间.不是因为语言很难(不是),而是因为API不同而且排列方式不同.
需要花费几个月的时间来熟悉API,以便能够流利地使用它,并且需要数年时间才能变得"好"并学习语言的所有细节.对于很多开发人员而言,这是令人生畏的,因为你基本上必须花费大量的时间和精力来投入新语言以成为它的专家.很多时候,离开目前专业领域的动力并不存在.