美文网首页
计算机语言的特性

计算机语言的特性

作者: 彡廿 | 来源:发表于2017-05-30 14:35 被阅读27次

计算机编程语言的分类:

  • 机器语言
  • 汇编语言
  • 高级语言

计算机只能识别机器语言,高级语言,汇编语言都要转成机器语言之后,计算机才能执行。

高级语言转成机器语言可分为:编译型,解释型。

1.编译型 VS 解释型

  • 编译型:编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的
  • 解释型:对源程序的翻译与执行一次性完成,不生成可存储的目标代码。

二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。

解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.

2.动态语言 VS 静态语言

通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

3.强类型语言 VS 弱类型语言

(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

相关文章

  • 计算机语言的特性

    计算机编程语言的分类: 机器语言 汇编语言 高级语言 计算机只能识别机器语言,高级语言,汇编语言都要转成机器语言之...

  • 04 Java数组

    在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性: 一致性:数组只能保存相同数据...

  • 区块链的智能合约

    区块链的智能合约是条款以计算机语言记录的智能合同。它的本质是一份合同,具有判断前置的特性。怎么理解?举个栗子,在现...

  • Objective-C高级编程之block篇

    block是C语言的一项重要的特性。在很多其他计算机语言中都有类似的概念,比如lamda表达式,闭包等。那么blo...

  • 一周学习总结

    CSS层叠样式表,是一种用来为结构化文档添加样式的计算机语言,CSS文件扩展名为.css,三大特性:层叠性,继承性...

  • 程序员:没用过go,入职直接让写go,网友:go是拿来就能用的语

    相信好多工作多年的程序员都不止了解一门语言吧,现在市面上有很多计算机语言,不同语言有着不同的特性及擅长的领域,根据...

  • 学习汇编 -- 汇编基础

    ###机器语言计算机语言大致分三类:计算机语言、汇编语言、高级语言。 计算机语言:由0和1组成的机器指令 汇编语言...

  • 计算机语言与编码

    python基础1:计算机语言与编码 标签; python基础 计算机语言分类 机器语言 底层语言,运行速度最快,...

  • 打开Java世界大门

    1. Java入门基础上 1.1.1. 计算机语言和编程概述(了解) 1.1.1.1. 计算机语言(了解) 在生活...

  • Java是什么?Java三大平台是指什么?Java能做什么?

    Java是什么? 在了解“什么是Java”之前,我们先来认识下什么是计算机语言 。计算机语言(Computer L...

网友评论

      本文标题:计算机语言的特性

      本文链接:https://www.haomeiwen.com/subject/hwlrfxtx.html