CompBook 板


LINE

Code: The Hidden Language of Computer Hardware and Software 作者在 1999 年开始写这本书, 之前拥有的是英文版, 曾经试图翻阅, 却总是在其艰难的 英文句子中败退下来。这是很久很久之前不知道在哪里听说到的书, 因为作者 Charles Petzold (windows programming 界的大师级人物) 很有名, 我相信这会是一本好书。 20111212 在台南若水堂 ( http://goo.gl/TGJkEj )看到简体中文版本, 意外惊喜之下 , 立刻买了下来。55X6 = 330, 花了 330 台币。这本的简体中文翻译算是不错, 不熟悉 阅读简体中文书籍的我也读得津津有味, 也没有任何的不流畅之处, 在缺乏繁体中文的版 本下, 是唯一也是不错的选择。 这本书的内容是什麽呢?从书名 CODE 来看, 又, 它是一本电脑相关书籍, 作者又是软体 界大师级人物, 也许有人会猜和程式语言相关, 教怎麽写程式吧! 不过从简体中文的翻译 可以看出, CODE 被翻成编码的意思 ... 嗯!还是猜不到是吧? 这本书是在讲述计算机的故事, 从灯泡、开关到打造出一台计算机以及後来的软体发展到 网路的故事, 很意外吧!从书名完全看不出来是这样的内容。 书中作者有一句话我很喜欢:「明喻与暗喻是文学描述中精妙的辅助手段, 但它们常常掩 盖了科学技术的真正光芒。」在解释一些专业的技术时, 大多会听到一些比喻的方式, 不 过有时候的确只有精确的解释, 才能了解其内涵。 因此我基本不会使用类比,因为类比其实就是在用外部知识来理解当前的话题,很容易把 话题扯开出去。 ref:http://goo.gl/LnnlMV ( http://blog.zhaojie.me/2012/08/programming-languages-arguments-dont-pull-me-in.html ) 在 iWoz 科技顽童沃兹尼克 ( http://goo.gl/JzYCGj )这本书中读到, Steven Wozniak 从小被传授电子学相关的知识, 其中包括原子核里电子的流动与电流的关系, 我那时候心 想: 「好厉害!原来电流可以细谈到电子。」而在本书 CODE 中, 从第四章 - 手电筒的 剖析, 我知道这是怎麽一回事了, 也许中学教育早已教过, 但我真的不记得了。 作者从第一章的摩斯电码开始, 告诉读者编码的概念, 如何简化编码还原到原来的意思, 盲人使用的文字也是编码的一种, 封面上每六个凸起或是平的圆点 (简体中文版本才有) 就是 C, O, D, E 本书书名。 手电筒的线路到电子的流动完成整个电流的移动, 有趣而令人容易理解的比拟, 实在令人 佩服。 从人类十个手指头的十进位 -> 卡通人物四个手指头的八进位 -> 龙虾螯的四进位 -> 海 豚两个鳍的二进位, 原来印度人发明的阿拉伯数字是如此的伟大, 有了它, 我们得以用同 样的原理计算八进位、四进位、二进位, 不过得先准备好其他进位的加法表和乘法表。一 路的解释下来, 让我有豁然开朗的感觉, 顿悟了原来数字这回事。 再来的逻辑学和灯泡完成了 and/or 运算, 真是神奇, 原来这些数学和计算机是这样关联 起来的。快要提到灯泡、电池、开关、导线和计算机的关系, 真期待後面的内容。 本书有 25 章, 372 页, 平均一章 10 多页, 很容易就可以看完一个章节, 很容易看下去 , 也很容易沉迷的继续看下去, 大学时期要是有这样有趣的教科书, 哪里需要靠考试逼我 , 自己找时间就会看书, 也就了解计算机的工作原理了。是的 code 就是在讲述计算机构 造, 如何用相关技术, 完成计算。我一直以为作者是软体相关工作者, 没想到果然软体大 师级人物, 从数学、硬体果然有都有涉猎, 一直以来总是怀疑学校所学的知识到底是应用 在哪里? 因为工作上几乎没用到相关的知识, 现在总算解了我的疑惑, 第十章的逻辑与开 关, 精彩的阐释了这样的学问如何应用在计算机的 and/or 运算。 ( http://goo.gl/O6GiQN )原文版本的封面没有使用盲人的凸点印刷, 简体中文版本多 花了点成本使用了盲人的凸点印刷。 不过原文版本的灯泡图形有红色线条, 简体中文版本就没有了, 这样的确比较不好看。 or gate, and gate, xor gate, nand gate, not gate, buffer 原来是继电器 (其原理 是透过电池铁来实作) 透过不同的组合来完成的, 从灯泡开关线路到这些基本 gate, 慢 慢的解释计算机原理, 再来要讲述加法器了, 你会和我一样很期待吗? 我似乎开始有印象学生时代的加法器了, 那时候读起来很无趣, 没想到透过 code, 我豁 然开朗, 原来半加器、全加器 (half adder, full adder) 是这样兜出来的, 嗯!这我 有印象。而一补数、二补数原来是用来做减法运算用, 而不是纯粹一种数学运算, 计算 机必须透过这样的方式来完成减法的运算, 知其然的学习方式果然有趣多了。 用电子线路完成加法器很厉害, 但运用机械装置, 齿轮、杠杆做出计算机我觉得更是神奇 , 这可是不用电的哦!不过可能大台了点 XD 而我也在这之後, 购入了一台monroe 机械式计算机 ( http://goo.gl/8mAe3m )。 ref:http://goo.gl/GZtC2N ( http://moodle.ncnu.edu.tw/file.php/13923/Ch01_%adp%ba%e2%be%f7%b5o%aei%a5v.pdf ) 英国发明家巴贝奇(Charles Babbage)於1833年制造了一部计算用的机器,被命名为巴贝 奇差分机 (Babbage Difference Engine),整部机器包含了25,000个零件,重约3吨,虽然着个机 器经常故障, 但他并没有气馁,再接再厉与他儿子在1847年制造出分析机(Analytical Engine), 这也是世界上第一部完全自动计算的机器,它包括了输入、处理、控制、储存、输出五部 门, 可说是後来电脑构想的先驱;因此被称为电脑之父(Father of the Computer)。 第十四章的内容对我有些难度, 阅读速度慢了下来, 主要是运用 feedback 的概念来完成 很多神奇的电路。oscillator, R-S Flip-Flop, 电平触发的 D 型触发器 (可以用来储存 讯号), 边沿触发的 D 型触发器, 然後使用 oscillator 和边沿触发的 D 型触发器完成 frequency divider, 在透过连接几个 frequency divider 完成计数器。 电平触发的 D 型触发器 (可以用来储存讯号) 这可以拿来干嘛呢?前面有了加法器, 可 以相加两个数, 如果要加三个数呢?那就需要这个电平触发的 D 型触发器来把第一次相 加的结果保存下来, 在与第三个数相加, 是不是很重要呢?也许你也想到这就是电脑上的 ram。 计数器: 很简单, 就是从 0000, 0001, 0010, 0011 ... 数到 1111 在回到 0000。 ( http://goo.gl/dwZi4B ) 第十六章讲述储存器, RAM 为什麽会被称为 RAM (Random Access Memory) 是因为它可以 读取某个位址上的任何一个 bit, 若是其他循序型的储存器 (ex: tape), 要读取 101 的 位址值, 需要先读取 100 的位址。原来是这样兜起来的阿! 第十七章很复杂, 也是很精彩的一章, 我还无法 100% 理解其中内容, 不过对於计算机的 概念已经有深刻的体认, 要多花点脑力来阅读。这章的内容虽然也有硬体的部份 (有很多 可怕的硬体元件连接起来), 但我想系统软体程式设计师一定会很喜欢。从一个加法器渐 渐演变成为可使用组合语言指令的计算机 (computer), 这是怎麽开始的呢?很有趣吧! 从 ram array 开始, 导入 instruction code/operation code (就是常听到的 op code), 开始了一个简单的组合语言程式。 之前听说过:「设计一颗 cpu 就要设计其组合语言」, 我现在终於有了深刻的认识, 原来 这道理是这麽的自然, 哪里需要花时间搞懂那句话呢? 而不知道 cpu 是怎麽设计出来的 , 只能对那句话有粗浅的体认, 无法了解其真正想说的内容。到了第十九章介绍 intel 8080 时, 为什麽那些 op code 要设计成这样也有所理解, 能搞懂这些关系, 真是令我舒 体通畅, 沐浴春风。 手上真的有股冲动, 想去买个面包版, 亲手打造第十七章里头的计算机电路。而我也能理 解为什麽总是要有个 clock 来产生时脉, 这才能让 cpu 从 0 开始运转, 由下而上的贯 通, 了解整个计算机结构, 让只专注於软体设计的我非常受用, 原来我写的 code, 就是 变成这样来执行的。 前面几章所提到的硬体元件, 就是要用来打造这样的一台计算机, 看似简单的元件, 但经 过复杂的组成後, 就变成你我在用的电脑了。 这是用 intel 8080 打造的 Altair 8800 ( http://goo.gl/pF2s2 ) 看过本书後, 就会知道为什麽上面会有开关和那些灯泡了。现在的电脑当然不会长这样, 但基本原理都是和这台有着开关和灯泡是一样的。 ( http://goo.gl/0FOYUs )在自然环境的包围下, 阅读如此精妙的好书, 充实感官与知 识上的养份, 实在是一大享受, 我坐在树下的阴凉处, 举着 code, 尽情吸收着书中的技 术, 享受专业书籍带来的震憾。 从 22 章之後, 内容离开了生硬的计算机结构, 慢慢往软体的部份而去, 从作业系统 (中 国翻译为操作系统)、程式语言、网路 ... 这是我比较熟悉的部份, 对於计算机原理制作 的部份, 我非常喜爱。我不是热爱和 and gate, or gate, xor gate, nand gate 奋斗的 硬体工程师, 但关於这部份却也让我看的津津有味。果然了解计算机结构, 才能更深入了 解组合语言。 看完这本简体中文的版本, 让我了解不少中国的翻译术语, 所以本篇心得有些辞汇是中国 术语, 因为我不知道对应的英文或是台湾术语, 所以我也无法标示其後。 在中国术语日渐入侵的台湾, 台湾工程师也慢慢开始使用着这些中国术语。例如:支援/ 支持、实作/实现、呼叫/调用、质数/素数, 演算法/算法、物件导向/面向象, 有些术语 中国翻的很有意思, 不过大部份我还是习惯於台湾的用语。 简体中文的版本 p 347 提到一个找寻质数的演算法 (Sieve of Eratosthenes), 在程式 设计讨论区上有时候会看到求质数的问题, 把这个拿出来用还不赖哦! 在图书馆有发现一本类似的书籍, 也是在讲计算机结构, 里头的电子线路更是多样, 看起 来很吓人, 还是灯泡与开关令人觉得友善, 看起来也不那麽可怕, 要是能先读这本书, 也 许在大学的时候, 我也能好好的看看数位电路的书籍, 这门学问也和写程式一样有趣呢! 真是一本很棒的书籍, 要是因为英文的关系不能吸收里头的知识, 那真是太可惜了!翻译 工业还是很重要的, 不是每个人都能为了学习专业知识而先把英文学好, 若能把原文这道 墙的门槛降低, 也间接可以提高工程人员的专业。要不然还有德文、日文的专业书籍, 工 程人员还要先对付这些外文实在辛苦。 ( http://goo.gl/fZvoL1 ) Charles Petzold 的网站:http://goo.gl/UtrtZy ( http://www.charlespetzold.com/home.html ) // 本文使用 Blog2BBS 自动将Blog文章转成缩址的BBS纯文字 http://goo.gl/TZ4E17 // blog 原文: http://descent-incoming.blogspot.tw/2012/01/code-hidden-language-of-computer.html --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.236.198.76
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/CompBook/M.1419305066.A.C5A.html ※ 编辑: descent (36.236.198.76), 12/23/2014 11:25:27
1F:推 dddd345tw : 这本我第一眼翻时 感觉是数位电子学 就没在多看了 12/24 11:07
2F:推 pcedison : Descent哥,你说图书馆里的类似书籍,就是 12/29 12:40
3F:→ pcedison : 那本微算机原理吗? 12/29 12:40
4F:→ descent : yes 12/31 14:38
5F:推 Jiapie : 读过这本书,很深入浅出让人收获很多的好书 ^^ 06/11 12:25







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP