我为什么喜欢编程
本文共1961字,阅读约需8分钟.
计算机作为人们日常生活中经常使用的工具,有着不可替代的地位. 计算机代表人类智慧的最高成就. 自从上世纪第一台电子计算机诞生以来,计算机飞速发展,集成了诸如上网、存储、播放等许多实用功能. 尤其是计算机的计算能力和存储能力,是人类无法与之相比的. 计算机的功能如此强大,对于个人而言,学会使用计算机是很有必要的. 计算机的功能不只局限于上网、写文章、放音视频等,想要挖掘出计算机的真正强大本领,需要学会直接命令计算机. 编程就是命令计算机的方法. 现成的图形界面只能实现鼠标能触及到的简单功能,更多便捷的操作还需用键盘进入编程指令来完成. 譬如想计算出 1000 以内所有质数的和,单用电脑上的“计算器”软件恐怕半天也操作不完,但是用编程语言只需几句代码就能实现.
计算机在生活中的使用众所周知,在科研中的应用更是不可或缺. 对于高中学理科的学生而言,将来无论学习哪门理科专业,都要用到计算机. 物理要用它模拟计算材料的受力、流体的运动;化学药用它计算药品用量,分析反应机理;生物要用它查询和录入信息,统计分析等;天文要用它处理数据和图像,发现天体. 对于这些领域,难免会用到 Matlab、Chewdraw 等软件,难免会用到 C/C++、Python 等编程语言. 再或者说,每个大学生都要写论文,用 Word 排版略显粗陋,这时就要用 LaTeX 语言来编写论文. 总而言之,科研工作者的工作和计算机编程密不可分. 那么对于理科生而言,早些学习编程是很有好处的.
计算机专业也是现在很热门的专业之一. 不像天文之类的冷门专业,计算机专业各个院校都有开设,不必费心考虑自己心仪的大学开不开自己想学的专业. 人在学习自己感兴趣的事物时会更专注,效率更高,而且还有动力继续学下去,有种乐此不疲的感觉. 大学 4 年并没有想象中的那样轻松,所以选择一个自己真正能投入进去的专业很重要. 只要有这股兴趣的动力在,我认为不仅是大学 4 年,就是人生数十年也是能过得自在.
前几天看到 B 站上有位 Up 主采访一位在微软公司工作的程序员,令我记忆颇深. 这位程序员网名叫“柒才”,在 GitHub 上叫 0x7c13,其中的 0x7c00 地址是 Windows 初代版本在启动后写入的第一块地址. 名字起的很具浪漫与技术的气息. 他在微软内部工作,主要开发 Windows 的记事本,视频中展示了他向 Up 主发的 Windows 记事本源代码(已打马赛克),足以证明它确实是微软内部的开发人员. 他主要向 Up 主介绍了 Windows 小小的记事本也是很有学问的,源代码有成千上万行. 记事本要能处理不同语言文字的显示、加载、换行等问题. Up 主以换行功能为例,简单介绍了中文等单字符、英文等多字符的词,以及从右往左书写的阿拉伯文在换行显示时的异同. 这些细微复杂的问题记事本必须能很好的解决. 柒才还提到 Windows 开发公司对其源代码是十分保密的,即使是他这样的内部开发人员也只能看到属于自己开发范围的很小一部分源代码,以文字渲染引擎为主的大部分代码还是看不到的. 视频的最后柒才向 Up 主介绍他早上 10 点上班,晚上 5 点下班在微软已经工作 11 年了. 这样的作息时间着实令人羡慕和向往,但视频中 Up 主介绍柒才个人开发的著名文本编辑器 Notepads 经常列入微软商店免费榜前十名,也能看出柒才是一个资历高深的程序员. 但不管怎样,像他这样愿为之付诸一生的动力和精神才是最宝贵的. 人只有在适合自己的、自己感兴趣的、认为自己值得为之付出的职业工作,才可能实现苦中作乐,才会让自己的人生价值得到实现,才能继续专注地干下去.
我接触编程也已小有七八年. 最开始接触电脑应该是三四年级时在父亲办公室的 Windows7 电脑上玩玩国际象棋和扫雷,然后开始体验 Word. 逐渐地试遍了 Word 中的所有功能,并用 Word 画了一张元素周期表(当时我对化学也很感兴趣). 后来等到放寒暑假去奶奶家,她家里有台装 WindowsXP 的台式机,我就在那上面学 HTML. 当时我有部小白手机魅蓝 note,那时的手机是可以一键 root 的,直接在设置里开启后重启就行. 这小手机的安卓是哪个版本我都不记得了,因为当时的我还不懂什么是安卓. 只是我喜欢没事就挨个试设置里的各种功能,才知道手机是可以 root 的. 不知怎地当时我认识了 Linux Deploy 软件,就在这台已 root 的手机的根目录中装了 Ubuntu 16.04. 这也大概是我第一次接触 Linux 吧. 这一段时期主要是 HTML 的学习,直到上五六年级左右才明白原来 HTML 不是真正的编程语言. 于是我选择了 C++. 当时我并不知道 C++ 有多难,我只想要编个程序在电脑上能运行就行. 我向来是追求时效性的,用就想用最新版的. 也不管什么 C++ 是 C 的超级但不兼容 C 了,反正我看 C++ 比 C 名字上多了两个“+”,想必是 C++ 比 C 更新,于是没学 C 直接学的 C++. 当时的 W3Cschool 上有优秀的 C++ 入门免费课程,我也就一步步地逐渐了解 C++ 最基本的语法,也开始体会到了编程的思想. 如此这般,用 C++ 写 C 学了两三年,直到 C++11 的流行和 C++17 和 C++20 的发布,我才逐渐明白 C++ 和 C 是有很大不同的,C++ 的新特性也是让人眼花缭乱. 在学 C++ 时,无论是用 Windows 还是 Linux,我都喜欢最原始的、不加任何装饰的黑底白字命令行,编译和运行每次都是手动输入命令,编辑器也都是用的 Windows 记事本和 Ubuntu 的 Gedit(没错,当时我用 Ubuntu,当时 Ubuntu 用 Gedit). 直到近几年下载体验 VS Code,我才逐渐体会到集成开发环境的便捷. 在我学习 C++ 的过程中电脑其实是次要的,主要还是用手机编程. 安卓端的这些编程软件也是玩了个遍:万能的 Termux 和逼真的 UserLAnd 能使我在手机上也正常使用 gcc13,C4droid 和现在的 Cxxdroid 集成了 Debug 功能. Termux 和 JuiceSSH 能让我用手机连电脑,魅族自带的 FTP 和华为的“华为分享”能让我轻松在手机和电脑间传文件等等.
于现在的我看来,这些一步步入门编程的经历是难能可贵的. 童年时我将 C++ 作为一项特长而引以为傲,如今这些正在逐渐淡去. 但不管怎样,我对编程的热爱始终不减,它也将照亮我未来的事业路.
2023年1月15日
浙公网安备 33010602011771号