没代码高亮工具的时候,以前的程序员是这样写代码的

2017 年 8 月 22 日 Linux爱好者

(点击上方公众号,可快速关注)


英文:JGC,编译:伯乐在线 - 奇风余谷

如有好文章投稿,请点击 → 这里了解详情


回到 1985 年,我还在给一个设计成给瓶子贴标签的机器计算机化。制造这个机器的公司用机电控制,将标签从卷轴上撕下帖到传送带传来的产品(例如洗发液瓶子)上。整个过程需要工作在毫米级精度上,因为消费者不喜欢没有完全对齐的标签。


不幸的是,机电控制不像电脑控制那样灵活,因此该公司与当地一所工学院(我正在该校学习电子学)签订了合同,用 KIM-1 来设计电脑控制原型。另一个学生整合机器,他把传送带,标签发放机制,步进电机控制,还有探测标签和产品的红外感应器进行组装。



我的工作是用 6502 汇编语言写软件。不幸的是,没有编译器,而且 KIM-1 只有一个十六进制的小键盘和一个小的显示屏。因此这意味着要手工写代码,手动编译和打字。代码是这样子的:



很快电脑控制需要变得更加灵活。程序首先自动校验:测量卷轴上的标签自身的长度,测量标签之间的距离,并且它启用了一个运算器快速设立”悬挂”距离(标签要伸出去多少才能让产品抓到)。


在运行中,它要能自动检测传送带移动的速度,还有当供应卷轴上的标签缺失时(当一个卷轴意外掉落时就会发生)进行补偿和标记。


当然像这样写代码是一种痛苦。你首先必须写完代码(蓝色),然后转化成机器码(红色),并计算每个指令的内存地址和相对跳转地址。那时候我没有能够计算十六进制的计算器,所以我自己完成大部分所需的计算(如在大脑里计算相对跳转地址)。


然而它教会了我两件事:在第一时间写对代码 学会在大脑中运行代码。后者至今仍然重要。我调试时还是会先在大脑里跑一遍。通常情况下我会先于 gdb 或类似的工具,使用我的大脑调试器。KIM-1 里只有最基本的调试功能,我在程序里也写了点,但是大部分调试都是盯着输出(十六进制显示屏上),(步进器的)行为看,还有在脑子里运行代码。


PS:一些读者指出在 1985 年 KIM-1 离先进水平还很远,而且我们有很多好东西例如编译器等等。是的。事实上比这还早的时候我用 BASIC 和 ZASM(Z80 编译器)在 CP/M 下编程,但是你是用你已有的条件来干活的,工学院有空闲的 KIM-1,它有不错的 I/O,因此它是制作嵌入式控制器的很好的原型系统。



看完本文有收获?请转发分享给更多人

关注「程序员的那些事」,提升编程技能

登录查看更多
0

相关内容

JGC:Journal of Grid computing。 Explanation:网格计算杂志。 Publisher:Springer。 SIT:https://dblp.uni-trier.de/db/journals/grid/
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
Python 3.8.0来了!
数据派THU
5+阅读 · 2019年10月22日
Python奇淫技巧,5个数据可视化工具
机器学习算法与Python学习
7+阅读 · 2019年4月12日
你真的会正确地调试 TensorFlow 代码吗?
数据库开发
7+阅读 · 2019年3月18日
我的if else代码纯净无暇,一个字也不能简化
机器之心
3+阅读 · 2018年12月28日
刚开始学编程?这几款小工具能让你事半功倍
教程 | 从头开始了解PyTorch的简单实现
机器之心
20+阅读 · 2018年4月11日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
快乐的迁移到 Python3
Python程序员
5+阅读 · 2018年3月25日
实战 | 40行代码实现人脸识别
七月在线实验室
3+阅读 · 2018年3月7日
已删除
Arxiv
31+阅读 · 2020年3月23日
Arxiv
4+阅读 · 2018年5月10日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
相关资讯
Python 3.8.0来了!
数据派THU
5+阅读 · 2019年10月22日
Python奇淫技巧,5个数据可视化工具
机器学习算法与Python学习
7+阅读 · 2019年4月12日
你真的会正确地调试 TensorFlow 代码吗?
数据库开发
7+阅读 · 2019年3月18日
我的if else代码纯净无暇,一个字也不能简化
机器之心
3+阅读 · 2018年12月28日
刚开始学编程?这几款小工具能让你事半功倍
教程 | 从头开始了解PyTorch的简单实现
机器之心
20+阅读 · 2018年4月11日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
快乐的迁移到 Python3
Python程序员
5+阅读 · 2018年3月25日
实战 | 40行代码实现人脸识别
七月在线实验室
3+阅读 · 2018年3月7日
Top
微信扫码咨询专知VIP会员