引子
活了二十多载,最开始开博客还是个高中生,而如今大学都要毕业了。
很难说我真正学会了什么东西,也很难说我和当初有着怎样的变化。本文就当作一篇对过去的怀念与追忆之作吧,怀念一下我的计算机学习历程。
Win95系统
我五岁的时候,家里买了一台“大屁股”电脑,学名貌似叫CRT电脑,当时这台电脑上面安装的系统是Windows95。尚还年少的我被父母放在电脑前——或许他们只是觉得这个场景很好玩——开始了我的计算机旅程。
那个时候的我,连汉字都认不太全,更别说英文了。然而,这样的我却完成了一项壮举:在三天之内让这台电脑开机即蓝屏。
如今我早已不知道当时做了些什么,记忆已然随时间的水流消散。后来我从我父亲那里听到,我似乎修改了一些系统文件,删掉了一些必备的启动文件。
实际上,我或许只是在图形界面上随便点点,碰巧弄坏了一个系统罢了。
我还记着Win95那绿色的桌面以及栩栩如生的图标设计,那些东西对我有着一种奇怪的吸引力。
或许这也早就注定了我现在的专业,以及我人生的旅程。
HTML,JavaScript与bat
大约是小学快毕业,我从家里的书架中翻到了一本书——《精通jQuery与JavaScript》,封面长这个样子:
那时的我,一直以来都对计算机技术很感兴趣,我开始一点点啃这本书里的内容。我下载了DreamWeaver,开始最基础的网站编程。最开始我只是会用HTML标签绘制出基本的网站框图来,随着逐步的熟练,我也开始会用CSS做一些基本的效果。
我记得当时我最得意的效果是一个霓虹灯字体的效果,即让字体两边发光,加上动画,营造出闪烁的效果。这个效果我做了大约两周才做出来。
在那之后,我学了一点点JavaScript,写了一些基本的脚本,比如时间判断、关不掉的弹窗之类。当时的我觉得这是很有意思的技术,因为它够直观,正反馈够大。
后来,我能够做一些基本的管理系统——就像现在本科生毕业设计做的那些东西。大约学了两年,我觉得很无趣,便问父亲还有什么进阶的技术。我父亲给我推荐了bat脚本语言,想让我接触一些系统编程的内容。
我开始跟着基本的教程学习bat,后来做过了一个类似于RPG的游戏,大概意思是讲一个勇者,通过不断的打怪升级,最终打败魔王的故事。现在想想,用纯bat写这样一个游戏,也是很厉害的了。
可以这样说,上高中之前,我的技术栈主要还是HTML+JS+bat。这是一个很幽默的组合,但这也的的确确为我打下了一些编程的基础。
Python
高中有一段时间,我开始上网课。那个时候正好学习到数理统计的部分。我当时受够了手算,想着,能不能写一些程序出来帮我运算?恰好当时的b站有很多python教程,都在说Python如何如何易学,我就在想,能不能学习一门新语言?顺便解决我的问题?
我花了两天看会了Python的教程,利用numpy库搓了一个计算最小二乘法的程序——只是这个程序写得太烂了,github的repo已经被我删除了。当时的数理统计题,别人需要很久做完,我依靠我的程序,很快就能得出答案。
后来,我尝到了Python的甜头,开始依靠Python写各种脚本——爬虫、数据处理脚本、……。
这个过程中,我也理解了程序该如何运行,具体该如何去编码以及一些基础的算法。我也明白了计算机技术是如何的复杂——光靠HTML+JS+bat是没有办法生存的。
高三毕业,我和几个朋友一起开了一个MC服务器,做了个小网站,这也让我学会了一些基础的计算机网络知识。
随着不断深入,也感觉自己的渺小。这个时候我也立志,我需要成为一个牛逼的程序员!
崭新的新世界在向我招手!
哈工大、Linux与HITLUG
我们大一/大二——记不得了!——有一门课,叫做形式逻辑,这门课让我对开源感兴趣。其原因并不在于讲课讲得内容如何,而是这个老师所用的授课软件很传奇——是自己使用Emacs以及LuaJIT编码的幻灯片放映软件。在这之后,我开始用Emacs,也自然接触到了Vim和NeoVim,结识了很多朋友。
大二那阵,我把自己的主力换作了Linux。我最开始用的是Ubuntu,后来是Manjaro,最后是Arch。在这之前,我尝试过了很多发行版:Puppy Linux、Linux Mint、Fedora、CentOS、Nix、Debian、……。这是一个Distrohopping的过程,不断尝试,了解每个发行版的弱势和优势,做出自己的选择。
当我用Arch Linux的时候,我根据手册一步一步来,学会了文件系统、分区以及一些很底层的知识。在这之后,我也开始了“Lang-hopping”,尝试各种编程语言。我已经记不得学过什么了,不过最后我确定了我的技术栈——Python/C/C++ + JS。
我也开始根据Linux内核写一些东西,比如一些驱动,一些命令行工具,一些美化工具等等。这也锻炼了我的编码能力。
我的同学的舍友,是HITLUG(哈工大Linux User Group)的俱乐部部长,通过我的同学,我也得以和他结识,加入了HITLUG,和天南海北的朋友交流开源技术等等。
此外,开设博客也让我结识了很多朋友,比如Atlas——很优秀的Web3.0工程师,硫酸钡——同样能力很强的AI大学生,……。
这也让我爱上了开源,爱上了很多很多东西。
未来如何?
我如今在实验室搞科研,结识了我技术水平一流的师兄,也认识了很多优秀的同门。
我的精神状态也不再那么糟糕。
其实还有很多很多很多经历没有写——比如国际协同的一些经验、一些与人交流的历练、……——先写这么多吧~
以《埃涅阿斯纪》中的一段话作结:
Forsan et haec olim meminisse iuvabit.
总有一天,这段经历会成为乐趣,值得怀念