21天成为高级程序员,就看这一本

【文|风万里】

老话说的好“内行看门道,外行看热闹。”前几天TIOBE公布了2017年3月全球编程语言排行榜,Java语言以16.384%占比稳居第一,高出第二名C语言二倍之多。

2017年3月编程语言排行

那由此证明Java是世界上最好的语言么?还是Php(不是拍黄片啊)是世界上最好的语言??

我以为,学编程如同习武。世上的武功没有高低之分,只有习武的人才有强弱之别。如何才能快速提升战斗力?如何在短时间内可以和高手对决?笔者接下来奉上干货,教你一套内功心法。


《编码》

《编码——隐匿在计算机软硬件背后的语言》的作者Petzold从1984年开始编写个人计算机程序,曾经被微软公司授予Windows Pioneer奖。本书通俗易懂的讲述了一台计算机是如何工作的。作者使用电线、电灯泡、触发器等这些非常常见的零件,拼拼接接,最后令人惊异的建造了一台电子计算机。

本书的作者用丰富的想象和清晰的笔墨将看似繁杂的理论描述得生动、简单,使读者不会感到枯燥和生硬。即便读者不是计算机专业人士、程序员也可以轻松阅读此书。

作者在书中主要围绕的两大部分讲述:第一部分描述字母和数字在计算机中的编码,第二部分介绍计算机的硬件组成结构。下面我们分别来说明。

第一部分:字母和数字在计算机中的编码

什么是编码?对任何能听见我们的声音并理解我们所说的语言的人来说,我们发出的声音所形成的词语是一种可识别的编码。说是编码的过程,听是解码的而过程。

打个比方你喜欢一个阿拉伯女孩,你不会阿拉伯语,她也不会汉语。你想要对她表白说“我爱你”。当你从开始的想法到说出这句话,你的大脑(CPU)进行了编码的过程。

大脑把这句话“我爱你”编码成了汉语。而这个阿拉伯女孩,因为她无法解释你的编码,她听不懂汉语。

你还可以使用聋哑人使用的编码方式手语来表达。你还可以使用盲人使用的布莱叶盲文来表达。不过,这一切的前提是她都学习过这些编码。

你如何对计算机来表达“我爱你”呢?当程序员大侠敲击键盘输入我爱你时,计算机怎么会知道如何解码??它怎么知道你是爱它的???

本书前十三章都在解释计算机对人类语言编码和解码的过程。

第二章编码与组合中提到莫尔斯码(Morse Code)。莫尔斯码是伴随着电报机的问世而被发明的。我们在抗战片经常看到这样的场景:电报员头戴大耳麦,手里不停的拨弄着电键。电报机发出滴嗒滴嗒的声音。在电报机中一次快速的“滴-嗒”代表着“点”,一次慢速的“滴——嗒”代表着“划”。不同的“点”“划”组合可以代表不同的汉字。而更加耐人寻味的是,这个发明使用了二进制编码。

第九章二进制数中,提到在计算机的世界里全部的信息都是使用数字0和1来表示。0和1在计算机中是怎样编码的呢?是使用电灯泡的开关来表示。灯泡亮代表数字1,灯泡不亮代表数字0。不同的0和1的组合可以代表不同的数字和汉字。序列“01000001”代表字母A。序列“100111000101101”代表字符的“中”字。

图片发自简书App
第二部分:计算机的硬件组成结构

一台计算机包括很多部件:中央处理器、存储器、输入/输出设备等。通常这些部件按照功能被分别安装在两个或更多的电路板上。这些电路板之间通过总线通信。

用我们人类身体的组成结构做一个类比。中央处理器(CPU)类似于人体的大脑。存储器类似于人体的胃。输入设备类似于人体的耳朵、眼睛和鼻子等。输出设备类似于人体的手和脚。计算机的总线传输设备类似于人体的血管。

作者一边讲解了计算机的组成,一边回顾了计算机的发展史。如果大家想更进一步感性的了解这段历史,可以观看《模仿游戏》这部电影。这部电影讲述了图灵是如何发明一部计算机的。

电影《模仿游戏》剧照

有读者一定会疑惑,读完这本书真的就可以达到高级程序员的水平么?

举个栗子:内存溢出的bug是我们经常会碰到的棘手问题,这个问题发生之后,不同级别的程序员反应如何呢?

初级程序员的第一反应是:先来个{try catch}把异常捕获了,以后有时间再查下原因吧。而很快就没有以后了。

高级程序员第一反应是:哪块代码占用内存大?是图片占用内存空间大么?为什么占用这么大?调用了第三方库?第三方库实现的原理是什么?一定要查清楚具体原因,了解事物的原理。

在基础原理上的深刻理解,透过现象进而探索本质可以发现新事物;将复杂的事物简单化,可以发现解决问题的新方法。

我们需要在思想上有一个转变,达到高级程序员的思维高度,学习他们解决问题的方法。由这些方法作为指引,假以时日,你一定可以变得越来越优秀。

后记:一张图片到底占用多大内存?欢迎评论探讨。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,054评论 6 244
  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 2,776评论 1 9
  • 人人都自卑。形成自卑的过程大约有两种。一是在小时候跟成人的比较过程中,都有不如成人的深刻体验;再加上某些不太利于成...
    心海如镜阅读 229评论 0 1
  • 月薪5000和月薪50000的人差在哪里?很多人都希望自己可以脱离“穷人阶级”,其实你更需要摆脱的是所谓的“穷人思...
    右_you阅读 467评论 0 0
  • 女人这种生物是特殊的,上帝特意赋予她们神圣的责任。她们从出生到死亡,所有的经历都注定将是不平凡的一生。 当她们呱呱...
    杨亦楊阅读 286评论 0 0