当C++学到第20天的时候我崩溃了(找回刚开始的激情)
首先声明,我是个使用多语言(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%的部分。甚至还没有文档重要。
最新文章
- 【WCF】如何将WCF部署到远程服务器
- java中关于try、catch、finally中的细节分析
- Linux下dns服务器搭建
- c++ 访问者模式(visitor pattern)
- WebSocket在ASP.NET MVC4中的简单实现 (该文章转自网络,经尝试并未实现,请大神指点。)
- jQuery 知识积累
- KEIL C51 中嵌入汇编以及C51与A51间的相互调用
- 记录某公司(简称SMKJ) 的一次面试
- syslog日志打印
- Java运行Jar包内存配置
- 项目中 2个或者多个EF模型 表名称相同会导致生成的实体类 覆盖的解决方法
- 王之泰201771010131《面向对象程序设计(java)》第四周学习总结
- Yet another way to manage your NHibernate ISessionFactory
- Logstash自带正则表达式
- HTTP请求格式和HTTP响应格式
- python添加tab键自动补全功能
- ny788 又见Alice and Bob
- 判断IE浏览器的版本号
- IDEA 及 Gradle 使用总结
- Python2.6与Python2.7的format用法区别