当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%的部分。甚至还没有文档重要。
当C++学到第20天的时候我崩溃了(找回刚开始的激情)的更多相关文章
- 【小白学PyTorch】20 TF2的eager模式与求导
[新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.时间序列等多个目标为技术学习的分群和水群唠嗑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx64501661 ...
- 小白学 Python(20):迭代器基础
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学Python(20)—— Turtle 海龟绘图
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- 学 Win32 汇编[20]: 洞察标志寄存器
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 NT IOPL OF DF IF TF SF ZF AF PF CF 未使用 嵌套标志 I/O权限标志占2位 溢出标志 方向 ...
- AJ学IOS(20)UI之UIPickerView_点菜系统
AJ分享,必须精品 先看效果图 ## UIPickerView控件 UIPickerView用处: 用来展示很多行(row) 很多列(component )的数据,多用于电子商务的点菜,城市选择等等. ...
- 小白学 Python(21):生成器基础
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(22):time 和 calendar 模块简单使用
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(23):Excel 基础操作(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(24):Excel 基础操作(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- python中有趣的函数
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决 ...
- Django+Nginx+MongoDB+Mysql+uWsgi的搭建
搭建目标如下: 图:系统架构图 这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集.处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问. 一.安装篇 1.下载安 ...
- P3383: [Usaco2004 Open]Cave Cows 4 洞穴里的牛之四
这个系列总算是做完了,这是我第一次高效率做完四道题,虽然中间有两道水题,但是第一和第四题还是蛮好的,但是只要能想到思路就很快能打完的. 像这道题,刚开始在想能不能用DP?但是苦于不知道怎么实施,后来又 ...
- 软件工程课后作业——用JAVA编写的随机产生30道四则运算
package com.java.sizeyunsuan; public class lianxi { String f() { int i=(int)(Math.random()*10); int ...
- Web前端技能
入门必备的技能: 第1项技能:HTML超文本标记语言: 技能要点: HTML文件的结构 HTML文件的编写方法 HTML基本标记 文字与段落标记 框架 使用表单 ...
- 使用个推的时候出现Installation error: INSTALL_FAILED_DUPLICATE_PERMISSION
使用个推的时候出现 Installation error: INSTALL_FAILED_DUPLICATE_PERMISSION perm=getui.permissio... 解决办法: 先将手机 ...
- C#打印页面的纸张设置问题Spread表格控件
这段时间学习spread控件,用到打印设置上边,其他的设置都还好说,但是打印纸张的大小,纸张类型等把我折腾的够呛,找了半天才找到,记录下来备查. 1.打印纸张类型: System.Drawing.Pr ...
- OpenFramework中视频或者图片进行中心旋转、平移、放大、缩小、矫正(本例以视频为准,只给出主要代码)
/********** update mesh部分***********/ for(int i=0;i<4;i++) { mesh[i].clear(); //重要,不加的话,移动视频的四个角 ...
- 【长期兼职】每天3小时写作=每月4000元外快(IT兼职写手)
只要你有经验,每周平均有20来个小时的兼职时间. 只要你愿意静静地写一些心得总结. 那么就可以联系我QQ164349714,敲门:写作. 地址不限.特长不限.学历不限.年龄不限. 主要写作方向:1.投 ...
- Segment Tree with Lazy 分类: ACM TYPE 2014-08-29 11:28 134人阅读 评论(0) 收藏
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; stru ...