Appearance
个人自传
for HUSTER 新生任务 2025/8/11
我在高中以前一直没有电脑,到了高中时我才有了姐姐的旧电脑,到现在也才两年多,但是我对计算机科学与技术的热爱却持续了5年之久。这篇自传,我主要想谈谈我业余自学计算机的经历。
昨夜西风凋碧树,独上高楼,望尽天涯路
初一时,当我姐给我买了本《C Primer Plus 》时,我便发现自己对计算机编程这种能够按照自己的逻辑获得相应结果的事物有着不小的兴趣。即使那时我就一个人怼着“变量”、“作用域”、“翻译单元”等名词在那里硬啃,即使我发现自己面对的是一团团迷雾,我对编程的渴望还是让我自己慢慢把《C Primer Plus》给啃了一遍,尤其是前面的基础章节(因为我无聊的时候就又会去把前面看一看来缓解自己后面还没读懂所产生的难受)。不过由于微机课电脑会自动重置加上我的上网能力不太行,C语言编译器我不会安装,加上微机课主要教学Flash,因此我的C语言代码全部都写在纸上,真正实践了的语言只有flash的ActionScript2.0。当时的纸上代码如下(部分):
c
typedef char* charp;
char print(const charp st1,const charp st2,const charp st3,int mode){
char ste;
sprintf(ste,"%s %s %s",st1,st2,st3);
if(num == 0)printf("%s",st1); // 这里的num应该指的是上面的mode
else if(num ==1)printf("%s",st2);
else return ste;
}学习C语言的日子就像在看故事,只有自己的幻想与迷茫,没有真正运行的代码......但它却为我学习Java语言奠定了基础。在书中及互联网上,我了解到了Java这门语言,于是买了《Java从入门到精通》学习当时比较新的 Java11。在跟着第一章配置后,我的eclipse环境出来了,一行行代码经过java转换成class再由jvm解释出我想要的个人编程世界。
衣带渐宽终不悔,为伊消得人憔悴
在有了实战的条件后,我的迷茫逐渐褪去,热忱与日俱增。我学习了AWT,Swing等基础组件,并用了一两天搞了个十分十分简陋的2D Minecraft(地图是固定的1024*1024的数组),又用同样的套路做了个全靠运气过关的“The Floor Is Lava”。两个项目都没有游戏性,但是我自己却乐在其中。当时我的想法(幻想)便是尝试做出Minecraft,但是使用awt绘制3d图像对于当时的我来讲简直就是天方夜谭。因此我从网上了解到了Unity,下载了2017.b1版本,在从网上学了点C#后便边学边做自己的Minecraft。Minecraft肯定没做出来,毕竟当时我连点积、叉积、甚至3D坐标系都不知道,只是自己一味捣鼓,跟着网上的教程改代码,最后做出了一个跑酷demo。不过我的上网能力在不断的搜索中提升,不久我便搜索到了codeblocks这个IDE,听说它支持C语言的编译,于是我下载了这个IDE,并迅速上手,持续使用了三年。
开始的时候我写的代码还是标准的C语言,后来我发现codeblocks默认创建项目都是叫什么"c++",于是我从黑马IT的视频中自学了一会儿,配合新发现的SFML引擎把自己喜欢的游戏都做了个遍(尽管全都在demo的时候便没下文了)。后来看3B1B的科普视频被傅里叶级数的美丽给震撼到了,恰巧CodeBlocks有个示例程序教了我怎么使用OpenGL的立即模式和WindowsAPI,我便用LegacyOpenGL实现了一个简单的向量旋转+轨迹显示的程序。做着做着我的中心便转移到了C++上。一段时间后,我发现SFML不太支持layer式绘图而依赖绘制顺序,因此我决定更换更加底层的GLEW+GLFW3,我才算正式接触到了图形方面的编程知识。之后便是整体来讲十分狂热的探索,我总算深入了解了基础的3D数学知识,大致了解了OpenGL状态机的组成部分,后来也实战了几次,一次是MyEngine,做到了模型加载后卡在字体显示后发现自己的引擎架构比较乱,并且我没有很好地利用好现代C++,于是项目从UnlimitedLife重建成了UnlimitedLife-Linux(一个我打算做出来的小游戏,主要是探索做一个游戏+背后的游戏引擎中的各种技术),编译方式也从CodeBlocks编译换成了CMake,目前还在努力制作中。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处?
总结我的编程历程,我发现它和王国维的《人间词话》中描述的三个境界十分相似,而我目前正处于第二个境界——有了入门的能力,正在这个庞大的知识世界中不断探索。计算机科学与技术当然不会就在“灯火阑珊处”等着我,它一直在进步,我自知我永远不可能蓦然回首就追上它,而需要在接下来四年里在华中科技大学不断探索、学习,读完本科也需要一直探索、学习......
但各位也看到了,我目前的探索更像是“广撒网”——在每个领域都留下点自己的痕迹。这样的话只能叫做一个探索者,而不是研究者。而我对大学的期望便是在教师的引领下找到适合自己深耕的地方。
深耕研究的日子当然不好过,但是我看过的一篇作文的标题总是提醒着我:“三年深耕,换得一句瑰奇”。
说实话,我想成为这句话的践行者,哪怕没有“瑰奇“,至少有我的努力。