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

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

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

相关推荐
IT_陈寒1 分钟前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
SamDeepThinking1 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
Asize1 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
java小白小1 小时前
SpringBoot(09):缓存实战——穿透、雪崩、击穿的解决方案
后端
java小白小2 小时前
SpringBoot(08):Redis 集成——5 分钟给你的项目加上缓存
后端
LiuMingXin2 小时前
意图与代码之间:AI编程范式全景解读
前端·后端·面试
用户34232323763172 小时前
边缘计算与云边协同——当采集不再只是“上传“
后端
壹方秘境2 小时前
ApiCatcher支持抓包HTTP传输大文件的实现原理分享
前端·后端·客户端
码流怪侠2 小时前
【GitHub】Ponytail:给 AI 编码代理植入“懒人资深开发者“灵魂的开源插件深度拆解
程序员·github·ai编程
神奇小汤圆3 小时前
2026最新·最全·最实用|Java岗面试真题(已收录GitHub)
后端