第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE

      “呵呵,终于成了!”小P伸个懒腰,感觉舒服极了。他回过头看老C,正在电脑前键盘前扣扣扣扣的不知在忙什么。
     “老C……”小P把头凑到老C的电脑旁边,想看看老C在忙什么。
     “k!你干什么,吓死我了。”老C被冷不丁的吓了一跳,“呀呀,下回不要这么神出鬼没的,多吓人……”
     “呵呵,骚蕊骚蕊,你这是干什么呢,这么专心?”
     “哦,我在学习一个IDE,叫eclipse,我发现用它的CDT插件开发C/C++程序还挺方便的。”
     “噢?是么?这个东东和VS6.0比哪个好用啊?”
     “没有质的区别,我感觉关键是个人习惯的问题。”老C想了想,“主要是一个慢慢熟悉的过程,在开始的时候有些不习惯,但是习惯了就感觉好很多。”
     “你为什么要用这个东东啊?”小P有些奇怪。   
     “嗯,因为它是开源的啊(现在是2003年……),你用的是什么开发环境啊?”老C问。
     “以前一直用的VS6.0,现在好像要出来VS.NET,我想试试……”
     “你掏钱买的吗?”
     “怎么可能,当然是破解后的啊。”
     “那么就是D版啦?”
     “也可以这么说,有什么问题吗?大家都是这么用的啊?”小P有些奇怪。
     “唉,社会环境啊……”老C有些失落,“我就不和你讨论知识产权保护的法律问题啦,就算我们买正版的钱在清朝末年就已经掏过了,但是……”老C想想应当怎么和小P解释自己的想法,“现在环境不同了,主要的竞争规则都是我们的对手制定的,但是——如果我们想积极的融入和他们的竞争而不是自我封闭——我们就不得不遵守这些规则……”
     “囧,看来你还是个大龄JY啊。”
     “呵呵,无所谓大龄FQ或者JY,我想说的是我们要认清现实,毕竟我们还是要融入国际社会的……算了,扯远了,就算是为了维护我们国内自己的市场,我们自己也要遵守一定的规则啊……”
     “那和我有什么关系?”
     “有关系啊,如果我们每个人都用D版,就会导致软件市场规则被破坏,辛苦研发的因为研发成本不得不卖高一点价格的产品就会卖不出去,那么我们毕业的时候因为市场的萎缩就可能找不到工作……”
     “是么?有这么恐怖吗?那么我用国内的软件就买正版,国外软件用盗版就行了呗。”小P有些得意的说。
     “那是更糟糕的事情,因为D版泛滥导致国内的正版软件卖不出去,本来我们自主的软件可能还有一些成本优势,如果公平竞争的话也会有一席之地,但是因为D版的盛行,我们自己的产业始终无法发展起来,最后不得不进行外包工作成为上游厂商的打工仔……算了,我们先不要讨论这个问题,再说我的看法也不一定正确。”
     “真有这么严重吗?看来我要重新认识这个问题了。”小P有些严肃起来,“但是不用D版我的很多正常的活动就无法进行了啊,比如编程,上网……要不我就使用文本编辑器+命令行?一步到位成为牛人?”
     “呵呵,这是两个话题。再说不使用D版我们一样可以生活的很好,甚至更好。”
     “?”
     “就比如IDE,eclipse是开源的,我们就可以免费的使用,而且是在规则允许之内的。上网可以用firefox,文档编辑可以用openoffice……总之我们日常编码,写文档的东西足够多了,如果你股沟一下,可以找到很多类似的开源项目。”
     “是吗?”
     “是啊,就算是桌面环境也可以使用开源的啊,你看看我的桌面……”
     “和我的xp很像啊……”
     “嗯,我用的是kubuntu,你可以在网上搜索一下ubuntu。这是一个linux平台上的开源项目,我们平常工作中需要的软件它基本上都可以提供,而且还有不错的多媒体播放器,聊天工具……基本上你平常在windows上可以找到的工具这里都有……”
     “噢?是吗?”
     “类似的项目很多的,你可以在网上找找,选一款你喜欢的。我就用过kubuntu,ubuntu和fedora(redhat),感觉都挺不错的。而且你可以在一套系统里面安装多个桌面环境,我就装过KDE和GNOME,最后因为Qt的原因选择了kubuntu和KDE……原来用过KDevelop写一些小代码,最近想换个平台无关的,就想试试eclipse+CDT。”
     “等等等等,好多东西我都没有听说过,你在学校的BBS上给我发一封邮件吧,把这些东西的名字写下来,我去网上搜搜。”
     “呵呵,好的。这些东西都体现了free的精神……”
     “Free?太好了,所以说都是免费的,而且没有版权的问题……”
     “等等,free并不是指的没有fee,而是一种精神。就是说你可以修改,发布,传播任何一个具有GPL的软件,自己随便怎么折腾都可以,但是,不能用于商业目的。如果用于商业的话,还是需要费用的。这就好像一帮油菜的人凑到一起来开发,在使用和修改上,大家都是不受限制的,但是要拿去卖钱,那就不行!”
     “不能拿来赚钱啊?”小P有些失望,“那么GPL是什么东东?”
     “GPL是GNU General Public License 的缩写,你可以到网上查查它的具体内容,它的一个重要标志就是copyleft……”
     “Copyleft?”
     “是啊是啊,是和copyright对应的……”
     “哈哈,没有想到这些人还挺幽默的……”小P乐了,“不能赚钱,那写软件的人如何生活啊?”
     “他们不靠这个赚钱,一般都是业余时间搞的,或者在一些非盈利基金,要么是捐助下完成的,总之都是一些衣食无忧的,物质条件极大丰富的油菜人物做的事情,不是我等还在为生活挣扎的小民可以理解的……”
     “哦……”小P有些明白了,“所以说共产主义的基础是资本主义的高级阶段了!那个时候大家的物质生活极大丰富,劳动成了第一需要……”
     老C有些吃惊的看着小P,觉得自己还需要重新认识一下他:“没错,有点这个意思,没想到你理解到这么高的层次……”
     “哪里哪里,我只是比较……油菜……而已,哈哈。”小P审慎的谦虚了一下,“对了,刚才我说到使用文本编辑器+命令行……”
     “是的是的,”老C接道,“现在有些人的迷思而已,认为牛人都是使用gedit+command line的,尤其自己动手写makefile就更牛了……”
     “不是么?”
     “不一定是,”老C肯定的点点头,“牛人肯定是可以这么做的,但是……你会放着现成的成熟工业品,比如你脚上的nike不穿,蹬着一双手工精心打造的布鞋到处跑吗?”
     “呵呵,”小P觉得这个比喻很有趣,“我想不会吧……”
     “是啊是啊,所谓文本编辑器+命令行是能力,但是具有这样的能力并不一定要这样做。我们可以自己造鞋,但是,有必要花费这个时间和精力吗?曾经有很牛的人写书建议大家在项目开发的时候要使用automake工具的!”(我们这个时空的C++委员会主席(还是秘书?)的书,讲C++编码规范的,大家猜猜是什么书?^_^)
     “那么就是说也没有必要学习自己写makefile了吧。”
     “不是啊,我只是说在项目开发过程中没有必要这样做,但是这样的能力——如果你想进入更高的境界——还是需要具备的,可是,前提是,请你先用好自己的 IDE,写好自己的程序。”老C给小P解释,“做到熟悉你的IDE就像熟悉你家一样,因为软件开发需要一个良好的,被你熟悉的环境;而且不要经常更换 IDE,因为做到熟悉一个IDE还是很费功夫的,不要总把时间花费到磨刀上。所以我建议你也试试eclipse+CDT吧,因为它既是开源的,又是跨平台的,这样你不会因为操作系统在windows和linux之间切换而产生切换IDE的苦恼。”
     “是啊,这样听起来也挺不错的。”
     “嗯,有空去eclipse的网页看看吧,顺便看看mingwin。查查相关网页google一下。”老C建议道。
     “好的,这样我就有了VS和eclipse两样工具了。”小P有些兴奋起来。
     “等到我们用熟悉了,我想我们还可以研究一下emacs+gcc,”老C说道,“江湖上有一个传说,如果你熟悉emacs+gcc,就再尝试尝试IDE;如果你习惯于IDE,那么请尝试一下emacs。”
     “嗯,那应当是以后的事情了。”
     “是啊是啊,我们不需要太着急,否则就像一个古老的神秘传说……”
     “什么?”
     “在很久很久很久久久久……以前,有一个人看到别人盖了三层楼,心里很是羡慕,于是……”
     “哈哈哈哈,老C我发现你也挺油菜的啊!”

     “呵呵,”老C停止了和小P的说笑,觉得下午的疲倦一扫而空,“对了,刚才你在忙什么呢?”
     “喔,我在做C++的练习题目。”
     “是么?这么刻苦,厉害。什么题目?”
     “呵呵,还挺有趣的,说是用C++的格式输出cout在屏幕上输出各种对齐的数据,用*号组成一个五角星,还有……”
     “天,功不是这样用的,习不是这样学的……”老C有些囧,“扔掉那本烂书吧,没有这样学习C++的。”
     “?,那应当怎么学?”
     “我们学习任何一个东西,应当都是先整体的过一遍,有一个整体的,居高临下的,提纲挈领的全局观,然后第二遍再深入细节。这样才可以抓住重点,不至于淹没在细节的海洋中。”老C开始谆谆教导,“比如C++,我们开始学习的时候应当先有一个总体的概念,比如说面向对象,类,继承和封装,再深入一些是模版,泛型,正交,STL,TR1。而且学习的过程应当是迭代的——几乎学习任何东西都是这样——先形成一个大局观,再在细节上深入把握。比如学习数学,我们先认识自然数,然后四则运算,如何在一定范围内解决问题;然后加入了0,再学习加入0后的正整数的四则运算,再解决一些问题,比如简单的方程等等;然后加入负数的概念,然后是加入负数的四则运算……最后是虚数,复数;最后是微积分,级数,以及他们所要解决的问题。如果一上来你就埋头于如何解二元一次方程,请问你的数学能学好吗?你知道学习数学有什么用吗?遇到实际问题需要发挥你的数学功夫的时候你能解决问题吗?所以走路一定要正确,如果走在错误的路上,花费的功夫越多,偏离的越远,反而不如不走……”
     “哦,我只知道学习语言要多运用,多实践,还真没有想过方法的问题。”小P有些郁闷,“那么怎么学呢?”
     “呵呵,你大概没有看《Teach Yourself Programming in Ten Years》这篇文章吧……利用你的朋友,利用你的网络啊。”
     “?”小P突然明白了,“是不是你想让我请你吃饭啊?”
     “呵呵,聪明啊,”老C觉得和小P沟通起来真是通顺,“包括但不限于今天的晚饭,回来我帮你安装一下eclipse和mingwin,我们一起来学习这个IDE,同时再给你说说如何学习C++。”
     “好啊,走,吃饭去,我请!你说是几食堂吧。”
     “太~小气了吧,好歹也要请个盖浇饭吧……”
     “呵呵,我其实是开玩笑的,我们南门口新开了一家刀削面……”
     “我晕,我倒……走吧……”

(这不是他们最后一次谈论关于C++的话题)

posted on 2009-01-19 15:32 Anderson 阅读(2366) 评论(12)  编辑 收藏 引用

评论

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-19 22:31 likenk


  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-20 09:23 空明流转

我对楼主学习路线的观点不敢苟同。

我自己就是个喜欢自顶向下的人,这也是国内教育的管用做法。
但是我不觉得这个办法多好。

没实践基础就的知道一大堆的定义和定理。
你就知道了概念又能怎么样的?

学习应该遵循着发现者的道路,在短短的过程中,试着解决那些发现者提出的问题,然后才能知道为什么会有这些方法。

国内的书难读,学难上,一半归因于抄袭,还有一半,得归因于这种教学思路。
在这种教学下能存活下来的,要么是天才,或者书呆子。  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-20 10:34 Dave Chen

本篇文章有个漏洞,是关于 Linux 发行版的。

Ubuntu 系列的最早版本是 4.10,2004 年 10 月发行;
Kubuntu 的最早版本是 5.04,2005 年 4 月发行;
Fedora 的最早版本是 Fedora Core 1,2003 年 11 月发行。

文章定位时间是 2003 年秋季入学吧,当时这三个发行版的正式版本应该还没有吧。

不过还是非常欣赏这一系列文章的,希望能好好的写下去。

另外,南门削面是铁蛋?^_^  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-20 12:56 Anderson

@Dave Chen
^_^,是铁蛋旗舰店,没错。
的确,linux的发行版本确是是bug,我们就当是穿越了……
谢谢评论,请继续关注,有任何看法都可以提
另外祝校友春节愉快,拜年啦!  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-20 14:17 astone

03年的时候也有TR1?? 呵呵.. 写的8错8错滴 ~~  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-20 20:58 Anderson

@astone
呵呵,03年的时候确实没有TR1,原文应当是boost  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-21 14:09

看了半页内容,就决定把文章进行收藏了!!!!!!!!  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-21 21:43 七星重剑

@空明流转
有道理 有道理  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-21 21:43 七星重剑

楼主的程序员小说写得实在啊
难得的好文章  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE[未登录] 2009-01-22 17:09 Len

不错,初学者对于IDE还是蛮重视的
版权,国内也应该有意识地重视起来,金山在国内也是这方面吃了亏  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-24 12:48 似水之心

@空明流转

我到是觉得自顶向下挺好的,首先有个大的认识,然后着手细节要不然总有种走到雾中的感觉  回复  更多评论   

# re: 第一桶 从C到C++ 第三碗 陈老C狂荐日月蚀 潘小P改换IDE 2009-01-24 16:53 Anderson

@似水之心

呵呵,每个人的学习方法都有或多或少的不同,空明流转兄的学习方法可能是自底向上更适合他。
总之可以学好的方法就是好方法,文章中只是介绍其中之一,每个人可以根据自己的环境和习惯加以分析和取舍

总之谢谢大家评论和提意见,谢谢  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(6)

随笔档案(21)

文章档案(1)

搜索

最新评论

阅读排行榜

评论排行榜