Steve Wozniac,全名斯蒂芬·加里·沃兹尼亚克(Stephen Gary Wozniak,生于1950年8月11日)。美国计算机工程师,曾与斯蒂夫·乔布斯合伙创立苹果计算机(今之苹果公司)。Wozniac在1970年代中期创造出了第一代苹果计算机和第二代苹果计算机,随着第二代苹果计算机风靡普及,苹果成为了1970年代及1980年代初期销量最佳的个人计算机,Wozniac被誉为引领计算机进入大众家庭的工程师。

作者 | jamesbowman

译者 | 弯月,责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:

很久以前,当计算还是一项非常无聊的业务时,发生了一件意想不到的事情。为电传打字机和交通灯设计的廉价微处理器被年轻的黑客们用作了个人电脑。有一群以Steve Wozniak代表的年轻人开始挑战有限的计算机能力,潜心研究并让这些小机器承担起了不起的工作。其中一项工作就是博士Dobbs Jounal于1976年8月发表的如下文章。

这是一组实数算术的例程。图中的微处理器(6502,第一代和第二代苹果计算机曾采用该处理器)只能计算字节——即0到255之间的整数。更糟糕的是,该微处理器只能做加减法。但是,你可以利用这个库计算1.2627  -  1099.56,甚至是pi的平方根。令人惊讶的是,Wozniac总共只用了127条指令、239个字节就完成了基本运算:加减乘除。

这是一段了不起的代码,在数次阅读之后,我依然惊叹于其巧夺天工。例如,乘法和除法的例程需要循环23次,每一次计算一位。在这段代码中,Wozniac是否在两个地方重复写了常量23?当然没有!他在两个例程都会执行的一段前值代码中加载了常量23:

再举一个例子,求M1和M2绝对值的算法通常如下:

M1 = abs(M1);

M2 = abs(M2);

然而,Wozniac却没有像这样重复。他写了一个求M1绝对值的例程,然后交换M1和M2。之后,他调用了两次该例程,因此用一半的代码量实现了相同的功能。更令人欣喜的是,其他地方也需要交换M1和M2,因此这部分代码一举两得。

当然,这种紧凑的代码很难让人理解,但是如此超前的代码确实让人唏嘘不已。阅读1976年期刊中的其他文章时,就会发现里面有很多不是特别优秀的代码。这也无可厚非,因为当时的人们只是想弄清楚利用新型微处理器的方法。但在一众代码中,Wozniac的这段代码无疑给现代的演景(demoscener)工作一记响亮的耳光。相比之下,Wozniac代码的创新水平堪称与30年后出现的这段6502代码(https://github.com/pfusik/zlib6502)并驾齐驱。

讲完历史,现在来想一想:为什么我会在2019年反过头来查看这段古老的代码?因为我正在做有关I²CDriver和SPIDriver的开发,它需要在8位CPU上进行浮点运行,在之前的项目中我使用的是基于8051的Silicon Labs EFM8。它可以很好地执行浮点计算,就像6502库一样。虽然我的代码不像原来那么短,但速度很快,比Keil好要快一点。

优秀的代码永垂不朽!

原文:https://tinyletter.com/jamesbowman/letters/i-have-found-an-excellent-programmer-named-steve-wozniac

本文为 CSDN 翻译,转载请注明来源出处。

如何在短时间内成为Python工程师?

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

【END】

 热 文 推 荐 

☞小米将开源进行到底!

☞AI 会替代程序员?超好用的自动补全代码工具 Deep TabNine!

☞苹果收购英特尔手机芯片业务;西门子将在华建立 5G 研发中心;React Native 0.60.4 发布 | 极客头条

☞17 岁成为 iOS 越狱之父,25 岁造出无人车,黑客传奇!

☞抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

☞又是GAN!这个AI让周杰伦、罗永浩“变脸”古典画像

☞你硬盘里的那些电影都是如何被保存的?

☞孙宇晨深夜发文致歉: “我年轻, 涉世未深”……

中国第一程序员,微软得不到他就要毁了他!

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

优秀的代码永垂不朽!相关推荐

  1. 项目中遇到一些实用/优秀的代码写法(杂烩)

    2019独角兽企业重金招聘Python工程师标准>>> 实用/优秀的代码写法 es6 数组Array支持链式编程,例子身份证中间几位用'*'代替,替代了我组长说的substr的基础写 ...

  2. 【译】什么才是优秀的代码

    究竟什么是优秀的代码?Robert Martin的一句话可以完美诠释. 代码质量的唯一衡量标准是每分钟说多少次WTF 我来解释一下这句话.当我在做code review时,通常会有三种不同的感受: W ...

  3. 什么样的代码才是优秀的代码

    一,什么样的代码才是优秀的代码 许多去 Google 参观的人,用完洗手间后,都会惊奇而略带羞涩地问:"你们马桶前面的门上,贴着的 Python 编程规范,是用来搞笑的吗?".搞不 ...

  4. 移动开发者最爱的9个优秀Android代码编辑器

    移动开发者最爱的9个优秀Android代码编辑器 在网络信息高速发展的今天,移动设备的方便快捷已经深入人心,越来越多的开发人员会选择在移动设备上查看或编辑源代码.于是,Android平台上大量基于代码 ...

  5. 优秀的代码 vs. 糟糕的代码

    http://harttle.com/2015/04/13/elegant-and-bad.html 可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比.-- Robert ...

  6. mac上优秀的代码编辑软件Sublime Text 3

    sublime text 3是一个代码编辑器,也是HTML和散文先进的文本编辑器,支持64位和32位操作系统,程序员之必备神器.sublime text 3破解版在支持语法高亮.代码补全.代码片段(S ...

  7. 设计模式学习之简单聊聊如何写出优秀的代码

    前言: 到底什么样的代码是优秀的代码?这个恐怕是仁者见仁.智者见智的问题.一个程序员随着能力的提升和视野的开拓不同的阶段看待这个问题会有不一样的答案.不过常见的一些评判的标准,像可维护性,可扩展性.可 ...

  8. android优秀开源代码

    GitHub 优秀的 Android 开源项目 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的Vie ...

  9. 优秀的代码都是如何分层的?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://t.cn/RdrmI7i 1.背景 说起应用分 ...

最新文章

  1. VMware Virtual SAN存储设计规划
  2. 绝对自回归模型(或将解决标注问题)
  3. docker 删除容器_Docker (二) Windows10专业版安装教程
  4. Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples
  5. html5水调歌头代码,张惠言的五首《水调歌头》
  6. SQL 2005安装问题解决办法
  7. 前端学习(765):使用构造函数的原因
  8. 利用Excel进行成对(配对)T检验
  9. php如何调用手机拨打电话,ionic调用手机系统的拨打电话
  10. Java中的反射和Java中的访问修饰符
  11. YUM只下载软件不安装的设定
  12. 3步解决网盘限速,还能远程下载!
  13. IDL简单读写nc文件
  14. 【PR】PR剪辑视频编辑软件视频去字幕
  15. android微软雅黑字体,关于 Android 默认字体以及对比微软雅黑字体
  16. 从直男审美到时尚达人,这群阿里工程师要让服饰行业换个玩法!
  17. 小鑫の日常系列故事(一)——判断对错 (sdut oj)
  18. 安卓前端车牌识别技术应用
  19. 安装es-header插件
  20. HTG评论GE Link入门套件:最经济的智能灯泡选择

热门文章

  1. Pytorch torch.topk()的简单用法
  2. 2021李宏毅机器学习课程笔记——Domain Adaptation
  3. 读书随笔:The Book of Why——CHAPTER 3:From Evidence to Causes: Reverend Bayes Meets Mr. Holmes
  4. Pytorch torch.mean()的简单用法
  5. 解决tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm.
  6. Lua笔记3 函数和数组
  7. Unity5 Survival Shooter开发笔记(1)
  8. 批量处理文件,正则表达式处理文件
  9. Flutter进阶—实现动画效果(四)
  10. 中国急性缺血性中风治疗学行业市场供需与战略研究报告