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

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

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

相关推荐
计算机毕业设计指导17 分钟前
基于Spring Boot + Vue 3的社区养老系统设计与实现
vue.js·spring boot·后端
拾忆,想起17 分钟前
Redisson 分布式锁的实现原理
java·开发语言·分布式·后端·性能优化·wpf
几颗流星18 分钟前
Rust 常用语法速记 - 解构赋值
后端·rust
我想当数字游民23 分钟前
Go的切片是什么?一些小细节和容易错的地方
后端·golang
肖焱25 分钟前
Java中的集合类有哪些?如何分类的?
后端
野生程序员y27 分钟前
Spring DI/IOC核心原理详解
java·后端·spring
是萝卜干呀1 小时前
IIS 部署 asp.net core 项目时,出现500.19、500.31问题的解决方案
后端·iis·asp.net·hosting bundle
从零开始学习人工智能1 小时前
SpringBoot + Apache Tika:一站式解决文件数据提取难题
spring boot·后端·apache
IT_陈寒1 小时前
Python 3.12 的这5个新特性,让我的代码性能提升了40%!
前端·人工智能·后端
华仔啊1 小时前
别再被 Stream.toMap() 劝退了!3 个真实避坑案例,建议收藏
javascript·后端