回忆录:关于技术

回忆录:关于技术

我对技术的兴趣一直从小学延续至今。

事情要追溯到小学低年级时期(显然幼儿园接触这类东西还是为时过早了)。在小学时,我一开始是完全对技术有关不感兴趣的。当时我单纯比较喜爱的活动是各种运动,例如玩耍。在二年级某个下午,我的父亲将我从学校接回家的过程中,忽然地问我:“你想试着玩机器人吗?”我当时完全是没有头绪的,因从来也没有接触过这类东西。但机器人这种东西,人们听到总是会觉得是高级的、有趣的,因而我对父亲表示出了积极的反馈。

此后,父亲每年都会为我买LEGO Technic套件,使我可以在每个假期的开始动手照着说明书搭建。于是我很快就喜爱上了搭建(也因此逐渐丧失了对体育的兴趣)。搭建其实并不能算是一种技术,但它实质上与技术的关联性较强,从而对我未来对技术兴趣的影响较大。

后来,家里还买了套教育版EV3。它与Technic系列的区别主要在于引入了中央的处理器Brick,即一个嵌入式计算机。一开始,我仍然会按照说明书进行搭建,随后我的父亲会帮我将对应的预设好的程序安装到那Brick中。其实这些与技术没有关系,因为本质上仍是搭建。

某一天,母亲在父亲为搭建好的机器人中烧写程序时对我说:

“你的机器人要是没有程序,就一点用也没有;你应该自己写着试试。”

我对这意见完全没有意见。于是,我便开始探究如何为EV3编写程序。那是我第一次接触程序设计,虽然非常的简易原始。EV3的程序一般使用其提供的GUI工具编写,链式顺序在界面中由不同的块相连,而块与块之间则可使用各种弦来传递数据。我当时并不懂这些,只是顺着其逻辑去编写。最终的效果是很好的,我也成功做出了一些简小的程序供机器人运行。

四年级的时候,我从学长那里听说学校里有个机器人社,只收高年级学生。当时我和那社老师的关系比较好,便问怎么入。那老师看我技术不差,便将我收入社中。我当时是全社唯一一个四年级学生。

那社其实不是严格意义上的社团,因为本质上就是一群小学生在老师的带领下参加各种比赛,学生之间并没有什么复杂的联系,每周还比其他同学要多上几节课。现在看来,和课外班的那套没有本质区别。课外班培育你,一是为了挣钱,而是为了在学生得奖后为机构自己揽荣誉;学校的那社团培育你,虽不是为了挣钱,也是为学校揽荣誉。

我在那机器人社呆了2年多,除几块奖牌外并没有收获到什么特殊的东西。技术也没有长进——毕竟为那机器人用GUI写程序,除了兴趣外也并不能获得什么。其实,在小学另外两个项目下也没有获得什么对技术的实质长进。

一是电子技术竞赛的项目。在此竞赛项目老师的带领下,我提前学了一点电学知识,还学了些通用技术的知识,如电焊。虽最后收获不大,但仍是知道了点新东西。现在它对我的影响已完全被初高中物理和通用技术所涂抹。

二是用Scratch进行程序设计的竞赛。Scratch在我现在看来是极为简陋的东西,但在当时的我眼中,却是相对高级的了。当时学习Scratch程序设计范式对我几乎没有障碍,很快就会了。项目的编写对我也没有大碍,于是最后也是得了奖,但毫无意义。

到那时我也只是知道了程序基本是个什么东西,但仅限于此。真正对“正经”程序设计相关技术的探索始于初三。

在初中时是我对于技术的兴趣的低谷,在这方面我每天像其他人一样度过每一天(除了班里一两个打信息竞赛的)。初二到初三的那个假期,我的同学拉着我和其他几个人一起玩古墓派Minecraft. 这无疑激起了我对Minecraft这游戏的喜爱。虽然我在小学时就有所接触,但那接触的是原版,而这次同学带我玩的是被模组(Mod)修改后的版本。

在往后的一段时间里,我接触了各类Minecraft Mod,而后便萌生了自己制作Mod的想法。Minecraft Java版的Mod自然是要用Java语言来编写,这在当时我的看来是一项极其先进的技术。于是我便开始粗略地从别人Mod的源码中学习Java. 这使得我对这语言中各种概念十分模糊,最后学的结果是,能用但一点都不精。

丝毫不精的知识所指导的程序设计结果便是非常烂的代码。不过好在最后运行并没有体现出这一点。后来在与其他Mod编写者交流的过程中,我才将Java中的那些基本概念摸清楚,编写出的代码的质量才变得正常。

然而从此开始我便就陷入了使用Java这门语言进行各种无意义的产出的漩涡之中。在现在看来,那完全是浪费时间,不过这并不影响当时我在那漩涡中涂抹代码时的快乐。

不过,涂抹的快感并不持久。很快我就厌倦了Java这门语言,因为我在实际使用中已经触碰到了它的一些“边界”,并对此十分不满意。于是,高一的时候,在他人的鼓动下,我开始在Runoob上学习Rust这门语言。这门语言是一门伪装成上层语言的底层语言,但我当时对其浑然不知,继续向着那混沌的知识区中挺进。

程序设计界内有两门语言被并称为“原神语言”:Kotlin与Rust,因为它们的用户对那语言自身非常忠实,都认为那语言应该统一世界,并用自己的观点攻击其它语言(奇怪的是,这两个语言用户之间似乎冲突不多)。我当时完全不知到这些,也便就学了。

在学习Rust后的一个学期内,我对计算机和程序设计的理解仍处在一个非常低的水平(当然对于Rust的理解也非常低)。后来我加入了SubIT社团,在某位对C颇有了解的人的指引下更深层次地钻研了Rust语言,便也就知晓了它的全貌,也因此窥见了计算机的底层,和程序设计的底层。

在此之后,我对计算机与程序设计的学习便进入到了一个正向的轨道上,也没有浪费无用的时间。

这便是我现在的状态,也是从小学以来我在技术方面一直探索达到的状态。以往这方面的记忆对现在似乎没用,但仍是记了下来,也许以后会有用吧。

avatar
订阅评论
提醒
3 评论
最久
最新 最赞
内联反馈
查看所有评论
3
0
希望看到您的想法,请发表评论。x
()
x