各大语言的简介
编程语言的分类
编程语言分为三大类:机器语言、汇编语言、高级语言
- 第一代语言:机器语言,面向机器的指令,机器可以直接执行
- 第二代语言:汇编语言,使用助记符代替机器指令
- 第三代语言:高级语言,容易被人们所理解的程序语言,告诉计算机执行什么任务和执行任务的步骤,是过程化的。最重要的作用是此时已经脱离了机器硬件系统,具有代码可移植性
1、C语言(万物之源)
创始人:丹尼斯·里奇
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发
诞生于1972年,由美国AT&T公司旗下贝尔实验室创建完成,用于构建Unix操作系统
偏向于计算机底层操作, 多用于性能要求严格的领域
主要用途:
- 操作系统
- Unix、Unix应用程序
- 嵌入式领域、硬件开发
- C编译器、解释器、微控制器
- 微波炉里的程序
- 服务器领域
- 网络核心设备(路由器、交换机、防火墙)
- 软件开发
- 计算器、文本编辑器
优点:
- 几乎所有现代编程语言都脱胎于C
- 了解C语言可以帮助自己快速掌握其它各类编程语言
缺点:
- 对初学者不太友好,有较陡的学习曲线,比较适合已经对其他编程语言有基础的学习者
- C语言不支持面向对象编程
2、C++(难学的语言)
创始人:本贾尼·斯特劳斯特卢普
C++是C语言的继承,诞生于1983年,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计
C语言的升级版本,C++是C语言的超集
C++是一款面向对象编程(简称OOP)语言
面向对象学不好 将来对象不好找
主要用途:
- 操作系统
- Windows UI、MaxOS UI
- 搜索引擎
- Google:汇编与C++
- 软件开发
- Office办公软件、FackBook、PhotoShop
- IE浏览器、火狐浏览器、Chrome、Opera、Safari
- 视频游戏
- 魔兽世界、CS、跑跑卡丁车、帝国时代
- 关系型数据库
- MySQL、SQL Server、Oracle
优点:
- C++允许对自己的应用进行灵活调整并充分发挥计算机的全部性能
- 与Java/C相比,编程过程并不友好,但我们却能够利用它实现-一切操作
缺点:
- 艰难的学习曲线,C++非常难于学习,上手慢、根基稳
- 体系较为庞大,C++规模可观且拥有大量极为复杂的功能交互方式
3、C#(背靠大树的语言)
创始人:安德斯·海尔斯伯格
C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域
诞生于2000年,一款强大而灵活的编程语言
C#原本曾被定名为Cool,全称为"C-like ObjectOriented Language"即类C型面向对象编程语言,由于商标原因而更名为C#
由于背靠微软这棵大树,所以可以充分发挥微软.NET平台的优势,也是多年来Windows平台的一门主流编程语言
优点:
- Windows桌面应用开发
- 企业级业务应用
- .NET框架创建现代网页应用
- 软件开发
- stack overflow
缺点:
- 相较于C语言学起来容易一些,但其学习路线也相对陡峭
4、PHP(最好的语言?)
PHP最初表示个人主页(Personal Home Page)
诞生于1994年, 一款服务器脚本语言
PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP同时支持面向对象和面向过程的开发,使用上非常灵活
主要用于web端、快速建站、网络开发必备
PHP被程序员网友戏称为是世界上最好的语言,但可能也是被黑的最惨的一门语言
世界上没有最好的语言 只有适用于不同场景最适合的语言
技术无高低之分 只有使用它的人有高低之分
主要用途:
- 网站开发
- FaceBook、百度、新浪
- API接口开发
- 广告系统开发
优点:
- 易于上手且功能丰富
缺点:
- 学习门槛过低,由于学习门槛太低,项目中存在着大量经验不足的开发者,某些开源代码甚至已经存在十余年
- 速度:PHP为解释性语言,其代码运行速度低于大部分编程语言
解释性语言和编译性语言区别
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同
解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低
编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高
5、Python(易学的语言)
创始人:吉多·范罗苏姆
Python由荷兰数学和计算机科学研究学会的Guido van Rossum于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程,具有极高的可读性和灵活性,虽然运行效率不高,但开发效率非常高
诞生于1990年,是一款服务器端的解释型脚本语言、面向对象、开源、社区活跃
Python被称为胶水语言
,哪里都可以用
主要用途:
- Web开发(Python开发的web项目小而精)
- 构建YouTube、美国中情局网站
- 爬虫(Python是Google的官方语言之一)
Java、C++、Go
- 谷歌爬虫
- 数据分析(常用库:NumPy、Pandas、Matplotlib)
- 美国航天局(NASA)数据分析
- 机器学习、AI
- 广泛应用在人工智能和机器学习领域:图像识别、语音识别、无人驾驶等
缺点:
- 国内市场较小,门槛低
在人工智能领域就像是一匹新兴的黑马
6、JavaScript(前端为王的语言)
创始人:布兰登·艾奇
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言,虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式
诞生于1995年,由网景开发完成
JavaScript是浏览器上应用最广泛的脚本语言之一
在前端开发中,占有不可替代的地位,一般会与H5、CSS3
一起学习
JavaScript入门难度较低,可在任何浏览器上开发及调试,无需安装额外的插件
主要用途:
- 网站前端
- 淘宝、唯品会
- 桌面开发
- 指chrome等浏览器能把js写的程序打包成桌面应用
- 插件开发
- 所有主流平台都可以使用js进行插件开发
- 服务端开发
- 基于
Node.js
用于服务器端的开发
- 基于
优点:
- JavaScript减少网络传输
- 方便操纵HTML对象
- 支持分布式运算
- 一种跨平台性脚本语言
- 一种简单弱类型脚本语言也是基于对象的脚本语言
缺点:
- 各浏览器厂商对JavaScript支持程度不同
7、Java(需求旺盛的语言)
创始人:詹姆斯·高斯林
诞生于1995年,是一种面向对象、基于类的编程语言。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
可以简单理解为:(C++)–
Java可能是目前应用最广的项目语言,Java开发岗位为目前需求量最大的软件技能方向
Java拥有全球最大的开发者专业社群,API接口非常丰富,具有强大的开源开发工具,大量的开源共享库
主要用途:
- 服务器端应用开发、分布式系统
- web应用后台开发的首选语言
- 大到全国联网的系统,淘宝、12306、 银行证券系统等,小到中小企业的应用解决方案
- 安卓移动端开发:混合开发
- 大数据开发
- Hadoop
- 桌面应用程序
优缺点: