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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 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存储器啊之类的,竟然无意间攒下了一些硬件知识,虽然对于搞硬件来说是不够的,但对于后来学习编程还是帮助不小的。