yada

IT行业有那么多分支,又有那么多编程语言,不可能把所有编程语言都学会,该选择哪些语言作为自己的学习方向?

 

  软件开发分支  编程语言
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实现动态化,学好这三种语言即可从事前端开发。但前端开发是我最不想做的工作,因为网页变化的太快了,做不动就会被淘汰,而且前端开发讲究漂亮、易用,我并不擅长这点。

  后端是个非常考验技术的工作,除了基础的编程语言还要掌握并发、数据库等技术,以及跟语言配套的各种框架。后端的开发语言太多了,每种语言都各有优点,而编程是一种手艺活,对语言用的越熟写的越好。从事后端开发不能光靠自己的喜好选择语言,还得看看想去的公司用的什么语言,如果遇见新成立的公司,突然决定重构,要换开发语言就非常悲催了。

  桌面开发是个“历史悠久”的工作,图形界面库也越发成熟,C++中最好的图形界面库是Qt,C#的图形界面库是winForm和wpf,java大多用Swing。其他语言没有成熟的图形界面库,因此不太适合做桌面开发,不过现在也有一些软件用前端技术开发桌面的图形界面。

  移动端最多的就是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,这些都是随着兴趣去学的,看来我比较适合做桌面开发。

分类:

技术点:

相关文章: