Language

各大语言的简介

编程语言的分类

编程语言分为三大类:机器语言、汇编语言、高级语言

  • 第一代语言:机器语言面向机器的指令,机器可以直接执行
  • 第二代语言:汇编语言,使用助记符代替机器指令
  • 第三代语言:高级语言,容易被人们所理解的程序语言,告诉计算机执行什么任务和执行任务的步骤,是过程化的。最重要的作用是此时已经脱离了机器硬件系统,具有代码可移植性

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
  • 桌面应用程序

优缺点:


版权声明:本文为zhang_0202原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。