码迷,mamicode.com
首页 > 编程语言 > 详细

编程语言类型

时间:2018-01-19 00:11:56      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:字符串   bsp   blog   移植   gpo   符号   抽象   ++   而且   

编译型和解释型

编译型:编译器一次把所有的代码编译成机器语言,然后写成可执行文件;

解释型:程序运行中,由解释器不断地把源码解释,执行,并不断地解释,执行;

优缺点:

    编译型执行速度较快(C/C++、VB)更适合开发操作系统、大型应用程序、数据库系统等;

    解释型对不同系统平台间的兼容性较高(Java、JavaScript、Python)更适合做一些网页脚本、服务器脚本及辅助开发接口。

       既然编译型与解释型各有优缺点又相互对立,所以一批新兴的语言都有把两者折中起来的趋势。例如Java语言虽然比较接近解释型语言的特征,但在执行之前已经预先进行了一次预编译,生成的代码是介于机器码和Java源代码之间的中介代码,运行的时候有JVM解释执行。它既保留了源码的高抽象、可移植的特点,又已经完成了对源码的大部分预编译工作,所以执行起来比“纯解释型”程序 要快许多,C#也类似。随着设计技术与硬件的不断发展,编译型与解释型两种方式的界限正在不断变得模糊。

 

动态语言和静态语言

动态语言:指在运行期间才去做数据类型检查的语言(所以永远不用给任何变量指定数据类型,Python、Ruby)

静态语言:数据类型是在编译期间检查的(所以写程序时要声明所有变量的数据类型,C/C++、C#、Java)

 

强类型语言和弱类型语言

强类型语言:强制数据类型定义的语言(一个变量一旦被指定了某个数据类型,如果不经过强制转换,那么它永远就是这个数据类型),强类型定义语言是类型安全的语言;

弱类型语言:数据类型可以被忽略的语言,一个变量可以赋不同数据类型的值,速度略快于强类型语言。

个人理解:弱类型语言应该都有“===”符号(像PHP,JavaScript),而且它们允许字符串跟数字相加,可见它们定义的变量的数据类型不固定。

编程语言类型

标签:字符串   bsp   blog   移植   gpo   符号   抽象   ++   而且   

原文地址:https://www.cnblogs.com/allenzhang-920/p/8313475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!