先看一下2021年5月份的编程语言排行榜。
现在主流编程语言就是, C, Java, Python 和C++等,几十种编程语言,这么多编程语言该怎么选呢,作为一个编程小白,往往很纠结语言该怎么选!
我们时常听别人说,Java最流行,php是最好的语言,入门应该从C开始,满满的小纠结,这么大一堆语言无从入手,初期选择的时候难以决定,到底那个工资高,那个比较好找工作,那个比较好学等等问题困扰在选择期的小白,想学又好纠结。
1.各类编程语言的特点
1.1 C语言
C语言也是许多人极力推荐的入门语言,除了经典和应用广泛以外,相比Python,学习C语言可以充分了解计算机相关知识。并且C语言更适合写程序。
C语言能用来做什么?
C是多用途的、重要的计算机程序语言,支持结构化编程、词法变量范围和递归。是开发固件或移动应用的理想语言。通常被用于编写系统软件。
像Linux内核,驱动程序都是用C语言写的。在嵌入式领域用的非常广泛。我大学的时候就是自学的嵌入式,后来在一个机缘下转到了计算机视觉。
C语言优点?
- 可移动性:C是高度可移动的。你在不做改动或仅做很小改动的情况下可以升发运行在不同平台的软件。
- C很小:C完全基于变量。宏命令、函数和架构不是特别多。因此,C可以嵌入几乎所有现代微型处理器,从冰箱到闹钟。
- 学会C方便学其他语言:很多编程语言都由C实现,学会就能使你方便的学会其他语言。
C语言缺点?
- 不支持面向对象编程:这就是为什么创造C++原因之一,这也导致难以开发大型应用软件。
- 学习有难度:不是最好学的编程语言也不是最难的,如果想学一学难点的C语言程序,可以去看看Linux内核源码。
就业情况和钱景?
C语言主要是嵌入式方向,安防行业,物联网行业,底层开发(如华为海思芯片的固件程序开发)。以下是工资分布图。关于薪资这块可能因人而异,请大家不要介意。
2.2 C++语言
C++也是在C语言的基础上开发的一种面向对象编程语言,应用非常广泛。常用于系统开发,引擎开发等应用领域,支持类、封装、继承、多态等特性。C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点。
C++语言能用来做什么?
软件开发,游戏开发,音视频开发和AI开发。
C++语言优点?
- 可扩展性强
- 高效 简洁 快速
- 可移植性
- 面向对象的特性
- 强大而灵活的表达能力和不输于C的效率
- 支持硬件开发
C++语言缺点?
- 学习难度较高
- 体量太大,并且不是安全性语言
就业情况和钱景?
c++在算法方向应用比较多,像我们做的CV算法。在游戏开发和音视频开发都很不错。以下是工资分布图。视觉方向还是比较推荐的,薪资这块还可以。
2.3 Python语言
Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
Python语言能用来做什么?
网页开发,视频游戏开发,应用软件等等用途很广泛。
Python语言优点?
- 简单易学
- 免费开源
- 可移植性
Python语言缺点?
- 运行速度慢,因为是解释型语言
- 代码不能加密,发布你的Python程序,实际上就是发布源代码
就业情况和钱景?
就业方向有全栈开发,运维开发,大数据,机器学习,数据分析。以下是工资分布图。
2.4 Java语言
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java语言能用来做什么?
安卓移动开发,服务器开发,软件开发,网页开发。
Java语言优点?
- 纯面向对象的语言
- 具有很好的可移植性
- 提供了很多内置的类库
- 具有较好的安全性和健壮性
Java语言缺点?
- 使用大量的内存。靠虚拟机运行,运行速度相对较慢。
- 不能和底层打交道,不支持底层操作。
- 启动时间慢。
- 因为Java删除了指针,所以不如C/C++等语言灵活。
就业情况和钱景?
就业方向有Web开发,Android开发,客户端开发。以下是工资分布图。
2.5 PHP语言
PHP即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
PHP语言能用来做什么?
服务端脚本,命令行脚本,桌面应用程序。
PHP语言优点?
- 跨平台,性能优越
- 语法简单,很容易上手
- 有很多成熟的框架
- 有强大的社区
PHP语言缺点?
- 对多线程支持不太好,大多数时候我们只能简单的模拟去实现的。
- 语法不太严谨
- PHP的解释运行机制
就业情况和钱景?
PHP主要用来做网站开发,许多小型网站都用PHP开发,PHP是开源的,这是使得PHP经久不衰的原因。在电商、社区等方面,PHP具备非常成熟的开源代码和模板,因此使得PHP应用极为广泛。以下是工资分布图。
2.6 C#语言
C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core之上的高级程序设计语言
C#语言能用来做什么?
主要用来做桌面应用程序。
C#语言优点?
- 全面集成.Net 库,提供出色的功能与完美的库访问能力。
- 较简单的语言特性
PHP语言缺点?
- 跨平台能力太差
- 不合适做时间性能非常高(快速算法)或空间性能非常灵活(内存马上释放)的程序
- C#底层方面比不过C,C++,在上层方面比不过Java
就业情况和钱景?
主要是做软件开发,可以应用在各行各业。以下是工资分布图。
2.适合最重要
很多人总是想知道哪个语言更好,其实编程语言都有自己的适用场景,适合才是最重要的。
编程语言只是一个工具,用来生产产品。与其选语言,不如选要从事什么样的产品生产。所以我们在选择语言的时候更应该先选择行业和方向,行业和方向才更重要。不同的行业和方向,他们的发展和薪资都不同。
先想想自己学习编程为了什么,以后想开发什么,你要学那个方向。至于学那个语言,根据自己的想法去确认,比如你以后想往安卓的方向去开发,那你的入门语言可以从Java开始,如果你想搞网站开发,那你可以从HTML学起,当然很多小伙伴对游戏开发感兴趣,那你要想一想你是要开发的游戏的类型,然后随便找个接近的语言开始学。说白了,找个和自己目标接近的语言,挖个坑跳进去,先满满学,不管那个方向,要学的不仅仅是一门,两门语言的事情,路还很长,不要太过于纠结选择什么语言。
学妹听完后,恍然大悟,决定先选方向,然后努力向前。