编程语言千千万,选对“赛道”赢一半(上)

伴随着云计算、大数据、5G 等数字技术的快速发展,软件定义一切的时代已经到来。而作为构建软件的最底层技术,编程语言的重要性不言而喻

世界上有很多编程语言,有的历史悠久,还有的崭露头角;有的编程语言名扬四海,而有的则默默无闻,关于“哪种编程语言最好”的争论,从来就没有停止过。

对技术人来说,我们不可能和一种编程语言“厮守终生”,往往有各种原因要去了解其他编程语言,可能是为了完成项目、提高工作效率,又或者想多学门手艺、搞钱,还可能出于兴趣、想拓展视野、提高技术敏锐度等等。

总之,编程语言千千万,选对赢一半,今天就为大家解读这 6 种编程语言的 2021 总结最新学习路径:

  • Go 与 Rust 「走向成熟」
  • Kotlin 和 Wasm「无限生长」
  • Java 和 Python「老当益壮」

Go 与 Rust 「走向成熟」

说到“填坑”,2021 当数 Go 最得人心。作为编程语言界近几年最受欢迎的一员,Go 却长期存在三个主要问题为开发者所诟病,即:模块管理工具、泛型语法支持,以及程序错误的处理方式。

关于模块管理工具,Go 语言开发团队基本已经解决或给出路径;对泛型的支持,相当于有了定论;错误处理方式还未找到妥善的解决办法。而 Go 语言的 2021 主要动态,也是围绕着模块管理工具和泛型展开。

作为云原生必备语言,大厂的“高薪”宠儿,Go 在这些年真是吸引了不少开发者的目光。不过,很多刚开始学习 Go 语言的开发者,很难一下子找到高效的学习路径。

Go 入门学习路径

这里分享 Tony Bai 整理的入门方法,内容主要包括“心定、手勤、脑勤”三个诀窍与“前置、入门、基础、核心、实战”五个阶段。

Go 进阶学习路径

关键在于找到最佳的构建方法,以及尝试从 0 到 1 开发一个 Go 项目。难点是很多人平常没机会接触一线大厂的大型项目构建方法和研发经验,缺乏一线项目练手,自然也难以检验自己的学习效果。

这张图谱,能满足你的现实需求,它涵盖了 Go 项目开发中大部分技能点,内容是按开发顺序排列的,如果这些技能点你都能掌握,上面的问题肯定也会迎刃而解。

这套图谱来自于极客时间《Go语言项目开发实战》,专栏中还交付了一套优秀、可运行的企业应用代码,这套代码满足了大部分的企业应用开发场景,你能在此基础上进行二次开发。 

专栏链接:Go 语言项目开发实战_Go_实战_项目开发_孔令飞_Commit 规范_最佳实践_企业应用代码-极客时间

Rust 的 2021:花开不败

 

如果拿植物的成长阶段( 「播种 - 发芽 - 开花 - 结果」)来类比的话,Rust 的成熟度应该属于 「开花」阶段。

2021 ,Rust 的热度丝毫不逊于 Go 语言,在 InfoQ 2021 编程语言榜单中,Rust 无论是关注度还是期望值,都紧随 Go 语言之后。借用 Rust 专家张汉东有一句话说得很好:“Rust 的出现不是为了重写这个世界已经存在的一切,而是为了让未来更加美好。”

对于当下关注度本就极高的 Rust 来说,分外适用。

2021 年,Rust crates 的下载总量达到 110 亿次。用起来就有多香,学起来就有多难。Rust 也是公认的难入门,学习曲线很陡峭。

这里分享一套从 Rust 从入门到进阶的有效学习方法:精准学习 + 刻意练习

精准学习

就是深挖一个个高大上的表层知识点,回归底层基础知识的本原,再使用类比、联想等方法,打通涉及的基础知识;然后从底层设计往表层实现,一层层构建知识体系,这样“撒一层土,夯实,再撒一层”,让你对知识点理解得更透彻、掌握得牢固。

刻意练习

就是用精巧设计的例子,通过练习进一步巩固学到的知识,并且在这个过程中尝试发现学习过程中的不自知问题,让自己从“我不知道我不知道”走向“我知道我不知道”,最终能够在下一个循环中弥补知识的漏洞。不断在学习 - 构建 - 反思这个循环中提升自己。

以上内容来自专栏《陈天·Rust 编程第一课》

课程链接:陈天 · Rust 编程第一课_Rust_rust_语言_陈天_ct_编程_第一课_get hands dirty_编程语言_Java_C_C++_Python_用户体验_所有权_生命周期_性能_内存安全_内存管理_思维转换_类型系统-极客时间

根据这种学习思路,循序渐进地探索 Rust 的基本概念和知识、开发的原则和方法,力求掌握 Rust 开发的精髓;同时,结合实操项目巩固知识、查漏补缺,就能成功入门 Rust

 Kotlin 和 Wasm「无限生长」

2021 年刚好是 Kotlin 10 周年,在这一年里,Kotlin 共发布了 1.5 及 1.6 两个版本。Kotlin 2022 年的发展重点可以总结为如下四点:

  • 持续发展 K2 编译器
  • 改善开发者体验
  • 深化支持 Kotlin 在 Server-side 的应用
  • 推出新版 Kotlin Multiplatform Mobile(KMM)

Kotlin 最吸引目光的地方就在于它与 Java100% 互操作,它知道开发者喜欢什么、讨厌什么,它甚至知道开发者容易犯什么样的错误,从而在语言设计的层面就规避错误。这也是很多程序员表示,“Kotlin 用过了就回不去”的原因。

对于 Android 开发者来说,Kotlin 已是必学的编程语言;而对于其他领域的开发者来说,Kotlin 也有着非常好的前景,现在入坑还来得及!

Kotlin 本身的学习曲线和其他的语言不太一样,它是一门易学难精的语言。如下图:

Kotlin 当中涵盖了很多新的语言特性,要学会这些新特性的语法其实很简单,但是要理解 Kotlin 设计这些新特性背后的意图,却不容易。这也恰好是我们需要关注的重点。因为,只有知道了 Kotlin 为什么要设计这些新特性,才能弄清楚这些特性的最佳使用场景

 当然,推荐 Kotlin 并不代表 Java 不好,编程语言之于开发者,就好比兵器之于武将。我们只是结合自己的实际需求,选择最适合自己的兵器,尽可能做到事半功倍。

以上内容来自极客时间专栏《朱涛 · Kotlin编程第一课》》

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值