《疯狂的程序员》读后感

之前我在新年计划中说,争取新加一点读书笔记的内容,为博客赚点流量,所以这是我的第一篇读书笔记,为什么选这本书呢?可以说这本书给我详细介绍了程序员的工作,世界观,使我对计算机编程有了浓厚的兴趣,同时它也给我指明了后面努力的方向。初次读这本书是在我大二那年,由一个同学推荐,后来在毕业之后我在万能的某宝上找到了它的纸质版,又读了几遍,每次读都有很大的感触,所以我决定拿他作为我的第一篇读书笔记。

感悟

初次读这本书是我的一个大学同学推荐的,当时我正在大二,那是个时候我感觉到有一丝迷茫,有一丝压力,压力主要在将来就业上,当时我读的不是什么名牌大学,没有什么特别突出的能力,专业课也听得似懂非懂,那个时候总感觉以现在的状态坑定要失业。虽说想要学习点东西,不知道从何学起。那个时候学习的东西太多了,C/C++、Java、HTML、ASP.NET等等,很多东西都是浅尝辄止,一直感觉很无力,。我与几个朋友一起交流的时候,他给我说:“我给你推荐一本书吧,叫《疯狂的程序员》网上有电子版的,
这本书是作者根据自身经历写,讲述了主人公从刚进入大学到最后工作再到后期创业的整个故事。里面详细介绍了主角的整个学习过程,主人公从大学一直学习汇编,然后到毕业实习、工作,逐渐过渡到VC++的种种,至此我似乎有了一丝学习的脉络,当时我给自己定下的目标是利用一个寒假好好补一下之前落下的汇编,然后再利用一个学期学习C/C++,当我把汇编学习完了之后我发现C语言里面的指针,数组,结构体,共用体什么的都不再那么神秘,从汇编角度上看只不过是内存的不同摆放方式,采用不同的寻址方式罢了,函数调用,各种传参等等就没有什么难度了,学完汇编再看C语言的种种语法就觉得是那么顺理成章。后来两年中,我基本上是按照这本书中主人公的学习脉络来的,先从汇编到Win32 汇编再到VC++,MFC编程,依照这个顺序,在自学的过程中再也没有遇到过之前那种离了书本就什么都不会的经历,这也给我后面学习带来很大的动力。
以前我一直把程序员当做一个理工科的内容,一直认为它只是类似于水利工程师,建筑工程师之类的职业,但是我从这本书中读到一个观点“程序员的双手是魔术师的双手,他将枯燥的代码编程优美的可执行的软件”。原来程序员可以是一个艺术家,是类似于画家的,是可以写出优美的软件,从书中的字里行间,我读到作者作为一个程序员的骄傲,作者那种学习新技术,努力写出优美软件的那种执着。这些都使我对程序员的世界产生了浓厚的兴趣,根据这本书上的相关内容,我注册了一个CSDN,一个看雪的账号,经常在各大程序员论坛潜水,努力希望融入这个圈子,学习程序员文化。可以说这本书带给我关于程序员的启蒙教育,以前一直把程序员当做一个赚钱的行业,当时从那个时候起,我是真正喜欢上了这个职业,喜欢上这种文化。

名言警句

书中也有许多有意思的想法,时不时爆出一些名言警句什么的,下面我列举出我比较喜欢的一些句子:

  • 要么做第一个,要么做最好的一个。
  • 什么是鸡肋课?就是每个人都在自己课表的这门课旁边标注一个“可旷”或者“选修”。
  • 什么程序优化啊,都抵不上有钱,有钱就是最好的优化。说什么“效率就是金钱”,其实“金钱就是效率”。
  • 中国人和外国人很大不同就在于外国人总想热衷于第一时间把自己的新发现公布出来以此向广大人民群众展示自己的水平。中国人往往喜欢把自己的新发现阴在心里,自己偷偷垄断享用。唯恐被第二个人知道。公布出去,相关部门肯定马上解决。
  • 所谓好的病毒就是要:“持续时间特别长,波及范围特别广,破坏力特别大。”
  • 能进别人系统偷东西,那就是小偷;能进别人系统又不偷东西,那就是黑客。
  • 当你不是黑客的时候,总说:“我是个黑客”。当你真正成为黑客的时候,你往往会说:“我不是黑客”
  • 程序员是值得尊敬的,程序员的双手是魔术师的双手,他们把枯燥无味的代码变成了丰富多彩的软件……
  • 一个人静静的坐在电脑前写大卖的感觉,那是什么感觉?那就是武林高手闭关修炼的感觉。
  • 一本好书,就像高级武功秘籍一样,哪怕只从里面领悟个一招半式,功力提升起来都是惊人的,眉超风学的那半生不熟的九阴真经就是证明。
  • 所以练武功和写程序一样,不在乎你修炼了几十年还是几百年,也不在乎你少林武当娥眉拜了多少门派,关键是你有没有把一门武艺炼到出神入化的境界。学武艺,最忌讳总想着去追求大而全,你要明白,其实只需要“打狗棍法”这么一招,就足够你掌舵丐帮,受用终生。
    -天下武功出少林,天下语言出汇编
  • 提升功力大低有两种方法,一是自己不断写代码,不断完善,不断把自己的代码写好,二是看牛人的代码。牛人的代码实在太高深了,一句看似平凡的语句,也许背后都蕴含着惊天地泣鬼神的智慧。现在你看不出什么端倪,等十年八年之后,你猛然醒悟:啊,原来大牛的代码竟是如此博大精深!
  • 对男人来说钱什么都不是,但是你没钱,你就失去了让她了解你的机会。对女人来说漂亮什么都不是,但是你不漂亮,你就失去了让他了解你的机会。
  • 人不怕被识破也不怕丢脸,怕就怕被当场识破和当众丢脸。。
  • 力的作用是相互的,你打别人有多疼,自己的手就有多疼。与其大家都疼,还不如最开始就不要下手打。
  • 每个人都期盼着便宜能光顾到自己,就算没有正儿八经地想,多多少少也偷偷的想过,但是有天便宜真的来了,可要小心了。
  • 写程序并不是一辈子都只是写代码。IT这一行是相当广博的,不管你是男的还是女的,不管你技术是初级、中级还是高级,你都能在这行中找到你自己合适的位置。如果你真的用心了,它带给你的会是一生的回报。
  • 男人的工资,和女人的年龄差不多。没钱的时候,最忌讳别人追问自己的工资待遇。可男人的工资,又和女人的年龄不一样。女人要是年轻,别人问她年龄,她自然敢大方地回答。男人的工资呢?要是高了,还是怕别人追问。
  • “疯狂的程序员”绝对不是靠狂妄和拼命的程序员,而是能够脚踏实地、持续努力的程序员。一个程序员真正做到了这两点,技术上去之后,唯一能够限制他的只有想像力,到那个时候,才算“疯狂的程序员”,这种程序员啊,才能令竞争对手无比恐惧。
  • 技术其实还是我们最需要的东西,以前我们没有过硬的技术,所以疯狂地追求它。现在呢?有了一点技术,便觉得技术不那么重要。如果这样放任下去,等到我们失去技术的那一天,一定会后悔莫及的!

    最后说点题外话

    从当时懵懂的菜鸟到现在入行块两年的老菜鸟,目前仍然在学习Windows编程方面的东西,很多人都说现在PC端萎缩,学习PC端的编程没有出路,但是我自己不这么想,编程这个东西与具体的平台无关,与语言无关,编程靠的永远都是基础知识,数学和算法才是王道。但是算法和数学就只看理论是没有办法入门的,必须要实践,而实践的最好方法就是深入一个平台,一门语言不停的学习某个平台某一个语言的相关内容。
    在学习的途中会涉及到许多算法,操作系统,网络,数据库等等基础部分的知识,有的还可能会涉及到具体的硬件知识。比如Windows平台编程中的进程、线程、内存管理,想要学通这些没有操作系统的相关知识是不可能的,学习网络编程的时候需要网络知识,而数据库则需要数据库相关的知识,而且在Windows中采用的许多框架许多机制一般在其他平台也适用,比如Windows上的回调、消息机制、映射等等相关内容在其他平台其他语言基本上都有,现代操作系统,编程语言都是想通的,基本上是一通百通。
    因此在学习的过程中不要太纠结于平台和语言。随便选择一个平台,努力深入进去,在编程的同时学习一下基础理论的内容。不要被目前很火的大数据、人工智能云计算,等等东西蒙蔽了头脑,它们说到底也是对数学和算法在具体环境中的应用而已,只要有扎实的基础,想要跳到对应行业,只需要了解对应语言的语法,相应的接口而已。
    归结起来就一句话:数学和算法是王道。
    以上都是一个IT菜鸟的肤浅的理解而已,同意就点个赞,不同意也不要喷!!!!