(一)易语言和py有什么本质区别

还记得楼主在大学的时候听董富国老的课第一次接触到python,什么?蟒蛇?一脸懵逼的楼主第一次知道了还有这门编程语言,视野一下从易语言 C语言 C++ 汇编 C# VB 这些编译语言拓宽了不少。

编译语言又叫做静态语言,由于代码经过编译器编译成机器码之后已经看不到之前的代码,编译后的程序很难再修改,也正是因为被编译成了计算机更容易理解的形式,所以运行起来速度会非常的快。

相反,像python JavaScript语言,他们属于脚本语言,又叫动态语言,是不需要编译器编译,代码可以直接被解释器解释运行,后期更改变得更加方便,以至于代码自己可以对自己进行修改,这就让程序的灵活性增加了不少,当然相应的由于计算机理解代码经过了一层解释器,所以运行速度变慢了不少。

会易语言的朋友可以这样理解哦:

静态:用易语言写一个程序,两个按钮,其中一个按下会弹出信息框,另外一个按下会关闭软件
编译后,点击相应的按钮就会出现相应的效果

动态:用易语言写一个程序,一个编辑框,一个按钮,编辑框中可以输入一些文本,按钮点击后判断编辑框里面的文本是什么,根据文本是“信息框”或者“关闭”执行对应的命令
编译后,编辑框中输入“信息框”点击按钮,就可以弹出信息框,编辑框中输入“关闭”点击按钮,程序就会退出。
在这个程序里,我们可以简单的将编译后的程序理解为:解释器,解释器他解释了编辑框中的内容,编辑框中的内容可以理解为代码(当然我们如果逻辑做的更复杂一点,确实可以实现复杂代码功能)而我们按下的按钮,相当于让解释器去解释编辑框中的代码,可以对应python中的run命令。
由于代码中多了判断,速度当然会比我们写的第一个程序慢一点点(暂不考虑计算机速度极快,人们无法感受到)
[attach]1478[/attach]

哦对了,多数动态语言由于和计算机直接有一个解释器,只要把解释器做成支持多平台(系统)的,这门动态语言也就可以实现跨平台了(windows,linux,mac都可以运行),一套代码,多平台通用。
实际上许多编译语言也可以实现跨平台,比如golang,它是一门新兴语言,得益于出生比较晚,开发golang的大佬们早就考虑到了跨平台问题,为golang做了一套可以支持多个平台的编译器,使得golang既可以高性能运行又可以跨平台。
再就是C++跨平台是可以通过编译器的条件编译实现的,比如linux和windows上面有不少通用的功能可以用一样的代码实现,当遇到不通用的功能时则需要写分别对应linux 和 windows的代码,
编译器会选择编译这两种代码中的一种。

演示代码下载:https://download.csdn.net/download/oNuoZuo/13770801

猜你喜欢

转载自blog.csdn.net/oNuoZuo/article/details/111615737