已经从事软件开发十几年,C++和java跟着做过好多项目,相对来讲跟C++的感情更加深刻些,毕竟被折腾的时间最长印象也最深刻,刚入行一年就跟着做C++项目,开始被泛型编程里面的各种规则折腾的够呛,发现和自己在学校学的完全不是一码事,学校学到的C++理论只是皮毛而已,也就是学学面向对象大概是什么样子,面向对象的三大特性要真正的了解还是需要在项目中才会领悟,然后被技术经理批的无地自容,都开始怀疑自己是不是真的适合做研发,为了能够跟上项目几乎天天搞到半夜,就这还是赶不上大部队,好在没有放弃坚持下来了。
很多人觉得要能写程序是不是需要什么天份,关键看毅力能够挺下来就能坚持到最后就可以了,刚入行的程序员都有被主管怼过的经历,其实后来想想未尝不是一种激励。在当时状态下可能让自己很没有面子,但也是印象深刻,这种场景经历的次数多了,回过头就是一种财富,一个对你已经失望之极的人很难严厉的对待你。正是经历了这痛苦的半年也让自己和C++建立了深厚的感情,从此结下来不解之缘,算是技术生涯里面的使用最多的编程语言。
后来用java做项目开发是C++技能成熟之后去做的,所以接手去做已经简单太多了,能深深体会到一种幸福优越感,毕竟java的语法细节和C++不可同日而语,但并不意味着java做起来就比较简单,java框架思想要求更高,特别是企业级别的后台的开发,数据量巨大的情况并发以及分布式处理都需要很深的功底,要达到一定的造诣都需要长时间的积累,所以不要轻易下结论一种编程语言难易,这都是相对的,初级的程序员做的是一些小模块的功能觉得简单也很正常,如果参与到框架的设计难度可想而知,不要轻易对一个事物下结论。
从个人性格来讲,如果又重新选择的机会还是选择C++,毕竟更加喜欢在底层折腾东西,更加喜欢啃底层的硬骨头,可能是入行早期养成的习惯,喜欢做一些有挑战性的项目,因为C++这个编程语言还在不停的更新,永远没有学习止境的时候倒是很能治愈自己的拖延症,有个东西紧迫着学东西做项目也快,毕竟一个程序员需要紧跟时代的步伐,不能满足之前做了多少项目混了多少经验,java做起来相对C++有种很爽的感觉,起码不用考虑指针的东西,但整体来讲还是没有C++用起来有感觉,所以技术生涯从事的第一个编程语言对于后续的影响还是挺大的, 技术后续掌握了多种编程语言,如同每个人对于初恋都会念念不忘是一个道理。
编程语言本质上讲就是一种工具,但选择不同的编程语言就意味着会选择不同的编程方向,c/c++主要是底层开发,java,python等属于高级语言开发方向和未来的编程方向的发展息息相关,其实就是重新选择一次编程方向,喜欢即所爱。