C++程序真的很复杂吗

开发 后端
其实C#的语法与C++程序非常相似,有些变化引起的错误却很严重,本文就对于大多数用户头疼的C++语言进行详细的剖析与介绍。

C++程序是在开发界使用最为广泛的编程语言之一,具有很高的复杂性和解决问题的能力,C++的灵活性在开发环境中的独树一帜,同时在学术界也就有很高的价值。以下就是有关C++程序的描述。

C++程序的世界级经典书籍也是数不胜数。然而,目前开发语言是如此地繁荣,就连微软也在推出了新的开发语言C#。一个不可否认的现实是,在低阶程序设计领域,C++程序挤压着C同时也在承受着C的强烈反弹,前段时间看了据说是微软操作系统源代码的东东,其中很多还是C语言。而在高阶程序设计领域,Java和C#正在不断蚕食着C++程序的地盘。

也许Java和C#的狂潮终将迫使C++程序回归本位— 回到它有着根本性优势的开发领域:低级系统程序设计、高级大规模高性能应用设计、嵌入式程序设计、通用程序设计以及数值科学计算等。果真如此,我认为这未尝不是一件好事。电力系统软件所要求的高性能和大规模数值计算正是C++程序所擅长的。就我所接触的南瑞和鲁能,很多涉及到电力系统计算的软件如PAS等,都是用C++程序来开发的。

在电力系统软件开发这块阵地,C++程序大有用武之地。C++程序吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软件产品、程序库以及书籍等,数不胜数。在C++程序之父Bjarne Stroustrup的个人主页上,有一页列出了一些(全部或大部分)使用C++程序编写的系统、应用程序和库。

下面是一些例子(摘自荣耀网站):o Adobe Systems:所有主要应用程序都使用C++程序开发而成,比如Photoshop & ImageReady、Illustrator和Acrobat等。

◆Maya:知道“蜘蛛人”、“指环王”的电脑特技是使用什么软件做出来的吗?没错,就是Maya. o Amazon.com:使用C++程序开发大型电子商务软件。

◆Apple:部分重要“零件”采用C++程序编写而成。

◆AT&T:美国最大的电讯技术提供商,主要产品采用C++程序开发。

◆Google:Web搜索引擎采用C++程序编写。

◆IBM:OS/400. o Microsoft:以下产品主要采用C++程序(Visual C++程序)编写:o Windows XP Windows NT:NT4、2000 Windows 9x:95、98、Me Microsoft Office:Wo rd、Excel、Access、PowerPoint、Outlook Internet Explorer,包括Outlook Express Visual Studio:Visual C++程序、Visual Basic、Visual FoxPro .NET Framework类库采用C #编写,但C#编译器自身则使用C++程序编写而成。Exchange SQL Server FrontPage Project所有游戏……

◆KDE:K Desktop Environment(Linux)。

◆Symbian OS:最流行的蜂窝电话OS之一。

很多新手特别容易会对自己所学习的东东产生疑惑、迷茫。觉得自己学这个东西,花了这么多时间有没有用,会不会过时?这种思想很普遍。在一些论坛上经常会看到一些各语言的优劣比较,知道自己所学语言的优劣也好,但是如果一味停留在这个层面就没有用了。

任何语言都只是工具而已。重要的是使用工具的人!就我个人的经验来讲,真正处于业界搞开发的人都愿意使用成熟的、为自己所熟知的技术来完成工作。而新手都喜欢用一些比较新的技术来做开发,而且喜欢追求新奇(从界面很容易看出来,花花绿绿的界面多半出自新手)。其实,安于用一些效率可能低下、扩展性和维护性差的方法来解决问题并不是开发人员的错。#t#

他们只是在完成工作而已。但是作为一个真正有上进心的开发人员,我们应该使用更优雅和高效的编程技术,这才是我们逐渐变成编程“大牛”的好习惯。老是停留在原地,很容易被淘汰的。在软件开发这个行当,尤其如此。无论是对学生,还是一线开发人员,我觉得都不应该产生“书读够了”的感叹!我有时候喜欢将以前看过的书翻出来再看,每次总能体会到一些新东西。

有关C++程序语言的书籍更是如此,而且我觉得我所起的题目不是很好。为什么?因为我觉得学习语言还只是新手跨入软件开发“地狱”的第一步,单单学习语言本身是远远不够的,还要学习相关的程序库(C++程序当然首选是先学习C++程序标准程序库)、相关的平台技术(如。NET),说得更远一点,还要锻炼对目标问题的分析、归纳能力等等。工作之前,技术路线自己作主,工作之后,绝大多数程序员将被公司技术路线左右。

所以,趁现在还有时间,可以学一些自己感兴趣的。如果想搞软件开发,特别是电力系统软件的开发,学好C++程序不会令我们失望。当我们进入C++程序的前门,然后经过一段黑暗之路,再从后门出来到达光明顶后,我们会体味到“一览众山小”的感觉。

推荐书籍:《编程高手箴言》梁肇新(用过超级解霸的都应该知道吧,^_^)写的第一本书,其中有几章还是值得一读的。在这本书中,梁告诉我们,学东西要耐心,要耐得住“寂寞”,走自己的路,让别人去“说”吧!

最近比较忙,原来打算紧扣主题讲讲一些具体的C++程序语言的细节的,但还是抽不出大段的时间了。所以,现在只能再漫谈一些关于C++程序的故事了。

C++程序源于C语言,还记得很久以前学习C语言的时光(那是一段快乐而充实的时光),可是现在学习C++程序,并不是在C的基础上加上了类而已,如果这样认为,我们是耍不好C++程序的。因此,C++程序绝不是C的升级或扩充,我们应该把C++程序当作一门新语言来学习(C++程序之父Bjarne Stroustrup语)。

写程序首先希望是程序能正确执行,其次是效率能够被接受,再次就是易于维护。C++程序是一个难学易用的语言。C++程序提供了太多可选择的东西,而且使用使用C++程序来写程序可以有四种思考模式:基于过程、基于对象、面向对象和泛型。

我们使用一种语言来写程序,并不意味着就是使用语言本身,换句话说,我们更多的时候是使用程序库在写程序。比如MFC、STL、ATL、VCL等等。其中要使用C++程序来写出结构优美、性能卓越、代码简洁、易于维护的代码,首推C++程序标准程序库。

STL对效率做了严格的要求,而且使用STL写出来的程序简洁美观(前段时间我特意贴了一个要求对若干整数进行排序的帖子,其实目的就是用来展示STL的简洁优雅)。一旦习惯使用泛型思维来考虑问题,我们能够充分体会到模板带来的美!

我觉得学好一门语言最重要的就是实践。也就是多“写”!“工程经验之积累”对已具有一段开发时间的程序员而言,非常重要!只有在不断的积累中,我们才能渐渐体会到C++程序语言中的一些背后的东西。

对于这点,没有大量程序代码写作经验的菜鸟,也可以借助《Effective C++程序》先攒一些经验值。《Effective C++程序》是一本好书!。Meyers的书绝对值得一读,Meyers可以说当今C++程序社群中数一数二的技术专家。

责任编辑:chenqingxiang 来源: 艾瑞网
相关推荐

2013-12-11 09:29:02

2010-03-10 16:51:21

以太网交换机

2010-02-23 16:21:24

Python Win

2013-04-08 15:39:15

程序员

2010-01-21 17:14:40

C++兼容

2010-01-21 10:23:53

C++代码

2010-03-17 14:50:06

智能交换机

2010-03-10 11:14:56

智能交换机

2019-11-05 09:20:06

SQLiteLinux

2018-10-30 12:44:04

Linux系统内存

2019-01-21 13:56:52

2018-07-09 08:35:45

Windows 10WindowsBug

2014-10-24 10:10:33

UbuntuUbuntu 14.1

2022-11-02 08:55:43

Gofor 循环存储

2022-08-22 15:32:59

C++C代码

2010-08-30 10:37:04

云计算

2010-01-14 13:24:49

CC++语言

2016-04-21 09:43:33

编程音乐

2010-03-02 17:22:46

Android技术

2024-04-10 07:36:53

分页查询PostgreSQL
点赞
收藏

51CTO技术栈公众号