周末了,写篇水文,来看看我从毕业到现在,三年多的时间里,都接触过哪些编程语言,当然最后也有自己的一些思考和看法,Enjoy !
之前发过一个朋友圈,简单罗列了一下自己之前写过的语言,感觉主流的编程语言自己都接触过了,今天就来详细谈一谈。
一些读者都知道,我是在大学期间自学编程,我的专业是国际经济与贸易,然后看到本校的计算机专业课程,他们最开始学习的语言就是 C ,于是便开始接触到了 C 语言。
但那时候我根本没有任何计算机的底子,C 又偏偏是一个很难的语言,对计算机基础的要求比较高,所以是浅尝辄止,只是把《 C Primer Plus 》这本书简单学习了一遍,也没有任何的项目实践和深入学习。
然后到了大三的时候,迫于找实习和工作的压力,从那时起开始系统性的学习 Java 了。
至于为什么选择 Java ,稍微工作几年的同学都知道,Java 当时还是挺火的,语法容易学,对计算机基础的要求并不是特别高,然后培训班铺天盖地的都是 Java 的课程,网上的 Java 教学视频、学习资源等也有很多。
当时学 Java ,人手一个电商 /博客项目,有点像现在,学习数据库的,都得学习 CMU-15445 、MIT-6824 ,然后还要自己参与或者手撸一个数据库项目一样(只能说越来越卷了。。。)
当时写一些商城项目,前端页面也是自己写,所以学习了一些 Html/CSS 和 JavaScript 基础,搭配 Java 的 JSP ,简单的页面就能自己撸出来了,当然现在估计都没人用 JSP 了。
大学毕业参加工作,第一份工作便顺理成章的找了 Java ,毕竟其他的咱也不会。
工作有时候会遇到一些重复机械的活,于是当时就想能不能通过一些脚本,帮助自己提升工作效率。于是简单学习了 Python ,写了一些小工具,例如自动生成 SQL 定义,提取数据库的数据转成 Excel ,等等。
到了 2020 年中,大概毕业后一年的样子,业余的时间开始学 Go ,Go 的语法还是挺简单的,上手很快,rosedb 就是从那个时候开始的。
后来换了工作,找到的职位刚好是用 Go 的,所以便完成了从 Java 到 Go 的跨越,至此 Java 便不怎么接触了。用 Go 最开始也是写业务,然后转到了基础架构方向,用 Go 写了一段时间的数据库中间件。
然后就是接触到了分布式 KV 存储,公司的这个存储项目是用 C++ 写的,于是便开始学习了一些 C++,当然这个项目我参与并不是很多,然后就离职了,所以我对 C++只是很浅显的了解。
后来到了数据库行业做内核开发,开始用 C ,于是便重操旧业,开始复习大学期间最开始接触的 C 语言。
最近,又因为工作的一些要求,开始学习 Rust ,刚接触 Rust 的确不太适应,但是也能够感受到这门语言的强大和灵活。
于是总结一下,从最开始接触编程到现在,我已经写过 Html/CSS 、JavaScript 、Java 、Python 、Go 、C++、C 、Rust 。
工作之后才发现,完全有可能根据工作的改变,而去学习并且切换到新的语言,这是无法避免的,所以还在学校的同学,不用去纠结自己到底应该学哪门编程语言,能够深入任何一门语言,以后再学习新的语言,都会非常的快。
这也是一些大厂面试,并不怎么看重语言的原因之一。
而对于工作之余,想要学习新的语言的同学,可以想想自己学习的目的是什么,例如你想要做什么样的产品,然后再据此去选择一门新的语言。
我之前也在 V2EX 上发表过类似的看法:
接触到多个语言,能够让自己不会成为一个语言控,能够比较清晰的认识到每个语言诞生的背景,以及它的适用场景,总之会更加包容的看待一些问题。
对于语言学习的经验,简单分享一下,如果你有明确的目标,这样学习肯定是最好的。比如你学一门新的语言,就是为了看懂公司的项目,那么可以一边看一边学,并且能够接一些小的需求,逐渐深入。
如果学一门语言并没有太明确的目的,只是为了兴趣,或者说给以后的自己多一个选择,那么可以找一个基础的教程,跟着敲代码,然后自己参与到项目中去。可以是自己折腾的项目,也可以是别人的开源项目,总之,实践起来才是最快的学习方法。
当然工作的这几年,接触了比较多的语言,有一个非常不好的方面,就是对大多数语言的认知都是浮于表面,没有更加深入的去学习。
最好的状态还是能够精通一两门,所以我后续希望能够在 Go 和 Rust 方向有更深入的理解。
最后再说一句,PHP 是世界上最好的语言[Doge][Doge][Doge]
101
raptor 2022-11-01 15:18:14 +08:00
年轻时多学点很正常,二十多年前我光是汇编就学了七八种,然而并没有什么卵用。现在对新语言根本提不起兴趣,有需求时再看吧。
|
102
chai2010 2022-11-04 10:11:44 +08:00
C/C++/Go/凹 /KCL
|
103
forest2087 2022-11-06 10:18:14 +08:00
Turing/VB/Scheme/Shell/Perl/PHP/Java/C++/Javascript/Typescript/Python/Go
|
104
RRRSSS 2023-03-10 11:26:12 +08:00
吃饭的:TS / Go / Java
用过的:rust / Python / Solitidy |