当前位置: 首页 > news >正文

编程语言介绍

第一节 什么是编程语言
1.1 定义

-------------------------------------------------------------------------------------------------------------------------------
        编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

---------------------------------------------------------------------------------------------------------------------------------

1.2 编程语言的分类
1.2.1 机器语言(低级语言)
        机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。机器语言使用绝对地址和绝对操作码。不同的计算机都有各自的机器语言(指令系统),所以他的跨平台性相对于汇编语言和高级语言而言较差。从使用的角度看,机器语言是最低级的语言。

1.2.2 汇编语言
        汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

        汇编语言的使用中,用英文标签指代二进制代码进行编写,本质上也是直接控制计算器硬件。开发效率较机器语言高,跨平台性较机器语言高,执行效率较机器语言较低。

1.2.3 高级语言

        开发效率都高于汇编语言和机器语言,跨平台性都高于汇编语言和机器语言,执行效率都低于汇编语言和机器语言。高级语言通常分为编译型语言和解释型语言

       因为解释型语言逐条翻译,测试时更容易发现bug,且解释型语言建立于解释器之上,跨平台性更强,所以解释型语言开发效率高于编译型语言。常见的解释型语言:Python、JavaScript、Perl、Shell。

        因为编译型语言整体翻译后执行,第二次执行无需再次翻译,所以编译型语言执行效率高于解释型语言。常见的编译型语言:C、C++、Objective-C、Swift、Kotlin。

---------------------------------------------------------------------------------------------------------------------------------
                                          第二节(常编程语言的介绍)

C语言

      C语言诞生于1972年,可以称之为现代高级语言的鼻祖,由著名的贝尔实验室发明。C语言是人们追求结构化、模块化、高效率的“语言之花”。在底层编程,比如嵌入式、病毒开发等应用,可以替代汇编语言来开发系统程序。在高层应用,也可以开发从操作系统(Unix/Linux/Windows都基于C语言开发)到各种应用软件。

真心建议:

      大学生朋友如果大学开这门课请一定认真学习,而不要觉得老套,那是经典;C语言在现代社会流行程度仍然排名前三。

C++语言

      作为C语言的扩展,C++是贝尔实验室于80年代推出的。C++是一种混合语言,既可以实现面向对象编程,也可以开发C语言面向过程风格的程序。

      C语言让程序员第一次可以通过结构化的理念编写出易于理解的复杂程序; 尽管C语言是一个伟大的语言,但是程序的代码量达到30000行以上时,程序员就不能很好的从总体上把握和控制这个程序。 因此,在80年代初期,很多软件项目都面临无法解决的问题而不能顺利进行。 1979年,贝尔实验室发明了C++。 C++最初的名字叫做“带类的C”,后来才改名叫C++。国内通用叫法:“C加加”,国际通用读法“C plus plus”。

      C++语言在科学计算、操作系统、网络通讯、系统开发、引擎开发中仍然被大量使用。

Java语言

      由美国SUN公司发明于1995年,是目前业界应用最广泛、使用人数最多的语言,连续多年排名世界第一,可以称之为“计算机语言界的英语”。

      Java广泛应用于企业级软件开发、安卓移动开发、大数据云计算等领域,几乎涉及IT所有行业。关于Java的发展历史和特性,将在后面专门介绍。

PHP语言

      PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。PHP语言,一般用于WEB开发领域;大量的中小型网站以及某些大型网站使用PHP开发。

Object-C和Swift语言

      Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。OC主要用于苹果软件的开发。

      Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与OC共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。

JavaScript语言

      JavaScript是一种脚本语言,已经被广泛用于Web应用开发;应用范围越来越大,重要性越来越高。目前,流行的H5开发的核心其实就是JavaScript语言。

Python语言

      Python发明于1989年,语法结构简单,易学易懂;Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。Python广泛应用于:图形处理、科学计算、web编程、多媒体应用、引擎开发;尤其是在未来大热方向机器学习和人工智能上有非常大的潜力。

C#语言

      C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#在基于windows操作系统的应用开发这一领域在取代C++,占据主导地位。“成也萧何败也萧何”,C#的微软身份,也成为了发展的阻力,在其他IT领域应用较少。

Fortran语言

      世界上第一种高级语言, IBM公司在1954年提出的,主要用在需要复杂数学计算的科学和工程领域。现在仍然被广泛使用,尤其是工程领域。Fortran虽然适合编写科学计算方面的程序,但是不适于编写系统程序。

Basic语言

      虽然易学,但功能不够强大,应用到大程序的有效性令人怀疑。已经逐步退出历史舞台。

COBOL语言

      于1959年提出。主要用于大量精确处理数据的商业领域中,比如金融、银行。今天,仍然有超过一半的商业软件使用COBOL编写。有将近100万人使用COBOL编程。

Pascal语言

      Pascal的名称是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal而来的,它由瑞士Niklaus Wirth教授于六十年代末设计并创立的。Pascal语言语法严谨,层次分明,程序易写,可读性强,是第一个结构化编程语言。由于没有大厂商和政府的支持,只是限于大学教育这一块。
散会~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

相关文章:

  • 【火灾检测】森林火灾检测系统(带面板)【含GUI Matlab源码 1921期】
  • Tomcat经验2
  • 为什么说C++太复杂(复杂到哪了?)
  • k8s部署手册-v03
  • 基于keras与tensorflow手工实现ResNet50网络
  • c语言中常用的字符串处理函数总结
  • ESP-01S使用AT指令连接阿里云
  • 第十四届蓝桥杯模拟赛第二期部分题答案(C++代码)
  • 面试半年,上个月成功拿到阿里offer,全靠我啃烂了学长给的这份笔记
  • 【RTS】安海波老师:SIP与RTC融合分享笔记
  • 网站都变成灰色了,它是怎么实现的?
  • JavaWeb中文件上传与下载
  • 信奥赛一本通题解目录(未做完)
  • YOLO系列算法改进方法 | 目录一览表
  • 粒子群算法和鲸鱼算法的比较(Matlab代码实现)
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • Angular 响应式表单 基础例子
  • Java 网络编程(2):UDP 的使用
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Lucene解析 - 基本概念
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • python学习笔记 - ThreadLocal
  • Redis在Web项目中的应用与实践
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spring-boot List转Page
  • Spring声明式事务管理之一:五大属性分析
  • storm drpc实例
  • 关于 Cirru Editor 存储格式
  • 机器学习学习笔记一
  • 区块链技术特点之去中心化特性
  • 设计模式走一遍---观察者模式
  • 使用 QuickBI 搭建酷炫可视化分析
  • 树莓派 - 使用须知
  • 温故知新之javascript面向对象
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​力扣解法汇总946-验证栈序列
  • # include “ “ 和 # include < >两者的区别
  • #HarmonyOS:基础语法
  • #if 1...#endif
  • $().each和$.each的区别
  • (175)FPGA门控时钟技术
  • (a /b)*c的值
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (剑指Offer)面试题34:丑数
  • (四)鸿鹄云架构一服务注册中心
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET中使用Protobuffer 实现序列化和反序列化