《编码》读后感

本人把这篇文章定义为很个人的读后感而非严肃的技术博客,所以书中的内容大多是凭着回忆外加看目录写出来的,如有与原书内容不符的地方或是出现了技术纰漏,欢迎指正。

现在是2016-08-07 17:21 19:06,我刚参加完北京GDG组织的Android Meetup活动,晚饭是中午买的半袋饼干,现在我坐在地铁上家里喝着咖啡敲下这些字。嗯,中间站了一会,手机打字不是很方便,就没再写了。
从时间顺序上说,这周主要干了两件事,一是读完了《编码:隐匿在计算机软硬件背后的语言》,二是参加了周日的活动,至于翻译,由于这周情绪不是很高,用普通话翻译一下就是懒,所以没怎么动。不知是不是巧合,跟《第一行代码》一样,我这周也是周三读完的《编码》。其实对于写读后感这件事我是很纠结的,因为知识这种东西,会了就是会了,也没什么好说的,我也不可能比原作者说的更好,不会——那就更没什么好说的了。当然对于《编码》这本书我也是半懂。本书从在夜晚如何用手电筒与隔壁的小伙伴沟通讲入,要沟通就需要有一套暗号,显然用手电筒的灯光画出字母的形状出错率太高,而字母A闪一下,字母Z闪26下又显得过于繁琐,因此作者引出了摩尔斯电码,解决了沟通的效率与准确性问题,之后又用了布莱叶盲文的例子阐述了编码上很多提高效率与提高辨识度的技巧。之后得出结论,人与人之间如果需要机器作为交流媒介,是需要有一套统一的编码的。因此二进制就应运而生,因为它可以传达最基本的信息,即是与否(0和1)。用7位的二进制数即128个代码就可以代表所有的英文字母与常用符号,也就是所谓的ASCII码。之后又发展出了扩展ASCII码及Unicode码。
当然,还是晚上通过手电筒和小伙伴交流的问题,也许你的小伙伴没有住在你的隔壁,至少不是可以直接通过手电筒光来交流的距离,这时就需要一个电路了。开关在你的房间里,灯泡在你朋友的房间里,之间连上电池与导线,这样你就又可以向你的小伙伴发送信息了。当然,如果在你朋友家里同样放上一个开关,在你的房间里加上一个灯泡,这样你们之间就可以互相交流了。由此引申下去,如果你的小伙伴搬到了一个很远的地方,再用相同的法子电信号会减弱甚至消失,又该怎么办呢?这里又讲到了继电器的使用。再之后也许由于你的小伙伴不想再跟一个半夜不睡觉的人继续做朋友了,好吧,可能是别的原因,总之这个可怜的家伙终于不用再受到你的骚扰了,而你也打算进入正题,开始真正搭建自己的第一台计算机了。
跟现在的软件开发一样,第一件事就是要做用户调研,自己的计算机需要实现哪些基础功能呢?要能实现一些基础的逻辑运算,要能做加减乘除,要有输入输出设备,要能存储数据,要有漂亮的图形化显示。基本上照着这个思路,一步一步地,由浅入深地,从理论上搭建了一台自己的计算机。其中用到了很多的电工知识,当然这些我都是略过粗看的。也是在这之后我才知道学的电工学原来是干这个的,唉,我那些白交的重修费啊~~~~按照上述思路,可以把构建出来的RAM、CPU,加上买来的ROM、storage、键盘、屏幕拼装起来,就形成了一个理论上的计算机。我为什么一直强调理论这个词呢?因为按照书中的思路,构建一个64KB的RAM阵列需要近500万个继电器,所以即使你真做出了一个自己的计算机,你哪有地方放呢?是吧,现在国内房价这么贵。因此本书的内容可以概括为如何从理论上搭建一台自己的计算机。
这倒是让我想起了三国杀的一个名词——脑杀。所以结论就是,如果你想成为一名优秀的程序猿,你的脑洞必须要大。
以上。

你可能感兴趣的:(Android)