我为什么减少使用C++

原创 2003年12月22日 18:17:00

选用那种编程语言作开发是一个非常复杂的问题。有时开发者是没有选择余地的,比如客户可能出于某种原因规定项目必须采用某种语言,或者有决定权的经理因为自己有过使用某一种语言的经历而要求自己所管理的开发人员使用这种语言开始项目。抛开这些情况,当你作为一个开发者,有权利选择自己所使用的语言时,你会基于什么原则做出选择?

在这个问题上的争论非常多。经常有C++的拥护者提出学会了C++,就可以应付各种领域的问题。或者Java的使用者宣称C++已经过时了。最近又看到有人倡导使用Lisp,因为其优美。

作为一个C++的长期使用者,我曾经用C++完成几乎一切工作,从项目的开发,到一些很小的,但需要写程序来完成的工作,如一些文件格式的转换。长期积累的经验使我了解C++语言的很多细节,我同样熟悉C++的标准类库,因此在对语言的掌握上不存在大的障碍。但我感到即便如此,开发效率仍旧比较低。

我的开发平台一直主要是DOS,后来是Windows。Windows对开发者不够友好的一点是它没有提供一个好的Shell。如果你想使用一个批处理文件来完成稍为复杂一点的任务,比如一个项目的build,都将是一个挑战。后来我安装了cygwin,开始使用一些Unix工具,如tr,sed,lex,yacc等,我发现有些任务不再需要使用C++了。因为用其他的工具更方便。

Python语言进一步减少了我对C++的使用。尽管对我来说,Python是一门新的语言,但我发现,即便是把熟悉它所需要的时间算在内,有时用Python还是比C++效率要高。其中的一个原因在于Python有更多现成的库。

同Java相比,C++在库方面的弱点更加明显。从XML处理到图形用户界面,Java都提供了功能强大的类库。而C++尽管在某些方面有一些对应的库,但C++语言的复杂性导致了编写类库的难度和使用类库的难度。而类库的缺乏就意味着必须要作一些重复性的工作,除非你编写一些供自己使用的类库。

开发工具的支持?Eclipse,IntelliJ Idea,JBuilder,NetBeans,这么多优秀的IDE使我不再想念Visual C++的IDE带来的方便。更重要的是,Java的IDE通常提供了较强的Refactoring功能。 而Ant也使我减轻了对Shell的依赖。

但我仍然要使用C/C++。最近我参与了一个跟硬件有关的项目,硬件的firmware只能用C来写(还好,不需要太多汇编)。

现在我对编程语言的选择标准是:根据开发需要,选择效率最高的。当然,维护的工作是要考虑在“效率”中的。

如何减少C++编写程序的CPU使用率

优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,...
  • Andy20081251
  • Andy20081251
  • 2015年03月03日 14:55
  • 2447

CSS Sprites---减少HTTP请求次数 构建高性能网站

CSS Sprites---减少HTTP请求次数 构建高性能网站
  • u014593098
  • u014593098
  • 2014年09月11日 15:09
  • 816

为什么要减少HTTP请求

很多人都说要减少http请求,可关注为什么要减少请求的人却少很多,本文是对我在几篇博客以及知乎上看到的内容的整理。...
  • chenchun91
  • chenchun91
  • 2016年08月14日 22:42
  • 1815

spring框架的学习(一)之我们为什么要用spring框架

前言:    针对我最近1年多来对spring的学习,现对spring做出简单的总结,如果有错误的地方,欢迎各路大神评论指正。 1、什么是Spring框架?    spring是J2EE应用程...
  • B_evan
  • B_evan
  • 2017年06月02日 10:50
  • 412

为什么要减少操作DOM

为什么要减少操作DOM? 下面将按照以下布局同时操作div1和div2;然后在控制台打印出所需的时间,对时间尽心对比; 以下是布局: Title ...
  • power8988
  • power8988
  • 2017年08月17日 12:44
  • 213

内存池的作用--减少内存碎片

1 内存池出现的必要性和原因 C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/fr...
  • u012590688
  • u012590688
  • 2015年09月28日 20:45
  • 1294

C/C++减少IO操作的方法

很多时候,我们需要读文件,我看过这类代码,在一个do-while循环中,一点一点的读取文件内容,然后做响应的操作,我感觉,这样实在太费事,因此,将此类代码改正了过来:一次性读取文件全部的内容,然后在内...
  • baijiaheizhiganmao
  • baijiaheizhiganmao
  • 2016年05月31日 15:20
  • 747

如何减少http请求

如何减少http请求 使用雪碧图和img 的usemap;
  • u012657197
  • u012657197
  • 2017年06月19日 11:45
  • 316

编写高质量的C++代码--01 减少文件之间的编译依赖

一 概述:         在实际来发过程中,经验略少的开发者经常遇到这样的问题:只对一个头文件中的定义进行了简单的修改,却导致很多文件的重新编译,浪费了大量的时间。这种使人厌烦的问题是由于那些文件...
  • nicai888
  • nicai888
  • 2016年04月18日 16:41
  • 556

getline(),sscanf(),strtok(),atof()

istream& getline ( istream &is , string &str , char delim ); istream& getline ( istream& , string& )...
  • tom555cat
  • tom555cat
  • 2013年12月11日 19:43
  • 880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我为什么减少使用C++
举报原因:
原因补充:

(最多只允许输入30个字)