您的位置:首页 > 编程语言 > C语言/C++

为什么学习C++ (标准C++)

2009-07-25 19:22 316 查看
为什么学习C++
0.Why Shall I Learn C++?

C++作为一门较为成熟重量级的语言,吸引 了许许多多编程学习者。单从市面上编程书籍中C++的书所占的比例即可见一斑。当然,近年来随着Java、C#的兴起与逐渐发展,也出现了一些不同的声 音,认为C++并非高效应用编程的首选,而且硬件的迅速发展也会使虚拟平台的速度劣势淡化,而其优良的可移植性及安全性将使之成为新的语言主流……
但 无论怎么说,C++强大灵活的语言机制、深邃的内涵、广博丰富的外延使它成为一个时代的经典语言,其中体现出的编程思想的美感使深入学习过它的人为之感 叹;且不论过时与不过时的老掉牙问题,单从学习的角度说,这是一门非常值得品味的语言,尽管我认为无论过去、现在还是将来,天底下不存在哪一门语言非学不 可才能成为高手(思想最重要,“不会XXX语言不算真正的高手”之类的言论实在无聊之至),然而假如在这个时代你错过了C++,我还是有一点点遗憾,毕竟 你错过了一个共享经典的机会(一点点而已,可能有些主观,呵呵)。至于实用性,自然,C++不是唯一的选择(Andrew Koenig 曾在《C++沉 思录》中多次强调C++设计的最终基准是实用性,但我们很多人在开发桌面应用程序时似乎更喜欢VB、DELPHI等RAD)。总言之,这个方面我们允许会 有多种选择,但从思想的深化(学习方面)角度上说,C++或许会给你相当多的启发,即使你实际开发中更喜欢使用其它语言的RAD。

1.本系列的定位
1.Position

这 个系列主要是面向C++的“纯”初学者,他们头一回接触C++,甚至同时也是头一回走进Programming的世界。现在市面上C++的好书很多,网络 又发达,所以现今的初学者比较有福气,不像当初,找得一本C++书已经是挺“可以”了,哪里知道什么好与不好,书再烂,怀疑的也是自己的脑子(恐怕连“烂 书”这个词还没发明吧)。现在不同,读者不难找到一本轻便抑或详尽的书籍结合自身情况学习。但毕竟书籍本身要考虑到内容组织的系统化,因而不可避免地,暂 时或者永久性地存在一些读者热切想知道但却未出现的盲点,或者是略有提及但却不深入。假如身边有位老师,自然不成问题,但或许更多的爱好者们都是像我这样 自己“过来”的(呵呵),遇到茫然之处便头脑发痒,自己又搔不着,多少有些许不爽。本系列的目的就是“搔痒”,痒非必是伤,因此解决的可能是一些过来人看 来无关紧要的甚至“弱智”的问题,但我相信这都是许许多多的初学者都非常想了解却无从寻觅的东西。至于哪些是“东西”哪些不是,可能判断有些主观,我暂且 从自己学习的曲线中搜寻;同时也非常希望朋友们针对自己入门过程中的困惑与我通过邮件联系(kusk@163.com),至于本人,同样也是一位初学者, 只不过可能混的时间久了,稍有些经验而已,但错误可能会出现,也非常欢迎指正提出:你的关注将是我最大的动力^_^

2.什么是C++
2.What is C++?

可 能现在还会有许多初学者分不清C++、VC、MFC、C++ Builder这些基本的概念,经常听到类似于“VB还不够强,我明天要开始学VC”这样的 言论,有些书店也还是错误地赫然挂着“Visual C++语言”、“C++ Builder语言”的分类牌。其实C++指的仅仅是一门计算机语言,它规 定了书定程序的语法,例如:如何使用变量、常量,如何撰写语句,如何让计算机作出判断,如何让某些特定的功能反复执行若干次(循环),如何把一些复杂的“ 打包”成一个简单的模块(函数/子程序)以便调用,等等。可以说,语言是独立于计算机的,它只是一系列人为制定的规则,如果你愿意的话自然也可以拿出纸笔 自己设计一门D++之类的新语言。
不过单有规则还不行,要真正能写出程序并投入运行,你应该让计算机学会用上你的D++语言。 目前的计算机绝大多数只能直接识别二进制的机器语言,所以通常的作法是写一个负责翻译的程序,它可以自动地把你输入的D++程序转化成二进制程序,这样计 算机就可以执行它了。这个负责翻译的程序,通常我们称为编译器。当一门语言流行开之后,会有一些软件厂商注意到:噫,D++似乎很受欢迎啊,我们应当立刻 推出D++的编译器占领市场。于是各个厂商推出了自己的D++编译器,为了区分,不同厂商的编译器都有不同的名字,例如,可能会是 “Visual D++”、“D++ Builder”、“Better D++”等等。
通常最原始的编译手段是命令行方式, 假如我想编译一个hello.dpp的源程序,那么我可能要进入DOS命令行方式,假如编译器的名字是dpp32,我需要键入类似于 dpp32 hello.dpp hello.exe之类的麻烦的东西指示它。假如有多个源文件,还要作更新编译、链接等动作,可能还要根据不同的需要加 上许多晦涩难记的参数,这样一来就会十分麻烦。好一点的话可以写一个称为maikfile的文件,它可以把这些设定储存好,让编译器自己识别而不必每次键 入。但命令行方式的来回切换还是不够快捷,因此聪明的编译厂商通常会为我们特别设计一个称为“集成编译环境(IDE)”的编译平台:它可以看作一个附加了 许多方便我们使用D++的功能的编辑软件,例如,我们可以不必切换回命令行方式后动编译,而只要单击“编译”图标或者按下相应的快捷键,编译器就会自动为 我们编译,当然我们也可以在这个软件中设定编译的选项。此久,这个编辑软件还特别加入了一些好用的功能,比如它会聪明地将D++程序中的关键字显示成另一 种颜色,数字又是另一种颜色……这样做的好处是便于我们分析程序,及时发现输入错误,等等。强大的编译环境还集成了代码分析、跟踪调试等功能,比命令行模 式好用多了。但别忘了,真正“造”出程序的,还是那些最原始的命令行程序。
除此以外,由于现在的操作系统日趋复杂,如果从零开 始编制程序,往往要做许多重复而无用的劳动。因此各个编译厂商通常会在编译平台中提供一套已经完成的程序库,用于构建程序的相关联模块的集合称为应用程序 框架,Windows下常见的应用程序框架有MFC、VCL等,还有一些跨平台框架,如Qt。框架可能集成在编译平台中,也可以单独发行。当然,框架的使 用是可选择的,VC中附带了MFC,你可以使用它,也可以不用。

3.学习编程的一般步骤
3.How to Learn Progrmming Step by Step

学习语言到应用编程,大约可以分为三步:1.学习语言的语法、标准库、思想;2.学习相关操作系统的API(应用程序编程接口);3.学习类库使用。有一定经验后,三者可以交替进行,相互加深。此外还要学习一些基础理论,像设计模式、算法与数据结构等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: