以下是部分开发方向可以选择的编程语言:
1) GUI 桌面软件
能开发 GUI 软件的编程语言众多,既有传统的 C++、C#、VB、Delphi、Java,也有新晋选手 Python、Node.js(JavaScript),还有小众的易语言(中文编程语言)。
如果你只是想玩玩,那么你随意,适合自己的就行,其中 Python 上手比较简单。
如果你想找一份工作,建议学习 C++ 或者 C#。C# 虽然比 C++ 简单一点,但是它只适用于 Windows 平台;而 C++ 是一种通用语言,它可以应用于 Windows、Linux 以及嵌入式平台,就业选择较多。
2) 网站开发
网站开发分为前端和后台,前端就是用户在浏览器中看到的界面,后台就是放在服务器上的程序。
前端开发需要学习 HTML、CSS 和 JavaScript,没得选,而且必须都学习。
后台发开语言则多如牛毛,有走进坟墓的 ASP、Ruby on Rails,也有常用的 PHP、Java(JSP)、C#(ASP.NET),还有新晋选手 Python、Node.js(JavaScript)、Go 语言。
如果你想自己玩玩或者创业,建议选择 PHP,上手非常简单。我使用的也是 PHP,因为当时学不会 ASP.NET 和 JSP,所以选择了简单的 PHP。
如果你想找一份工作,那么已经走近坟墓的 ASP、Ruby on Rails 就不要选了,没人用了。C# 也不要选了,只适用于 Windows 平台,而大量的服务器都是 Linux。Python 也不要选,实际应用场景不多。Go 语言主要用作 Web 底层开发,而不是应用层开发。
剩下的 PHP、Java、Node.js 你自己看着办吧,没法说哪种语言一定有优势,它们只是适用于不同的场景。
值得一提的是,这里我们将 Node.js 和 JavaScript 看做是等价的,如果你选择了 JavaScript,那么你既能开发网站前端,也能开发网站后台,就不用学习多种编程语言了。
3) APP 开发
这个开发方向比较简单,Android APP 开发使用 Java 或者 Kotlin,iOS APP 开发使用 Objective-C 或者 Swift。
每种操作系统都有两种编程语言,一种是传统的,一种是新晋的,选择好了操作系统,把两种语言都学了吧。
4) 嵌入式开发
一般使用汇编、C语言和 C++,近年来也有开发板支持 JavaScript 和 Python。
自己玩的话,可以选择 Python,上手简单。
想找工作的话,还是走传统路线吧,把汇编、C语言和 C++ 都学了吧。
只有那些有 Web 开发基础的程序员才会选择 JavaScript。
5) 机器学习
这是一个比较综合的开发方向,初学者一般从 Python、MATLAB 开始搭建模型,实际工程应用中可能需要使用 C++、Java 等其它语言去实现。
Python 是必学的,MATLAB 最好也要掌握,C++ 和 Java 视情况而定。
6) 大数据
这也是一个比较综合的开发方向,相关语言有 Python、R语言、Java、Scala。把 Python 和R语言学习一下,剩下的看情况吧。
以上说的仅仅是编程语言,除了编程语言,大家还需要学习某些框架或者库,比如:
- Java 网站开发需要掌握 Servlet、JSP 技术,以及 Spring、Spring MVC、Spring Boot、Spring Cloud、Mybatis、Hibernate 框架;
- Python 机器学习需要掌握 PyTorch、TensorFlow、Caffe 等框架,以及 sklearn、NumPy 等模块。
除了编程语言和框架/库,你当然还要掌握一两种数据库,常用的有 MySQL、Oracle、MongoDB、Redis、Sqlite 等,这里不再展开讨论。