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

编程语言类型划分

(一)编译型和解释型

计算机不能直接理解高级语言,仅仅能直接理解机器语言,所以必需要把高级语言翻译成机器语言,计算机才干运行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。

编译型语言写的程序执行之前,已经程序编译好了,比方exe文件,以后要执行的话就不用又一次翻译了。直接使用编译的结果即可了(exe文件),由于翻译仅仅做了一次,执行时不须要翻译,所以编译型语言的程序执行效率高。

解释性语言的程序在执行程序的时候才翻译,边执行边翻译

这样解释性语言每执行一次就要翻译一次。效率比較低。

用一个样例类比下,比方一个人读一本外语书。他能够选择直接读别人翻译好的(编译型),或者让别人一句句读给他听(解释型)。翻译好的译文随时能够再读,请别人读每一个章节都须要又一次读一次。


(二)动态语言和静态语言

动态类型语言:在执行期间检查数据的类型的语言。

用这类语言编程,不会给变量指定类型,而是在附值时得到数据类型。

静态类型语言:相反静态类型语言是在执行前编译时检查类型。在写代码时。没声明一个变量必须指定类型。

动态类型语言如JS

function add(a,b){
return a+b;
}
add(1,2);
add('1',2);

静态类型语言如C、C++、Java、C#等

public int add(int a,int b){
return a+b;
}

(三)强类型定义语言和弱类型定义语言

强类型定义语言:强制数据类型定义的语言。

也就是说,一旦一个变量被指定了某个数据类型,假设不经过强制转换。那么它就永远是这个数据类型了。举个样例:假设你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。

强类型定义语言是类型安全的语言,如Java。

弱类型定义语言:数据类型能够被忽略的语言。它与强类型定义语言相反, 一个变量能够赋不同数据类型的值。如JS。



转载于:https://www.cnblogs.com/gccbuaa/p/6899256.html

相关文章:

  • 关于sublime text 3 pylinter的错误提示
  • nil的使用
  • #Java第九次作业--输入输出流和文件操作
  • 路径层、裁剪区域
  • to_char函数 官方文档详解(数字格式转换和日期转换)
  • 【代码笔记】iOS-NSJSONSerializationDemo
  • java做http接口
  • Android异步载入全解析之开篇瞎扯淡
  • python版本与编码的区别
  • hdu5304 Eastest Magical Day Seep Group#39;s Summer 状压dp+生成树
  • Visual Studio - 引入动态库
  • iOS private-api-checker私有API检测
  • JAVA常见算法题(十二)
  • 指针知识梳理10-指向数组的指针
  • Python入门基础:代码的编码风格
  • AHK 中 = 和 == 等比较运算符的用法
  • CentOS 7 防火墙操作
  • Fabric架构演变之路
  • Javascript编码规范
  • Js基础——数据类型之Null和Undefined
  • js如何打印object对象
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • OSS Web直传 (文件图片)
  • SAP云平台里Global Account和Sub Account的关系
  • 记一次和乔布斯合作最难忘的经历
  • 前端面试总结(at, md)
  • 浅谈web中前端模板引擎的使用
  • 嵌入式文件系统
  • 双管齐下,VMware的容器新战略
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (7)STL算法之交换赋值
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)3D模板阴影原理
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • ::before和::after 常见的用法
  • @property @synthesize @dynamic 及相关属性作用探究
  • @staticmethod和@classmethod的作用与区别
  • [ C++ ] STL---stack与queue
  • [ solr入门 ] - 利用solrJ进行检索
  • [04]Web前端进阶—JS伪数组
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [CF482B]Interesting Array