以作回顾、以作借鉴、以作鼓励。。。

在上大学以前我从未涉及过编程这一领域,倒是对电脑比较感兴趣,这里所说的“电脑”是指粗浅的应用,我会为了从某一本杂志上看到了一则修改注册表的技巧而兴奋不已,然后回家赶紧尝试,却不名就里。上了大学,大一第一学期,学习的是“计算基础”,就是那种讲如何操作Windows如何操作Word Excel的书,逃课一学期,觉得挺没意思,只是为大学里的自由感到畅快,可以不用被强制睡午觉,晚上可以海阔天空的闲侃乱弹。身在数学系,大一第一学期感觉数学分析挺有意思,较认真听课(现在想那或许是我所有学科当中听的最仔细的一门,却也只听了一学期,其中还逃课若干(讲课的老头很不错)),然后那一学期数学分析神奇的拿了九十分(是我所有的学科中最高的),大一上其它课逃课率75%以上,有的课从不上。
    大一下是个转折点,我们开了C++程序设计课程,我在大一上的寒假前得知此事决定用寒假的时间先看完钱能的那本书再说其中原因并非我那时对C++感兴趣,原因很“委琐”,是为了下学期能够逃课去看我mm,于是寒假结束我看到类那一章,以为小所成(其实那时我连上机都还没上过,只是纸上谈兵罢了),然后,果然逃课一学期(直到学期末都不知道C++教师的名字),后来考了72分,心里不服,窃以为那老师出的题目太抠门,有些题目没意义也没意思(现在还这么想)。于是,大一下,我几乎又逃了所有的课,一无所成。只是觉得C++挺有趣的(这就是我所谓的“转折点”----一个人如果对某一样东西抱有充分的好奇和兴趣假以时日,则必有所成,就像刘慈欣在他的《朝闻道》中所写的:“一个文明一旦对头顶的星空抱有了充分的好奇,那么离他们揭开宇宙的奥秘的时日就不远了”,“从远古第一条泥浆虫爬上岸到进化出古人类用了百万年时间,然而人类历史才多长?就已经创造出了这样的文明?”)。
    在大一下的暑假前,我幸运的又发现了侯捷的《深入浅出MFC》,这本书的封面以及侯捷其人的简介还有书内容的介绍都给我致命的吸引力,书的封面是一个登山者在夕阳下的剪影,有一句话:无限延伸你的视野!  我也记得侯捷其人的介绍,他用了陶渊明曾介绍自己的一段话为“模板”:先生不知何许人也,闲静少言,不慕名利,。。。好读书,求甚解,每有会意便击节高歌,然忘食,。。。嗜咖啡,妻严不能常得。。。,还有其书的介绍。
    就是这本书,在暑假里带我作了一次游历,这次游历令我终身难忘,本来,我可能像大多数数学系的同学一样,过了大一下,就投入数值计算,常微分,偏微分的”怀抱“,但是这本书让我着着实实领略到了C++的现实威力!MFC精致的内部架构令我迷惘也令我迷醉,但是,读这本书,我要说,真不容易,特别是,我读的那时候我还是个初学者,所以我后来又读了第二遍,其时我已经对C++终于小有了解了(真的只是小有了解)。
    大二上,继续逃课,并明确自己的目标,将数学放在次要位置,将大量时间放在学习计算机上,那一学期我自学了数据结(清华的〈数据结构C++描述〉),汇编(〈IBM PC汇编教程〉),32位计算机原理(清华的〈80X86计算机原理〉什么的,具体字记不清了,黄封面),操作系统(〈操作系统原理〉机械工业,扉页有盖兹的大头照的:)),当然,C++没有丢掉,那学期我学Windows API编程,要用C++,所以着重学应用,学Windows编程可是件麻烦事,撇开数以万计的API不说,单是消息循环就让人头痛了,好在我看到了Jeff Richter的〈WINDOWS 核心编程〉,一切仿佛都明朗化了,只是不够明朗,然后我试着用“该死的MFC”了,可以说,我几乎没怎么用过MFC,因为我又不去开发大型项目,自己做SDK编程,手工打造还有利于理解操作系统的机制呢。但是我了解MFC,有时我也会一头扎进去跟踪个清楚,只为了了解一个类的结构,如何运作。。。这是种乐趣。
    我要说,学习操作系统有利于对C++的理解,C++之父的〈C++程序的设计与演化〉里就讲过它以前从事操作系统相关的作,并在设计C++语言时从中借鉴良多,比如C++类的保护机制就是操作系统保护机制的某种借鉴。
    大二的上学期就这样过去了,期末,成绩都在及格边缘。学习的操作系统自己觉得不够深入,恨不能让盖瓷给我讲WINDOWS的核心代码和设计理念,而C++,也是没怎么进展。
     大二下又是个转折,非典了,不能去看mm,总要找点事做吧,就去网上查书,看看有什么C++方面的好书,一下查了一堆,于是:
        Effective C++
        More Effective C++
        C++对象模型深度探索
        Exceptional C++
        STL 源码剖析
        C++设计新思维
        。。。
     这些书全都出现在我的书架上,我被C++迷住了,上面的每本书都让我目眩神迷,C++的精妙,C++的广博,直到斯时才展现在我这个菜鸟的面前,我疯狂的看,那一个月时间我大概看了4~5本书。其中,STL源码剖析让我看到了C++中的另一片浩大的海洋----GP(Generic Programming,也就是泛型),我一下跌落进去,然后那本曾让侯捷(就是译者)目瞪口呆的〈C++设计新思维〉(Modern C++ Design)让我“二阶”目瞪口呆了,我看得在宿舍里大叫:居然可以这样的啊!!神!!----于是我为GP的优雅和精致所彻底折服了),读这些书的时候,我不断觉得我了解C++了,又不断被下一个不知是什么让人惊奇的技术所打击,觉得了解C++----难啊!(现在,我不在受“打击”了,倒不是说我终于洞悉C++了,而是我终于能够以平和的心态对待这个事实----我永远也不能完全了解C++,她太广博了,太深奥了。古龙说:“一个男人如果认为自己了解女人,那他吃什么亏都是应该的”,C++就是那个“女人”,特别是一但将C++应用到设计领域,突然就又产生了无穷多种可能,你似乎永远也不会想到C++中一个看似不起眼的特性会被用到多么巧妙的地方)
    然后,从非典以后,我对C++的学习几乎就是GP了,书看完了,我就上CUJ,找出以前的文章阅读,那已经是在暑假了,我一边阅读CUJ上的文章一边翻译〈Effective STL>(虽然有人认为这本书远没有Scott Meyers的前两本书好,但是至少其中有些章节还是不错的,其实我觉得这本书缺少的是技术的激情,它只是经验的结晶,所以未免显的有点枯糙,但其价值任是大的),终于,在一再被CUJ中的泛型方面的文章所震慑的同时,我也决定自己“研究”点东西(毕竟,不能总是记忆啊),所以,我下载了boost库,并试图阅读其源代码,侯捷不是有〈STL源码剖析〉吗?咱也来个boost源码剖析如何,于是我又一头扎进去,有了上学期学GP并读了侯捷的两本追踪源码的书的基础,在加上对C++语言机制的部分了解(这来自(C++对象模型深度探索)(STL源。。。)以及(C++设计新思维)),读boost代码比较顺利,当然其间我查阅了不少资料以了解某些机制,boost的设计者有时为了减少代码重复量将宏机制运用到了登峰造极的地步,这也导致源代码难以阅读,特别是boost只为其应用做文档,却对技术细节隐而不言,所以,我只能一点一点啃),不过最终当我了解了其本质后,那种兴奋是无以言表的,幸好,我第一个剖析对象是个比较有意思的类boost::function,泛型的函数指针,可应用于Command模式。其中技术细节比较多,也较有趣。于是当我分

析完了以后我又兴起了向程序员投稿的念头,再次幸运的,稿件被录用了,这是我第一次投稿,所以非常兴奋,这篇稿件就在今年的九月号,源码分析栏目,其中有个打印错误,使我很懊恼,毕竟这种技术文章不能含糊的,所以我又去将勘误发到CSDN的论坛。
    再后来就是现在了,我大三了,从数学系转到软院,环境还可以,只是有某种受骗的感觉,其中有些老师的“水平”还是不敢恭维的。我还会继续学习C++,C++仍然是个海洋,所以我决定开始看C++标准,让自己对其有个最标准的理解,还看〈C++语言的设计与演化〉让自己了解

这个神奇的语言的设计理念。
    现在开JAVA课了,学JAVA的乐趣在于其应用,JAVA的库非常完善,玩起来就像搭积木一样,是另一种乐趣,.NET的库也是一样,只是语言本身的语意少了某种广博和自由的意境。这样的意境,我要说,只有C++能够营造出来!!C++是自由的世界!!而JAVA连操作符重载都没有,多重继承都没有,JAVA里面除基本型别的所有对象都要new出来,缺乏真正的栈上的对象,JAVA的GP表现也虚假而薄弱。
    如果哪天C++消亡了,不是有一种新的,更好的语言取而代之了(我想这种“更好”的语言未必会出现哦),就是全世界的程序员都“懒”了。
    我绝对拥护C++,C++是个魔法世界,其中自由和层不穷的无可预知性让人神迷。。。

===============================
love C++,but love my gf - echo- more^_^

以作回顾、以作借鉴、以作鼓励相关推荐

  1. dedecms5.7添加栏目时以简拼作目录名 以拼音首字母作文件夹名称

    今天分享DedeCMS添加栏目的一个小技巧,添加栏目以简拼作目录名,以拼音首字母作文件夹名称,默认情况情况下,DedeCMS添加栏目时是以全拼作为文件夹名称,后台也没有提公简拼的选项,但是我们可以通过 ...

  2. hbase针对fullgc所做的优化(Memstore所作的优化 针对BlockCache所作优化)

    先看: 深入研究java gc https://blog.51cto.com/12445535/2372976 老年代 CMS gc回收算法 对hbase的影响 https://blog.51cto. ...

  3. 九歌计算机在线作诗硬件原理,“九歌”作诗是如何炼成的?

    原标题:"九歌"作诗是如何炼成的? 你有木有为研究数据的处理一筹莫展? 你有木有为课题方法的突破绞尽脑汁? 你有木有为完美的宣传文案纠结犯难? 亲,是该来一杯清华学术咖啡, 约会& ...

  4. 不定式作各种成份和现在分词作各种成份

    不定式: 主语.宾语,表达具有要做的事情 作定语:即将要做的事情 作状语:表目的或者结果或者原因 作补语:具体要干的事情,相当于名词性成份 现在分词: 做名词性,表示长期的事情 做定语,表示正在进行的 ...

  5. MATLAB隐函数绘图 使用隐函数作二维图 使用隐函数作三维图

    如果给定了函数的显示式,可以先设置自变量向量,然后根据表达式计算出函数向量,从而用plot等函数绘制出图形,但如果函数用隐函数形式给出,则很难用上诉方法绘制图形. 使用隐函数作二维图  绘图函数:ez ...

  6. 南京java换工作几月份最好,想换工作是年前好,还是年后比较好?资深HR告诉你答案...

    再过几个月时间,就要迎来新的一年,临近年底就会有人问老茶,自己想要换工作,但是不知道是年前换毕竟好,还是年后换比较好呢?老茶一直的观点都是,换工作的时候只要你想清楚了,到了非换不可的地步,那么只要有合 ...

  7. 读作工业4.0,唱作工业互联网,写作中国制造2025

    一.工业4.0 人类过去250年的经济增长史,是连续三次工业革命直接带来的"福利": 第一次工业革命:1760年代~1840年,由英国引领的机械化革命,标志是蒸汽动力的发明.纺织业 ...

  8. 输入一个整数,输出其对应汉语读法(如10020读作一万零二十、12000读作一万二千、300读作三百、1998读作一千九百九十九)。

    import java.util.Scanner; public class Lianxi {public static void main(String[] ags) {String[] shu = ...

  9. 2017年各大电商平台双11回顾:值得借鉴和改进的运营手段

    作者:折腾的emma 全文共 3995 字 22 图,阅读需要 9 分钟 ---- / BEGIN / ---- 双11,已经没有人再关心单身狗,连光棍们都来不及黯然伤神,全国上下一片欢腾一起过&qu ...

最新文章

  1. MySQL:互联网公司常用分库分表方案汇总!
  2. 让你知道什么才是firefox4的速度.
  3. 技术社区,你真的会混吗?
  4. opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序
  5. LeetCode-有效的字母异位词
  6. html 图片展示 3d,CSS3 3D图像显示
  7. thinkpad笔记本散热风扇_十代酷睿笔记本低至2999元 你可以入手了_笔记本新闻
  8. Round Numbers POJ - 3252(数位dp+判断前导零)
  9. 【译】10个有趣的JSCSS库(2018.10)
  10. 前端学习(1732):前端系列javascript之插入内容
  11. nexus3下载地址
  12. python识别银行卡数字_Python银行卡数字识别项目 (Opencv)
  13. BZOJ3697 采药人的路径 【点分治】
  14. 支付宝玉伯:我心目中的优秀API
  15. could not find or load the Qt platform plugin windows的解决方法
  16. 【艾琪出品】-【福建师范大学】-福师《计算机应用基础》在线作业二参考资料正确答案
  17. 忧伤,捧一把尘埃将自己埋葬
  18. 基于阿里云CentOS8搭建远程服务器
  19. 青少年为何有时不会换位思考
  20. 计算机c程序题孔融让梨,幼儿园大班语言游戏教案《孔融让梨》含PPT课件.doc

热门文章

  1. 使用计算机求解问题首先要,基于计算机的问题求解,首先要完成的是( )
  2. video.js播放rtmp视频
  3. 此人才是最强的创客,马化腾、李彦宏大佬都望尘莫及
  4. WSL是什么? Windows Subsystem for Linux (WSL)
  5. 星座查询演示示例代码
  6. 使用HTML实现网页滚动图片
  7. Windows安装mysql-8.0.30-winx64.zip
  8. 在vue3setup语法糖中获取DOM元素
  9. [Pyecharts]数据可视化 大屏展示
  10. Java编程序哥德巴赫猜想