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

晨读一本名叫《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等实现。虽然它们可以跨语言混用,但有了这样横向的对比,对原本语言和框架的学习和掌握更加深刻了。

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

相关推荐
程序猿麦小七23 分钟前
基于springboot的景区网页设计与实现
java·spring boot·后端·旅游·景区
蓝田~31 分钟前
SpringBoot-自定义注解,拦截器
java·spring boot·后端
theLuckyLong32 分钟前
SpringBoot后端解决跨域问题
spring boot·后端·python
.生产的驴34 分钟前
SpringCloud Gateway网关路由配置 接口统一 登录验证 权限校验 路由属性
java·spring boot·后端·spring·spring cloud·gateway·rabbitmq
小扳37 分钟前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
v'sir1 小时前
POI word转pdf乱码问题处理
java·spring boot·后端·pdf·word
李少兄1 小时前
解决Spring Boot整合Redis时的连接问题
spring boot·redis·后端
码上一元6 小时前
SpringBoot自动装配原理解析
java·spring boot·后端
枫叶_v8 小时前
【SpringBoot】22 Txt、Csv文件的读取和写入
java·spring boot·后端
杜杜的man8 小时前
【go从零单排】Closing Channels通道关闭、Range over Channels
开发语言·后端·golang