惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
C
Check Point Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
Last Week in AI
Last Week in AI
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
B
Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
云风的 BLOG
云风的 BLOG

博客园 - Anders Liu

编程十年 (16):后记 编程十年 (15):宿命,程序员 编程十年 (14):毁人不倦2 编程十年 (13):毁人不倦1 编程十年 (12):阅尽天下.NET文章无数 编程十年 (11):与文字的不解之缘 编程十年 (10):我不是比尔•盖茨,我只是厌倦了 编程十年 (9):情系.NET 编程十年 (8):歪打正着C# 编程十年 (7):科班?自学? 编程十年 (6):虚荣的C 编程十年 (5):站在网络边缘,却陷入信息孤岛 编程十年 (4):步入编程殿堂 编程十年 (2):前传2——哪有这么牛逼的游戏机? 编程十年 (1):前传1——记我家的电子产品 老刘连载:编程十年 关于《警惕常量陷阱》之补充 四世同堂!Anders Liu给您拜年了!(此文纯水,不喜勿入) .NET/CLI元数据中使用的压缩整数
编程十年 (3):初识计算机
Anders Liu · 2011-04-20 · via 博客园 - Anders Liu

编程十年 (3):初识计算机

1995年,上初中,凡是带电的玩意都喜欢。担任班里电教课代表,就是负责帮老师放放幻灯换换灯管什么的。

1996年,初二。学校开了一门新鲜课——打字课。课程的内容是用英文机械打字机打字,教材也是针对机械打字机的。这门课本来是有上机实验部分的,但因为学校机器资源有限,所以一直没有安排上机,因此上课的内容就是背键位。学习英文打字不像学五笔那样有口诀,所以键位只能生背。还好书的封皮上画着一个1:1的打字机键盘,可以比划比划。

这门课虽然有些枯燥,但的确帮我打下了扎实的基础。在高一开设了计算机课之后,当同班同学还在为背键位发愁时,我已经可以把精力放在写程序上了。

当然,这门打字课并不是一直这么枯燥的。突然有一次上课之前,老师到班里来说,这节课要去机房上机。当班长把大家组织起来赶到机房时,发现桌子上摆着的并不是课本上画着的那种机械打字机,而是——电脑。

后来从小道消息得知,是因为学校快到130年校庆了,美国友人送给学校一批386计算机(够蒙人的,那会儿486都出来多少年了吧),所以就把高中部计算机实验室里的老式计算机淘汰了,正好给我们初中小孩儿上打字课。

这是我第一次见到真正的计算机,已然记不得是什么牌子了,只是依稀记得它们的样子。显示器是单色的,但并不是“黑白”的——有字的地方是亮绿色的,没有字的地方是墨绿色的。机箱上只有一个5.25寸的软盘驱动器,然后从串口用排线连接着放在桌子上的外置3.5寸软驱。键盘是全机械式的,一按就“嘎巴”响的那种(现在觉得还是那种键盘有感觉)。

那个时候也不懂什么操作系统、开发环境的。只是听同学说,我们用来练习打字的这个环境,叫BASIC,还给我们演示了一些小程序。我记得当时就学会了这么几个命令——CLS、LIST、PRINT、GOTO和RUN(等我真正学QBasic的时候,除了PRINT还偶尔用一下之外,其他指令都没用了……)。那个版本的BASIC,每一行都是要加行号的,而且每一行前面都有一个“]”提示符。

记得同学给我演示过的程序里,有一个是计算1到100的累加和,自然是用FOR循环写的。不过我当时既不懂“FOR”(英语烂)也不懂“循环”,但是既然“我也会”的牛逼吹下了,自然得想办法圆一下。于是,“]100 PRINT 5050”,然后CLS清屏,把同学叫过来,再敲个RUN,就有正确结果了。不过同学毕竟比我先接触的计算机,直接一个LIST命令我就原形毕露了。

不管怎么说,谢谢这个杜撰出来的“同学”(有几个同学当时家里就有计算机了,而且还略懂编程,为了叙事方便,把他们集中成了一个人)和初中的打字课,让我对计算机和编程有了一个初步的认识。

哦,对了,这个计算机还有个神奇之处就是能输入中文——但当时我是不知道怎么输入的,有同学会输入,现在回想起来应该是区位输入法,因为直接用数字小键盘就能输入。更为神奇的是,当使用Backspace键删除文字的时候,中文是半个半个删除的……真的是半个字,而不是变成半拉乱码(后来在DOS上写程序时发现,如果处理不好汉字字符的删除,也会造成类似的效果,但剩下的半个字会变乱码)。这让我在当时就对“一个汉字相当于两个英文字母”有了个感性的认识。

很快,一个学期过去了,打字课也结课了,再也没有摸电脑的机会了。于是我又回到无线电和电子制作的怀抱。那个时候也曾想过拥有一台电脑,也向别人打听过电脑的价钱,有个哥们老和我一起玩电子制作,不过因为比我懂得还少所以很崇拜我——告诉我,只要1000多块钱就能买到电脑。我琢磨着虽然老爸一个月只挣800多块钱,可也不是买不起啊,就回家跟我爸说了。隔天老爸黑着脸就回来了,说电脑确实有1000多块的没错,可那是美金……

于是彻底断了电脑的念想了。不过,那会看得最多的杂志是《无线电》和《电子制作》,上面总有介绍硬件的文章,像什么单片机啊、EEPROM存储器啊之类的,竟然无意间攒下了一些硬件知识,虽然对于搞硬件来说是不够的,但对于后来学习编程还是帮助不小的。