要不要放弃C++,转Java或Phython

很多人说C++岗位稀少,学了也做不了什么项目,其实:

一、
项目经验很重要,它会尽可能让自己从项目整体角度考虑问题。随便用什么语言,都要尽快把项目经验提上去。有条件的确实可以死磕下C++,毕竟C++在运行效率、开发风格、开发效率、功能完整性、静态决定和动态处理方面都可以达到一个比较完美的平衡。

二、
1、个人感觉,C++现在缺少一个C++17风格的开发框架,所以现在学习和使用C++工程,都是一件比较费劲的事。尤其是新手。
2、C++20已经完成大半了,很可能年底就会初步推出。ubuntu 18.04 LTS版本也支持到gcc 7.3(C++17)。而C++11的完成差不多是在2015年。在这样一个快速变革的时刻,想要有一套比较成熟的开发风格和框架,确实是非常奢侈的想法。
3、但是前景相当可观。毕竟代码写出来,日常使用起来撸业务非常顺手,我个人觉得简单流畅程度是要超越python的。

三、
1、java能力很强,它是一个动态语言的底子,做的一套静态的实现。个人觉得玩一些代码生成的魔法更容易。只是强加给你的代码风格太明显,封装层次太多,不过学习软件工程是很好的。个人觉得实际上非常难学,ERP开发做过几年再学这个比较看得明白。java要注意学习的是工程。
2、python做单线程工具还是挺好用的,尤其是稀奇古怪的格式转换库很多,一旦涉及多线程、并发、并行,总觉得有种欠账终于要还的感觉。python要注意学习的是数据处理、AI算法。
3、现在写前端主要是js。基于单线程的好处,js的简洁风格导致表现力非常强。主要问题跟python差不多。

四、
1、java、js、python、c++都是c系的语言。所以c是内功,而c++比较能让你体会到用C怎么开发各种动态、静态语言。
2、写多了C++比较容易让你意识到哪里容易有坑,你在用别的语言的时候就该注意了。
3、有boost::python的帮助,python基本离不开C++,C++给python写扩展还是挺容易的。给js做扩展也可以。另外,js的v8引擎是C++写的,基于v8,可以用C++定制js,比如像fibjs。php那边的swoole。等等
4、C++学到封装一套自己的工具库,就可以切换下别的语言看看了。它山之石可以攻玉,这是没错的。到时候可进可退,非常流畅。
所以,学c/c++的好处,很多不直接体现在就业上,而是体现在快速理解、学习、使用新语言上。



https://www.jianshu.com/p/5fc89f9cc7ca
https://www.jianshu.com/p/3d85a5e9ce23
https://www.jianshu.com/p/8be18bbea712

你可能感兴趣的:(要不要放弃C++,转Java或Phython)