转行做C++开发已经快一年了,从菜鸟级到入门级可谓磕磕绊绊,不由得感慨c++门槛确实比java高。这里总结一下转做C++的艰辛和经验,以便后来者进行参考。
首先做下背景介绍,本人大学计算机本科,大学期间学过c++, 但当时主要兴趣在java上。目前工作4年,前3年一直做java,近一年转行开始做c++服务端开发,下面就说说近一年的感触。
逆袭的最大障碍----习惯
3年的java惯性在入门时会给人很大的打击,在头几周你的脑子里会充满疑问,比如string、map、list为啥都是小写开头的?头文件里为啥不让import?(using namespace), 为啥那么多cpp都在一个目录下而不好好划分一下目录结构?为啥这个通用的东西都没有个类库。。。这些问题在头几个星期会一直困扰你,让你对java十分怀念,对c++充满厌恶,这是最容易放弃的几周,但是你一定要有信念:只会一种语言的程序员并不是真正的程序员。 。。经过几周的克服,你就会慢慢习惯c++式的编程,后面的路将会好走很多。
逆袭的伤害减到最小----循序渐进
java程序员最大的依赖是什么?我觉得是eclipse。当你来到c++面前,看到别人都在疯狂的敲击着vi异或emacs,你也马上就开始用vi学习开发c++?NO!千万别这样,步子迈大了容易扯着蛋。
你的首要任务是要学习c++,而不是vi编辑器。你可以继续使用eclipse的c++编辑器CDT, eclipse的代码提示和快捷键,能够让你知道stl里各个类都有哪些函数,降低编程门槛,让你感觉到“貌似还在编写java程序,只是换了一套类库罢了”。如果你害怕vi粉丝程序员来说你的风凉话,就干脆把eclipse的主题换成黑底白字,这样远远看来跟别人差不多!
另外如果做的是linux下的c++开发,不妨先装个red hat或者Ubuntu的系统,然后痛痛快快的使用eclipse。
差不多过2~3个月左右,如果你觉得对stl里的各给类都还算熟悉,不用代码提示,也能手敲出来,你就可以决定放弃eclipse了。
曾经有一个流传,世界上有三种程序员:1是使用VI编辑器的程序员,2是使用emacs的程序员,3是使用其他编辑器的程序员。那么,挑选一段你还算清闲的时间段,果断试试vi或者emacs,用一张纸打印出这个编辑器好用的快捷键,把它贴在显示器的旁边,边看边学。 当用vi敲打代码的同时,你心里会偷偷在笑,难道已经脱离java屌丝了吗?没错!恭喜你,你已经成功逆袭为一个c++和java的双料屌丝:-)
本文仅是个人观点,仅供参考。
分享到:
相关推荐
对于初学者或希望转行到Java开发的人来说,了解并掌握以下关键技术和概念是至关重要的。 1. **Java基础**:首先,你需要理解Java的基础语法、变量、数据类型、流程控制语句、类和对象、封装、继承、多态等核心概念...
互联网公司为了生存,都在转行做物联网。物联网就是ARM或者RISC-V芯片+linux操作系统+QT界面模式,开发时需要linux系统开发环境。很多公司用的是ubuntu,ububtu连微信、QQ、有道云笔记、喜马拉雅都没有,哪里有UOS...
该平台提供了快速的开发与本地应用相媲美的应用,解决了前端开发者向手机应用开发转行的学习成本。同时,AppCan基于HTML5技术,可以解决跨平台问题,一次开发即可生成独立安装包,支持4大移动平台:iOS、Android、...
对于想要转行成为Java开发人员的人来说,掌握必要的编程知识是至关重要的。以下是一些关键的知识点: 1. **Java基础**:首先,你需要深入理解Java的基础语法,包括数据类型(如整型、浮点型、字符型、布尔型)、...
Java编程语言是软件开发领域的重要组成部分,尤其在Web开发中占据着核心地位。这份"Java培训讲义(含web开发pdf文档)"是为初学者和对Web开发感兴趣的人量身定制的,它包含了Java基础知识以及如何将其应用于Web开发...
最后,如果是面向实际开发,那么MVC设计模式、Spring框架、MyBatis等Java EE相关知识也可能会被涵盖,尽管这些属于进阶主题,但对理解企业级应用开发非常有帮助。 动力节点的2018年Java夜校教程,作为基础课程,...
总的来说,《C++程序开发》是一本全面且实用的教程,无论你是计算机科学的学生还是想要转行进入IT行业的自学者,都能从中受益。通过学习这本书,你将能够熟练地运用C++进行软件开发,并具备进一步深入学习C++高级...
本教程“好程序员全网最快Java零基础入门视频教程”专为那些想要快速掌握Java开发技能的初学者设计,特别针对最新长期支持(LTS)版本Java 17进行了更新,确保学习者能跟上技术的前沿。 Java 17是Oracle公司发布的...
Java不仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系,Java 是几乎所有类型的网络应用程序的基础,也是开发和提供嵌入式和移动应用程序、游戏、基于 Web 的内容和企业软件的全球标准。...
- **销售经理到Java技术经理的转型**:张三从销售经理转行至Java技术领域,表现出对技术的热爱和适应能力。 - **项目管理与架构设计**:他在担任Java及中台负责人期间,主导了多个项目,包括XXX App的整体开发,...
《Java Web整合开发王者归来》源码下载是一个全面的资源集合,涵盖了多个核心Java Web技术,包括Spring、Struts...对于决心转行Java的开发者,这是一个极好的起点,可以从实际的项目中快速掌握Java Web开发的核心技术。
总之,《JAVA手机PDA程序设计入门教程》是一份全面且实用的学习资料,无论是对JAVA感兴趣的初学者,还是希望转行移动开发的专业人士,都能从中受益匪浅。通过学习,你将具备开发各类移动应用的能力,为你的职业生涯...
《快速转行做产品经理》是李三科的一部作品,旨在帮助那些有意从事这一职业的人提供指导。这本书的第二章和第三章分别涵盖了如何快速转行成为产品经理以及通过一个完整产品案例来深入理解产品管理的过程。 第二章...
无论你是计算机科学的学生还是希望转行的程序员,这本书都是你踏入C++世界和.NET开发领域的理想起点。配合提供的《Beginning Visual C++2010_En.pdf》文件,你可以深入阅读,亲手实践,巩固理论知识,提升实际编程...
Golang,又称Go语言,自2009年发布以来,已经发展成为一个成熟且受欢迎的编程语言,它在开发后台服务方面表现突出,很多著名项目如Docker、etcd和Kubernetes都采用它进行开发。Golang的性能可与C语言媲美,同时开发...
【阿宝姐逆袭工具.zip】是一个综合性的资源包,旨在帮助个人提升职业发展,实现薪资与职位的飞跃。这个压缩包包含了一系列文档和演示文稿,涵盖了从制定职业规划到提高职业技能,再到深入理解行业动态等多个关键领域...
适用人群:适合希望进入IT行业从事软件开发工作的学生或在职想要转行的人士。 使用场景及目标:适合初学者入门到精通整个Java体系架构所需的技术知识点,帮助求职者准备相关职位的招聘考试,并为企业员工提供进一步...
《21天学通C++第8版》是一本旨在帮助初学者在短时间内掌握C++编程语言的基础知识和核心概念的教程。...无论你是计算机科学的学生,还是希望转行进入编程领域的初学者,这本书都将是你开启C++编程旅程的理想起点。