2020年,5个学习一门新编程语言的理由


全文共2165字,预计学习时长7分钟

图源:Unsplash

功夫明星李小龙有一句名言:“我不怕练了一万种腿法的人,我怕的是同一种腿法练了一万次的人。

 

可见,只要一门心思地做一件事情,就能够达到出神入化的境地,连一代功夫大师都会惧怕你。

 

在2020年,你需要学习一种新的编程语言还是像李小龙说的那样继续你已经掌握的语言?

 

还是那句话,具体问题具体分析。

 

图源:Unsplash

如果你刚刚开始学习第一门编程语言,那么我建议你先正确地学习这门语言。但如果你已经正确地掌握了一种语言,或者你是一名经验丰富的软件开发人员,已经掌握了不止一种编程语言,那么我建议你明年学习一种新的语言。

 

学习一门新的编程语言是要付出代价的,会耗费大量的时间、精力和脑力。但学习一门新的语言可以直接或间接地给你带来巨大的好处。

 

下面我将列出学习新编程语言的五大优势:

 

1. 更大的工具箱

图源:Unsplash

 

如果你只会使用一种工具,例如锤子,那么你会尝试在每个场景(不管是否合适)中都使用锤子。软件开发人员也是如此。

 

人们都想待在自己的舒适区里,想一直使用已经熟悉的编程语言。我见过许多开发人员只知道一种编程语言(如Java或JavaScript),并试图运用在所有用例中。

 

学习一种新的编程语言能使工具包更加丰富,让你成为一个更好的开发人员。

 

2. 职业发展

图源:Unsplash

 

如果你想进入此职业领域,比如,你想成为一名软件架构师或解决方案架构师,那么你的专业知识不仅要深入更要广泛。作为软件架构师,你应该对整个堆栈做出设计决策,而不仅仅是后端或前端。

 

曾几何时,有一种“象牙塔”架构师,他们可以为一个项目设计软件架构,而不需要知道实际的编码。但公司越来越倾向于寻找能够编码的软件架构师。

 

如果你是一个软件架构师,可以用多种编程语言编写代码,并且可以与开发人员交流,那么开发人员将更尊重你。

 

再次强调,通往软件架构师或解决方案架构师的道路将需要许多其他技能。

 

但是,如果你想成为一名软件架构师或解决方案架构师,学习新的编程将对你大有助益。

 

3. 通往全栈软件开发之路

 

图片来源:dev.to

 

随着微服务架构的兴起,对全栈开发人员的需求只会越来越多。我写了一篇关于微服务架构最佳做法的博客:在那篇文章中,我提到微服务架构需要一个跨功能的团队。例如在一个团队中, 2个开发人员对前端进行编码, 2个开发人员只对后端进行编码,这个团队就不够灵活。由于前端和后端开发人员并行工作,假如遇到前端或后端开发人员都无法工作的情况,团队的进度将受到阻碍。在堆栈之间切换的完整堆栈开发人员越少,团队发展的越好。

 

此外,公司还愿意支付额外的工资给一个全堆栈的开发人员。

 

现在,学习另一种编程语言不会直接让你成为一个完整的堆栈开发人员,但能对你提供极大的帮助。

 

4. 更具全局观

 

图片来源:盲人摸象

 

现如今,编程语言的领域广阔,多样且复杂。通常,一种编程语言只覆盖编程语言领域的一小部分。有一个著名的故事,盲人只摸大象的一个部位,然后猜摸得是什么,例如有人摸大象的尾巴,说自己摸到的是绳子。编程语言也是如此。

 

以下是主流编程语言范例:

 

在一个范式中,还有更多的子范式。通常,一种编程语言只关注一种范式(例如C是过程范式,Haskell是函数范式)。也有许多语言触及到多个范式,尽管不是100%(例如,Java是面向对象的,部分属于功能性)。

 

学习一门新的编程语言将使你对编程语言有更全面的了解。像任何其他领域一样,一个更大的全局性图景往往是有帮助的,并且能得到额外的优势。

 

5. 更强的适应性

图源:Unsplash

 

在快乐的旧时代(例如上个世纪),开发人员的生活很简单。那个年代,学习一种主流编程语言,就可以工作一辈子。

 

但在现代,软件开发人员的生活更具变动性。随着微服务(Microservices)的兴起,多语言编程(Polyglot programming)已经成为一种常态而非特例。

 

在工作或项目中可能需要学习一门新的语言。人类的大脑在迁移学习方面非常出色。如果你已经掌握Haskell或Scala,那么学习其他函数式编程语言就会很快。如果你学习了一种现代语言,例如Kotlin,那么你可以很快地学习其他类似的现代语言(例如TypeScript)。

 

现在,即使是前端web框架也使用不同的编程范式。因此,如果你已经了解Scala或Haskell,就可以比其他人更快地了解前端框架React,因为React大量使用函数式编程的概念。

 

通常公司都想用一个新的软件栈来探索新的软件开发。如果你已经知道编程语言,就可以很容易地抓住机会使用新的更酷的项目。

 

不管是综合发展还是精益求精,适合你的才是最好的!


推荐阅读专题

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

编译组:马唯一、吴意丹

相关链接:

https://towardsdatascience.com/5-reasons-to-learn-a-new-programming-language-in-2020-bfc9a4b9a763

如需转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值