为什么建议同时学多门编程语言

开发 前端
Java语言用了十多年了,因为工作需要,快速学习了Python和Golang,并精专Golang学习。在学习的过程中,最大的收获不是学会了Golang这门编程语言,而是对Java的编程有了更深入的理解。不仅如此,对整个软件编程都有了更进一步的理解。

晨读一本名叫《4点起床》的书,书中有一段描述与最近学习编制语言时自己的感受完全一致。算是一个小经验,分享给大家。

书中有一章的标题为《同时学六国语言记起来比较快》,其中有两段描述如下:

为什么我推荐大家同时学不同的语言呢?实不相瞒,我这几年在学西班牙语时发现,在学英语的时候,如果你脑子里能有些关于其他外语的知识,掌握语言的速度会变快许多。

西班牙语和英语看似风马牛不相及,其实两者还是很相似的。比如“重要”,在英语里是“important”,西班牙语也是“important”,只是念法不一样罢了。

看到这里,感觉跟自己学习编程语言的感觉完全一致。Java语言用了十多年了,因为工作需要,快速学习了Python和Golang,并精专Golang学习。在学习的过程中,最大的收获不是学会了Golang这门编程语言,而是对Java的编程有了更深入的理解。不仅如此,对整个软件编程都有了更进一步的理解。

举例讲几个方面:

第一,在Java中,我们常用ArrayList来存储一些列数据,而在Golang中常用slice来存储一些列数据。在Java和Golang中,都存在数组,但基本上都很少用数组,而采用列表或切片。而像ArrayList或slice本身又是基于数组来实现的。

对照起来会发现,基本的底层原理都一样,只不过不同语言的实现思路不同而已。

第二,关于HTTP请求。但单纯使用Java进行API请求时,我们往往关注的是API如何使用。当学习多种语言时,你会发现不同的语言有不同的实现形式,但万变不离其宗,都是基于HTTP协议来实现。这样也对HTTP协议本书有了更深入的理解。当然,其他协议也是如此。

第三,关于框架。比如注册中心,在Java中有Nacos、Eureka等实现,而在Golang中,有Consul、Etcd等实现。虽然它们可以跨语言混用,但有了这样横向的对比,对原本语言和框架的学习和掌握更加深刻了。

当然,还有其他许多例子。最根本的是,当你学习了多门语言时,每一个实现都有一个或多个对照,这样对实现的底层就更加理解,而不会过多关注语言本身的语法。不仅拓宽了思路,当有了对照,也能更好理解各自实现的优缺点,以及为什么如此实现。

责任编辑:武晓燕 来源: 程序新视界
相关推荐

2023-01-24 16:13:22

编程语言JavaIT

2020-12-08 15:54:15

编程语言Python

2021-04-06 15:20:05

编程语言JavaIT

2022-07-26 23:43:29

编程语言开发Java

2023-12-27 08:12:04

切片Go语言

2013-01-15 09:41:45

编程语言

2015-09-29 10:12:10

2023-10-09 18:39:13

Python代码

2017-11-21 14:41:29

编程语言Python

2020-04-01 17:50:02

Python编程语言

2021-02-23 10:19:46

编程技能开发

2019-04-22 09:58:25

C语言Web操作系统

2010-11-03 09:22:00

C语言

2018-03-07 15:50:10

物联网语言信息技术

2014-07-02 09:56:33

2021-08-18 06:48:52

编程语言开发IT

2021-10-20 06:05:01

编程语言开发

2015-04-08 10:46:11

2021-08-18 10:44:18

编程语言FlutterUnity

2022-11-04 11:11:15

语言入职项目
点赞
收藏

51CTO技术栈公众号