有一个经典问题是:作为一个初学者,到底应该是学c++还是Java?
这时候,就会有“高手”站出来告诉你,你应该学习C++啊!
他捋一下自己的花白胡须,光秃秃的脑门在太阳底下闪出耀眼的光芒,一霎那间竟然有“大神”的风范!
他会告诉你,C++才是修真正道。它会让你对计算机的奇经八脉的气血运行了如指掌,深刻到每一个骨髓。当你学通了C++,举手投足之间,威力巨大,即使有瑕疵,反而能够让你在改正之后功力大涨。另外还有一点,天下武功,唯快不破,C++就是最快的功夫。
然后,他拍拍你的肩膀,少年,看你骨骼精奇,计算机业的未来就看你了,连腾讯WX后台都是C++写的哟!假以时日,你神功大成,入职TX,迎娶白富美,人生巅峰指日可待!
说真的,我曾经信过这些话,当然那时候还没有腾讯,更没有WX,只有一个Visual C++ 6.0!
怀着对人生成功的渴望,我进入了VC6的时间!我认真研究C++的语法,看看VC6的讲解。
然后,我发现编程真的不是那么容易。就是我一个在Turbo C 2.0时代能编写俄罗斯方块的人,对着VC6也只能发呆。
为什么微软的那些程序那些炫酷,他们的工具栏按钮怎么有文字,怎么有那么多图片,它的可悬浮侧边栏是怎么做出来的?为什么它的Outlook有那么好用的Navigation Bar?
我的VC6工具栏却连画一个工具栏按钮都需要手工完成,手工一点一点地画像素?
为什么一个普通的MFC程序就要来个Model-View架构?难道微软所有的程序都是这样的吗?
为什么我要实现一个给你如此困难?我怎么访问数据库,我如何访问网络?我怎么处理图片?
我在哪里?
真的,这个C++编程让我觉得确实有那么一丢丢困难!
于是,我就转向了Delphi,离开了C++。
进入了Delphi的世界,我才明白了原来程序是可以多姿多彩的。程序可以是数据库程序,可以是网络Socket程序,可以简单的编写COM组件,还让我编写数据库程序的同时,更进一步知道数据库的各种“锁”,知道了Socket的分类。
当一个程序编写都困难的时候,根本就不会让你接触更高层次-应用层的东西。
在我认识了Python以后,更是如此。Python可以让我在一个简短的程序里面就可以实现自己的功能。
后来,我就慢慢明白了。实现一个就执行几次的功能,真的不需要关心什么内存,内存能大到哪里去;不需要关心什么效率,就执行几次。
就这样一个小程序,我也要按照造火箭的流程来一遍?
最重要的是,python提供了各种库,让我方便的调用,一个pip命令就搞定,而且是针对全平台的。
再看看C++。使用一个C++库,需要下载下来,根据平台编译一下,再包括头文件,再配置Lib文件,然后才能开始运行,偶尔再来个painc error!
随着时代的发展,我发现比较现代的语言,都采取Python类似的语言机制。内存自动收集、丰富的应用库、方便的语法都成了标配。
Java就是里面的代表!非常快的速度,一安装就带着网络访问库,文件访问库,还可以使用纯Java的数据库驱动,有一个开源的Maven集中库!
再回头看看C++,C++你是个人吗?要啥啥没有,啥事都手工,调用别人还麻烦!
有时候觉得c++就是那些你求而不得的女神,真TM的事多,而且干不了什么事情。当你醒悟过来,这哪里是女神啊!分明就是一个债主!
谁会留恋它呢?
Python、Go、Java反而是那个和你两情相悦的人儿,朴实无华,却又给你最贴心的照顾,帮你快速完成各种事情!
这才是那些跟我们过日子的人啊!
最后,总结一下。别听人吹,珍惜生命,远离C++。
人生苦短,我用Python、java、go。。