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

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

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

相关推荐
xinjia_ctrl6 小时前
暑假实习总结
git·后端·spring·maven·intellij-idea
IT_陈寒7 小时前
Java Stream处理大集合,我的内存怎么就炸了
前端·人工智能·后端
悟空码字8 小时前
四轮对话两张配图:用 WorkBuddy 优化公众号发文配图的实战指南
人工智能·后端·腾讯
ServBay8 小时前
xAI的 Grok Bot发布,AI 已经学会自己上班了
后端·ai编程·grok
分支预测失败8 小时前
RISC-V 多核缓存一致性机制解析:MESI 协议族、CMO 扩展与 Linux 同步原语
后端
n8n8 小时前
Spring AI 检索增强生成(RAG)实战:让模型掌握你的私有知识
后端
Nturmoils8 小时前
只备份一个 schema,别把整库都搬走
后端
妙码生花8 小时前
利用AI从零学Go并完成实战项目,完工总结:目录结构
前端·后端·go
妙码生花8 小时前
利用AI从零学Go并完成实战项目,完工总结:商业级开源产品定位和核心特性介绍
前端·后端·go
程序员cxuan8 小时前
GPT-6 Astra 的提示词泄露了,里面居然藏着个保安?
人工智能·后端·程序员