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

2022-10-30 17:46:05 +08:00
 roseduan

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

12761 次点击
所在节点    程序员
104 条回复
tt67wq
2022-10-31 13:29:23 +08:00
工作:go/python/elixir
爱好:c/zig
ma836323493
2022-10-31 13:50:24 +08:00
大学的时候,学单片机的时候用的是汇编, 后来学了 c 语言,考了二级, 然后大三自己学了 java ,js , 再到后来 python , 写了这么多,最喜欢的还是 java , 写业务代码写起来很少会出错
xFrye
2022-10-31 14:07:02 +08:00
python 是弱类型语言?
ufan0
2022-10-31 14:40:06 +08:00
C / C++ / Java / Kotlin / Python / Rust / Lisp / JS / TS / Dart / C# / Shell / 部分汇编语言
wenzhoou
2022-10-31 15:08:56 +08:00
有没有人用过 apple II 上面的 basic ?写代码前面都得要加行号的那种?
估计只有 8 楼的年龄有可能吧。
我也来算一算,初中 bacic ,logo
大学 bat ,quick basic ,tuobo pascal ,c ,c++,mfc ,vb ,asm ,foxpro ,visual foxpro ,html,
对了大学时候去我哥他们学校,他们学校连 386 都没有,上机写程序用纸带,遂放弃 fortran 。我们学校高档,上来就是 3 寸软盘。
毕业后 delpi ,powerbuilder ,shell ,java ,sql, javascript ,groovy ,php, perl, python, go, LPC, lua ,vba
QER123
2022-10-31 15:22:07 +08:00
@learningman html 多少也算
learningman
2022-10-31 15:23:11 +08:00
@QER123 #65 那 yaml, toml, properties 也得写上了
gaifanking
2022-10-31 15:25:08 +08:00
C / C++ / Java / Kotlin / Golang / JavaScript / Python / R / VB / Dephi 以及自创语言;)
SolarAA
2022-10-31 15:32:42 +08:00
@wenzhoou 老哥经历丰富啊
kuviki
2022-10-31 15:34:55 +08:00
易语言 / VB / Processing (Java) / Shell / SQL / ASM / C / C++ / Java / Python / Lua / C# / JS (Vue2) / TS (Vue3) / CSS (SASS 、LESS) / Powershell / Go / Rust
XQUX9al72490iGLh
2022-10-31 15:53:14 +08:00
嗯,我就不补充了,感觉就没有没学过的😂
go522000
2022-10-31 15:57:08 +08:00
vb / PHP
ElmerZhang
2022-10-31 16:08:26 +08:00
BASIC(2000), Pascal(2002), ASP(2004), JavaScript(2004), SQL(2004), PHP(2005), C#(2007), Perl(2010), C++(2010), Bash(2010), awk(2010), Node.js(2011), Python(2012), Ruby(2013), Java(2016), Scalar(2016), TypeScript(2020), Golang(2020)
以上都是考试或工作中实际用过的,其他只研究了点皮毛没实际使用过的就不写了
SeaTac
2022-10-31 16:09:19 +08:00
C -> Python -> Java / Go
写过一点:javascript / Matlab / Lua
用过的最诡异的语言可能是 AppleScript
写到现在我依旧觉得 Java 是非常好的语言

另外,python 不大弱类型语言,python 是强类型动态语言
macha
2022-10-31 16:44:30 +08:00
C++,主力语言,其实如果公司里面 C++积累丰富的话,C++写起来非常爽,不过出问题的话,那头发是一把一把的掉啊。

Python ,次主力语言,其实我不喜欢 Python ,当时让我放弃他的原因是没有花括号和分号。代码打多了花括号和分号像肌肉记忆一样。现在我还是不喜欢,主要原因是没有块级作用域,从 C++切换到 Python 的头几天真心很痛苦。

最近在写 lua ,经常把 python 和 lua 搞混。一会儿冒号换行一会儿 then 换行。太吐血了。
murmur
2022-10-31 16:44:57 +08:00
想当年读本科的时候还搞过 matlab 和 verilog
yvescheung
2022-10-31 17:01:15 +08:00
从上大学开始算,最开始写 C ,感觉 C 挺好玩的,面向过程,按部就班,可以写出很多好玩的小工具,后来写 Java ,感叹这玩意适用范围是真的大,再后来学 JS 写 Node ,感觉前后端统一语言也挺不错的,期间用 python 写各种脚本,还自学了 Go 作为后端语言的首选,当我在纠结未来该选哪个语言作为主力时,我进了金融行业,写起了我最痛恨的 C++。
FaiChou
2022-10-31 17:05:04 +08:00
c / oc / swift / javascript / python / clojure / html css
WytheHuang
2022-10-31 17:15:24 +08:00
C / JavaScript(HTML & CSS) / Java / PHP / Python / Go
qzwmjv
2022-10-31 17:23:14 +08:00
ASM/C/C++/Java/Scala/SQL/Python/R/Matlab/Shell

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/891197

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX