IT行业有那么多分支,又有那么多编程语言,不可能把全部编程语言都学会,该选择哪些语言做为本身的学习方向?javascript
软件开发分支 | 编程语言 | |
Web开发 | 前端 | HTML,CSS,javascript |
后端 | java,C++,C#,python,Golang,PHP,Node.js,Ruby,perl | |
桌面开发 | C++,Java,C# | |
移动端开发 | java,Kotlin,swift,object-c | |
游戏开发 | C++,C#,java |
我学的专业是机械设计制造及自动化,但个人兴趣并不在此,我更想找一个软件开发的工做。我根据本身的理解将软件开发分红了四种类型,并了解了一下每种开发工做须要掌握的编程语言,最后绘制成上表,考虑通常状况,表中只列出了经常使用的语言。前端
如今比较热门的仍是互联网行业,互联网软件开发分为前端和后端,前端是给用户呈现内容并与用户交互的部分。前端的语言比较统一,用HTML和CSS呈现内容,用javascript实现动态化,学好这三种语言便可从事前端开发。但前端开发是我最不想作的工做,由于网页变化的太快了,作不动就会被淘汰,并且前端开发讲究漂亮、易用,我并不擅长这点。java
后端是个很是考验技术的工做,除了基础的编程语言还要掌握并发、数据库等技术,以及跟语言配套的各类框架。后端的开发语言太多了,每种语言都各有优势,而编程是一种手艺活,对语言用的越熟写的越好。从过后端开发不能光靠本身的喜爱选择语言,还得看看想去的公司用的什么语言,若是碰见新成立的公司,忽然决定重构,要换开发语言就很是悲催了。python
桌面开发是个“历史悠久”的工做,图形界面库也愈加成熟,C++中最好的图形界面库是Qt,C#的图形界面库是winForm和wpf,java大多用Swing。其余语言没有成熟的图形界面库,所以不太适合作桌面开发,不过如今也有一些软件用前端技术开发桌面的图形界面。android
移动端最多的就是android和iOS两大平台,若是不考虑使用高端技术,在android上开发就是用java或Kotlin,在iOS上开发就是object-c或swift,两大平台都有本身的图形界面库。数据库
游戏开发中用的最多的是C++和C#。用C++天然是其运行效率高,适合游戏这种大运算量的应用,开放的虚幻引擎和很多封闭的游戏引擎都是用C++。而C#由于有了unity这样简单易用的游戏引擎也被普遍使用,而且C#相对于C++也更安全易用。桌面端也有些游戏用的java开发,例如著名的Minecraft。游戏开发须要掌握的不仅是编程语言,更多的要掌握计算机图形技术。编程
我所掌握的语言是C\C++,python,C#,会用的图形界面库是Qt和wpf,这些都是随着兴趣去学的,看来我比较适合作桌面开发。swift