虚空
Source: Dev.to
早期经历
Hello.
这将是我关于与 Rust 编程语言纠缠的系列文章中的第一篇。由于我有时喜欢自言自语,你会在这里看到我的一些思绪独白——它们可能与主题毫不相关。别介意。
我应该先说明,我在编程方面已经有相当的经验。我的旅程很早就开始了,大约在 2004/2005 年的小学时期(具体年份可能相差一两年),那时我第一次在学校——位于 Port Harcourt 的 Meved Model International School, Oginigba——看到电脑。我记得有一小队同学在排队“摸”电脑。像所有小孩子一样,我充满了好奇。当轮到我时,我按下字母 G,并一直按住,屏幕上出现了一长串 GGGGGGGGGGGGG,随后我被迅速叫停。LOL。我让开,给下一个孩子让路。
直到 2010 年,我才再次接触到电脑。这次,我和朋友(也是邻居)Kemah Barida 一起去了 Bori 的一家电脑中心。他已经会使用电脑——我不记得他是在哪里学的,可能是在学校——并为上机时间付费,而我则在旁观看。房间里有几台电脑,两个孩子——大概是老板的孩子——在背景里玩着五彩缤纷的游戏。对于我那时 12 岁的脑袋来说,这简直是奢侈的享受。
我不记得 Kemah 当时去那儿具体是做什么的,虽然现在想想,可能是为学校作业做研究。我记得的只是再次看到(甚至可能触摸)电脑时的欣喜与激动。整个晚上,我都在脑海里兴奋地重温那一幕。
Formal Training
快进到大约两年后。我已经高中毕业,我妈妈为我在 David’s Investment(地址:Bori 市 Mayor 街 51 号)上电脑课支付了约定费用 ₦12,000 中的 ₦9,000。我在 Barisiletam(我们亲切地称他为 Asile)手下学习,他后来成为我的导师、我的第一位老板,且多年后送给我第一台笔记本电脑。我对开始学习兴奋不已。我妈妈其实并没有真的付清剩下的 ₦3,000;要么她付了,Asile 把钱据为己有,要么是别的原因。
在接下来的几周里,我被介绍使用打字机。令人失望。:(
我在空白的 A4 纸上反复敲同一段文字。文件夹里装满了这些纸——都是我的前辈们打的——其中有些整齐得几乎没有错误,让我羡慕不已。而我则总是会在页面的某个地方出错。直到我最终进入训练的下一阶段:真正使用电脑,我从未完成过一整页无误的打字。
遗憾的是,我对硬件不太在行,所以无法确切说明我们用了哪些机器。我只知道它们是配有巨型 CRT 显示器的台式电脑。后来我们又有了几台 LCD 屏幕。键盘笨重且声音很大,但噪音让我们感觉自己是很酷的打字员——这放大了我们对自己灵巧度的感知。
几乎立刻,我就被介绍使用 Mavis Beacon,并在接下来的几周里一直使用它。我清晰记得第一次在 Penguin Crossing 完成完整一节课程的情景。那时我的打字速度徘徊在 30 WPM 左右;一年或两年后,我测得的最高峰大约是 80 WPM。
大学与早期项目
当时,我几乎对编程一无所知。但仅凭这段经历,我就决定放弃原本想学医的计划,转而攻读计算机科学。三年后,我进入大学,正是为了实现这个目标——在课堂上真正学习编程到底是什么。
我在 2016 年于尼日利亚河州大学(Port Harcourt)写下了我的第一个 “Hello, World” 程序。猜猜是哪种语言——Python。它是我们学习的第一门编程语言,我花了很多时间阅读文档,尽管当时只能理解不到 10 % 的内容。
随后我们学习了 C++,再到 Java——我第一次深入探索的语言。到 2019 年,我即将毕业,并利用人脸检测与识别技术构建了一个自动考勤系统。我从未把软件完整地完成,也因为当时对 GitHub 了解不足,未能妥善保存代码,最终它在学校图书馆的某台电脑上丢失了。
实习与职业工作
到 2018 年时,我在 elitePath Software 完成了实习。那是我第一次系统地学习 HTML、CSS 和一些 JavaScript。第一次,我发现了一门我能够自然产生共鸣的语言:JavaScript。我亲切地把它称为“神之语言”,因为它的各种怪癖。正是这次接触——最终引导我进入 Node.js——把我带入了后端开发,而这也成为我之后职业生涯的方向。
随后我稍微涉猎了一下 C#——虽然时间不长,但足以让我登上 Microsoft 的 .NET Show,在那里受邀分享分布式系统设计的挑战。那段视频至今仍在 YouTube 上。离开 C# 后,我开始思考探索一个不同于过去几年一直从事的传统 API 开发的领域。这份好奇心最终把我带向了 Rust。
转向 Rust
在工作和个人事务之间,我很难完全沉浸在 Rust 生态系统中。但在最近几周,我决定更加有意图,并把事情提升了一个层次。这就是为什么今晚我决定写关于 Rust 的单元类型 ()。然而,由于我把这篇文章写得不必要地冗长且令人分心,或许最好把它留到另一篇文章——可能会有一个非常相似的标题。