首先声明,我是个使用多语言(ASM/C/C++/Java/Perl)的人,主要使用C++和Java所以我认为我的意见还算中肯。
那些否定C++的人,你们是否了解————
Borland鼓吹Delphi如何强大,但他们招的人可以不会Pascal/Delphi,但你必须会C/C++
Sun(被Oracle收购了)鼓吹Java如何强大,可他们招的人也不许会C/C++
Microsoft当年力推VB,现在又力推C#,可他们的面试题还是C++

那些说C++怎样怎样的人,是你们的眼界太窄了,说Java好的人,多半只会做ERP,说Delphi/C#强大的人,多半只会做桌面应用。

数据库引擎作者们笑了,游戏引擎作者们笑了,操作系统内核作者们笑了(除了Linux内核是纯C加少量汇编,各大操作系统都有C++的参与),编译器作者们笑了(Java/C#的编译器是C++写的)。。

我并不说C++多好多好,我持博主观点,不批评,不赞扬,学习C++是非常耗时耗力的,但有时候(有时候!!)这是值得的,Java很强大好用,但是脱离了虚拟机什么也不是(各种嵌入式设备本来空间就紧张,再装个虚拟机。。),C#很强大很好用,但是脱离了.Net类库(如果单说.Net库,C++也可以用.Net)什么也不是。。但是C++可以不依赖什么而存在。。。可以不依赖操作系统(如C和汇编),不依赖虚拟机,却也同样可以构造一个高度抽象的类库(抽象能力正是C的欠缺)。。。

说到底,何来那么多对C++的不满呢?归根结底,是个大语言编译器厂商为了推广自己产品而误导广大程序员,Sun一直在说C++的弊端,《Java核心编程》里面也到处是C++与Java的比较(事实上从这个角度来说,Sun也是承认C++的地位的),而且比较的结果总是偏向Java,微软的对C++的态度还算好,但是为了推广C#,VS对C++的支持却日渐式微,但是为何微软大部分产品却不用.Net,这是为什么,诸位自己清楚。

我不否认任何语言,该用C++的人继续用C++,用Java的人继续用Java,用C#的人继续用C#,选择正确的语言做正确的事。我为C++辩护的原因,仅在于,不要误导新人,也不要引起任何语言战争。

@Coding_life
难学的部分根本不需要学,大部分人根本不需要STL,boost等等等等,你完全可以自己写类库代替。
而且今天出了stl,明天出了boost,后天又搞个什么特性,难道程序员每天不用干别的了
重复的重构自己的代码已适应看上去很时髦的C++“技术”?

绝大部分人用C++其实都是瞎用,包括楼主这种所谓的C++传教士。
编码在整个工程领域只占20%,80%主要是业务,从成本等角度考虑有学习C++高级技巧和考虑乱七八糟抽象的时间,完全可以用在最实在的业务研究上。C++最靠谱的用法就是c with class!
其他的都是瞎掰!看上去越花哨的功能底层往往越难掌握,那最好的办法就是不用这破玩意就好了。
OO本来就是用来封装代码的,抛开这点来说OO根本没多少用处。OO这些都是表面现象。真正的意义还在于业务流程的理解。大部分程序员都把精力放在20%的语法研究上了。就算让你提升了1%的性能又能如何?说到底还是那点奇技淫巧。而且随着标准的更新和自己技术的增强,也许你根本不会等到自己的代码被复用的那天,因为过几天你就开始反感你前几天自己写的代码了。
这个世界在发展,技术在进步,有永恒不变的思维模型么?
无知者无畏觉得自己无所不能这也叫信心,可是真正的商业开发中,技术越厉害的人越注重细节,在大部分人看来根本不是事的地方特别关注。最后你发现越厉害的人写的代码越返璞归真,只有小菜才会天天关注一些花哨的“C++技术”
学习C++最多21天,超过这个时间的人要么就是你关注错误的方向了(stl,boost全部可以无视因为没用所以没用)要么就是也许您真的不是做编程的料,或者python更适合您。
鼓吹C++的人大部分都是经验主义,似乎有一种C++情节觉得C++难学,我好不容易学会了我就不可一世了,那用打孔机编程的人是不是可以嘲笑几乎所有程序员,你们这帮靠着鼠标键盘的码奴居然写出这么烂的代码,你看我都是手工打孔的。
抛弃20%的语法研究你可以获得80%的业务研究时间。让你真正掌握什么是真正的编程。
编程不是艺术,而是技术,技术就应该实用主义,抛开具体实用的工程,编程根本没有意义。
你就算把牛津字典全部背诵下来你也写不出哈姆雷特。
程序好不好看的是设计,编码仅仅是20%的部分。甚至还没有文档重要。

最新文章

  1. 【WCF】如何将WCF部署到远程服务器
  2. java中关于try、catch、finally中的细节分析
  3. Linux下dns服务器搭建
  4. c++ 访问者模式(visitor pattern)
  5. WebSocket在ASP.NET MVC4中的简单实现 (该文章转自网络,经尝试并未实现,请大神指点。)
  6. jQuery 知识积累
  7. KEIL C51 中嵌入汇编以及C51与A51间的相互调用
  8. 记录某公司(简称SMKJ) 的一次面试
  9. syslog日志打印
  10. Java运行Jar包内存配置
  11. 项目中 2个或者多个EF模型 表名称相同会导致生成的实体类 覆盖的解决方法
  12. 王之泰201771010131《面向对象程序设计(java)》第四周学习总结
  13. Yet another way to manage your NHibernate ISessionFactory
  14. Logstash自带正则表达式
  15. HTTP请求格式和HTTP响应格式
  16. python添加tab键自动补全功能
  17. ny788 又见Alice and Bob
  18. 判断IE浏览器的版本号
  19. IDEA 及 Gradle 使用总结
  20. Python2.6与Python2.7的format用法区别

热门文章

  1. jquery.form的使用
  2. 54.xilinx_modelsim仿真错误1
  3. PB建数据窗口的时候会报内存错误
  4. [rsync+inotify]——监控客户端文件变化,rsync同步到服务器
  5. c++11并发程序设计(1)
  6. j2SE基回顾(一)
  7. WPF入门学习
  8. Upgrading to Java 8——第一章 Lambda表达式
  9. JS 学习笔记--4---运算符
  10. sqlite时间比较语法