0

细数自己学习过的编程语言

 1 year ago
source link: https://www.v2ex.com/t/891197
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  程序员

细数自己学习过的编程语言

  roseduan · roseduan · 8 小时 22 分钟前 · 1845 次点击

周末了,写篇水文,来看看我从毕业到现在,三年多的时间里,都接触过哪些编程语言,当然最后也有自己的一些思考和看法,Enjoy !

之前发过一个朋友圈,简单罗列了一下自己之前写过的语言,感觉主流的编程语言自己都接触过了,今天就来详细谈一谈。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

一些读者都知道,我是在大学期间自学编程,我的专业是国际经济与贸易,然后看到本校的计算机专业课程,他们最开始学习的语言就是 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 上发表过类似的看法:

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

接触到多个语言,能够让自己不会成为一个语言控,能够比较清晰的认识到每个语言诞生的背景,以及它的适用场景,总之会更加包容的看待一些问题。

对于语言学习的经验,简单分享一下,如果你有明确的目标,这样学习肯定是最好的。比如你学一门新的语言,就是为了看懂公司的项目,那么可以一边看一边学,并且能够接一些小的需求,逐渐深入。

如果学一门语言并没有太明确的目的,只是为了兴趣,或者说给以后的自己多一个选择,那么可以找一个基础的教程,跟着敲代码,然后自己参与到项目中去。可以是自己折腾的项目,也可以是别人的开源项目,总之,实践起来才是最快的学习方法。

当然工作的这几年,接触了比较多的语言,有一个非常不好的方面,就是对大多数语言的认知都是浮于表面,没有更加深入的去学习。

最好的状态还是能够精通一两门,所以我后续希望能够在 Go 和 Rust 方向有更深入的理解。

最后再说一句,PHP 是世界上最好的语言[Doge][Doge][Doge]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK