我为什么是一名程序员

我为什么是一名程序员

Hacker News 摘要

原标题:Why I Am a Programmer

作者在这篇文章中回顾了自己童年时期接触计算机的经历,讲述了自己为何立志成为一名程序员。

开篇引言

文章开头引用了1993年由ASPHYXIA小组的Denthor(本名Grant Smith)所写的一段文字:在幼儿园课堂上,代课老师询问孩子们长大后想做什么。一个小男孩回答说他想编写演示程序(Demo),写出能颠覆人们对现实认知、令人震撼窒息的作品;面对被震慑住的老师和同学,男孩害羞地补充了一句:“要不然当个消防员也行。”

童年时代的计算机记忆

作者成长于互联网尚未普及的时代。当时他所在的小学里只有极少数孩子拥有计算机。由于生活在治安较差的社区,家里有电脑很容易成为被盗目标,因此大家都很低调。即使如此,这群孩子还是组成了一个小圈子,新加入的孩子甚至要接受一番询问测试。

作者的童年大部分时间都在嗡嗡作响的14英寸CRT显示器前度过。他们用打孔改装的3.5英寸单密度软盘互相拷贝盗版游戏。比起玩游戏,作者更像一个收集狂,热衷于把所有游戏收集齐全,并对那些能操控厚重电脑机箱的游戏开发者充满崇拜。

后来,孩子们圈子里开始流行通过文件管理工具XTreeGold的十六进制视图修改游戏存档。只要修改几个数据,就能获得无限生命或直接跳关。每当新游戏发布,大家就会比赛看谁最先找到修改位置。这种探索虽然只是小修小改,却让作者体会到了掌控一切的快感。

接入BBS与初识Cracktro

几年后,作者家里添置了调制解调器,并拿到了一份澳大利亚BBS列表文件。作者逐一拨号连接,就此打开了通往数字地下世界的大门。通过ZMODEM协议,他可以下载到之前只能在杂志上读到的各种游戏大作。

在这些从BBS下载的游戏中,作者发现了一个引人注目的现象:每次启动游戏时,屏幕上都会先播放一段类似广告的短小动画。这些内容并不是真正的商业广告,而是破解者展示实力的署名动画,被称为cracktro。这些动画伴随着强烈的视听冲击,给作者带来了前所未有的震撼体验。这也正是后来极客演示圈子(demoscene)和演示程序的发端。

走向编程之路

某天,作者在一个BBS的文件区偶然发现了一个名为TUT1-9.ZIP的压缩包。文件的描述信息显示,这是由Denthor编写的VGA演示程序教程,包含完整的Pascal语言源代码,教授如何实现像素绘制、精灵动画以及从线框到实体的三维图形渲染。

这让作者深受震撼,意识到自己也有机会像那些电脑高手一样彻底驾驭计算机。他立刻将教程下载下来,用吵闹的爱普生针式打印机打印在连续纸上。当时作者对编程一无所知,但他对照着教程,在Borland Turbo Pascal 6.0中敲入每一行代码。

虽然这套教程只让他初步理解了图形编程的原理,但彻底激发了他的求知欲。当时还未满十几岁的作者下定决心:他不再满足于仅仅作为旁观者去欣赏演示程序或玩游戏,他要亲自创造它们,成为一名真正的程序员。


原文:https://www.alfie.wtf/programming/why-i-am-a-programmer.html

评论:https://news.ycombinator.com/item?id=50235017

Report Page