该选择哪一种编程语言?

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