C++相比于其他语言的优势
来源:互联网 发布:淘宝一块钱能买什么 编辑:程序博客网 时间:2024/05/01 03:03
传统上认为,C++相对于目前一些新潮的语言,如Java、C#,优势在于程序的运行性能。这种观念并不完全。如果一个人深信这一点,那么说明他并没有充分了解和理解C++和那个某某语言。同时,持有这种观念的人,通常也是受到了某种误导(罪魁祸首当然就是那些财大气粗的公司)。对于这些公司而言,他们隐藏了C++同某某语言间的核心差别,而把现在多数程序员不太关心的差别,也就是性能,加以强化。因为随着CPU性能的快速提升,性能问题已不为人们所关心。这叫“李代桃僵”。很多涉世不深的程序员,也就相信了他们。于是,大公司们的阴谋也就得逞了。
一般认为,使用Java或C#的开发成本比C++低。但是,如果你能够充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。在Java和C#大谈软件工程的时候,C++实际上已经悄悄地将软件工程性提升到一个前所未有的高度。这一点被多数人忽视,并且被大公司竭力掩盖。
语言在软件工程上的好坏,依赖于语言的抽象能力。从面向过程到面向对象,语言的抽象能力有了一个质的飞跃。但在实践中,人们发现面向对象无法解决所有软件工程中的问题。于是,精英们逐步引入、并拓展泛型编程,解决更高层次的软件工程问题。(实际上,面向对象和泛型编程的起源都可以追溯到1967年,但由于泛型编程更抽象,所以应用远远落后于面向对象)
一般认为,使用Java或C#的开发成本比C++低。但是,如果你能够充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。在Java和C#大谈软件工程的时候,C++实际上已经悄悄地将软件工程性提升到一个前所未有的高度。这一点被多数人忽视,并且被大公司竭力掩盖。
语言在软件工程上的好坏,依赖于语言的抽象能力。从面向过程到面向对象,语言的抽象能力有了一个质的飞跃。但在实践中,人们发现面向对象无法解决所有软件工程中的问题。于是,精英们逐步引入、并拓展泛型编程,解决更高层次的软件工程问题。(实际上,面向对象和泛型编程的起源都可以追溯到1967年,但由于泛型编程更抽象,所以应用远远落后于面向对象)
- C++相比于其他语言的优势
- PowerPC架构相比于ARM的优势
- redis相比于memcached的优势
- Kafka相比于HDFS的优势
- 相较于其他语言,golang的突出特点和优势
- python与c/c++相比的优势
- 相比于MRv1,YARN带来的优势是什么?
- 相比于MRv1,YARN带来的优势是什么?
- 下一代 Hadoop YARN 简介:相比于MRv1,YARN的优势
- 下一代 Hadoop YARN 简介:相比于MRv1,YARN的优势
- 下一代 Hadoop YARN 简介:相比于MRv1,YARN的优势
- 相比于MRv1,YARN带来的优势是什么?
- Scala 相比于 Java 的优势在哪里?
- 下一代 Hadoop YARN :相比于MRv1,YARN的优势
- Maven相比于传统Java动态工程的优势
- JSP相比于其他技术(ASP和PHP等)有什么优势
- 软件测试之开发转测试相比于其他测试人员有哪些优势
- future相比于其他并发设计模式的优势(“回调驱动(多线程环境下)”、“消息/事件驱动(Actor模型中))
- Linux+page+cache+里的几个函数的源码分析
- C++成员函数末尾const关键字的作用
- android2.3源码下载
- Java流与文件操作
- abdroid关于TextView.getLineCount() 为0
- C++相比于其他语言的优势
- 在FAT32和NTFS文件系统中,如何擦除文件内容,让恢复软件无法恢复,C实现
- 程序员有趣的面试智力题
- 高效人士的第八个习惯
- 缓冲的字符流 字节流和字符流
- HBase技术介绍
- hdu 3933 Dark Parth
- Java流中的InputStream类和OutputStream类 转换流
- C啊C啊~~~~