精华内容
下载资源
问答
  • 动态语言
    千次阅读
    2022-02-13 00:06:54

     

    静态语言与动态语言

    一、静态语言(强类型语言)

        静态语言是在编译时确定变量的数据类型,运行期间不可以改变其结构,即运行前可确定的语言,

    多数静态类型语言要求在使用变量之前必须声明数据类型。 

    例如:C++、Java、Delphi、C#等。

     

    二、动态语言(弱类型语言)

        动态语言是在运行时确定数据类型与结构的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 

    例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。

     

    三、静态语言的优缺点

    优点:

        1.避免程序运行时发生变量类型相关的错误

        2.先前明确了变量的类型,编译器可以针对这些信息对程序做出一些优化,从而提高程序执行的速度

    缺点:

        1.撸码的时候,需要格外注意变量的类型

        2.过多的类型声明会增加更多的代码

     

    四、动态类型语言的优缺点

    优点:

        给实际的编码带来了很大的灵活性,我们只关注对象的行为,而不关注对象本身

     

    缺点:

        代码运行期间有可能会发生与类型相关的错误

     

    五、Java语言

        Java 是但是具有一定的动态性。

        尽管Java不属于动态语言,但是可以称之为“准动态语言”,即Java具有一定的动态性,我们可以通过Java的反射机制获得类似动态语言的特性。

    Java的动态性让编程更加的灵活。

    更多相关内容
  • 1.动态语言 动态语言是在运行时才确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP、ASP、Python、SQL、JavaScript、Unix Shell等等。 动态语言的优势:思维不受...

    本人是php程序员,也做过一年java的开发,学习过c语言,会JavaScript,再回想起来,感觉语言之间的区别有点迷惑,所以整理一下。

    1.动态语言

    动态语言是在运行时才确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP、ASP、Python、SQL、JavaScript、Unix Shell等等。

    动态语言的优势:思维不受束缚,可以任意发挥,把更多的精力放在产品本身上。

    2.静态语言

    静态语言是在编译时变量的数据类型就可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。 例如:C、C++、Golang、Java、C#等。

    静态语言优势:由于类型的强制声明,使得IDE有很强的代码感知能力,所以在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障;由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低。

    3.解释型语言

    我们都知道能让机器识别的是机器语言,也就是01这样的二进制代码,高级语言机器是不能识别的。解释型语言是不需要在运行前进行编译成机器语言,而是程序在运行时先翻译成中间代码,再由解释器对中间代码进行解释运行。这样解释型语言每执行一次就要翻译一次,效率比较低。

    常见的解释型语言包括:Java、C#、PHP、JavaScript、Python、VBScript、Perl、Ruby、MATLAB等。

    解释型语言的优点

    ①解释型语言提供了极佳的调试支持。

    ②解释器比编译器容易实现。

    ③中间语言代码的大小比编译型可执行代码小很多。例如,C/C++的.exe文件要比同样功能的Java的.class文件大很多。

    ④可移植性好,只要有解释环境,可以在不同的操作系统上运行。比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器系统上运行。

    ⑤解释型语言也可以保证高度的安全性——这是互联网应用迫切需要的。

    解释型语言的缺点

    ①运行需要解释环境,程序严重依赖平台。

    ②运行起来比编译的要慢,占用的资源也要多一些,代码效率低。因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

    ③由于解释型应用的decode-fetch-execute(解码-抓取-执行)的周期,它们比编译型程序慢很多。

    4.编译型语言

    运行编译型语言是相对于解释型语言存在的,编译型语言首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。

    常见的编译型语言有:C、C++等。

    编译型语言的优点:运行速度快,代码效率高,编译后程序不可以修改,保密性好。

    编译型语言的缺点

    ①代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行。

    ②安全性不如解释性语言,一个编译型的程序可以访问内存的任何区域,并且可以对你的PC做它想做的任何事情(大部分病毒是使用编译型语言编写的)。

    5.脚本语言

    脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本保存,只在被调用时进行解释或编译。

    脚本语言有:PHP、Python、JavaScript、Lua、Scala、VBScript,ActionScript,MAXScript,ASP,JSP,SQL,Perl,Shell,Ruby,JavaFX,AutoIt等

    脚本语言是一种解释性的语言,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在,脚本语言不需要编译,可以直接用,由解释器来负责解释。

     

    参考资料:

    http://baijiahao.baidu.com/s?id=1581982663991093225&wfr=spider&for=pc

    https://baike.baidu.com/item/%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80/1379708

    https://blog.csdn.net/u014647208/article/details/78329187

    https://blog.csdn.net/GIRLDWH0715/article/details/70228553

    展开全文
  • 动态语言(弱类型语言)是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、JavaScript、Python、Perl等等。 var s ="hello"; var i = 0; var b = true...

    概念

    • 动态语言:是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、JavaScript、Python、Perl等等。
    var s ="hello";
    var i = 0;
    var b = true;
    
    • 静态语言:是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须声明数据类型。比如Java、C、C++、C#等。
    String s="hello";    //String 类型的变量
    boolean b=true;    //boolean 类型的变量
    int i=0;    //int 类型的变量
    
    • 弱类型语言是数据类型可以被忽略的语言。一个变量可以赋不同数据类型的值。一个变量的类型是由其上下文决定的,效率更高。
    • 强类型语言是必须强制确定数据类型的语言,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这种数据类型,不允许隐式的类型转换。一个变量的类型是申明的时候就已经确定的,更安全。
      在这里插入图片描述

    区别:

    静态语言由于强制声明数据类型,让开发工具(IDE)对代码有很强的判断能力,在实现复杂的业务逻辑和开发大型商业系统、以及那些声明周期很长的应用中,开发者可以依托强大的IDE来更高效、更安全地开发。
    动态语言思维不受约束,可以任意发挥,把更多的精力放在产品本身上;集中思考业务逻辑实现,思考过程就是实现过程。

    展开全文
  • 静态语言和动态语言的区别

    万次阅读 多人点赞 2018-12-12 11:12:16
    我心血来潮就去百度了一番动态语言和静态语言的具体区别,一番百度才发现自己原来的想法不够全面,所以在这里做个笔记。 基本概念 动态类型语言:在运行期进行类型检查的语言,也就是在编写代码的时候可以不指定...

    今天在群里聊天的时候,谈论到python和Java相比居然不用定义变量类型。我心血来潮就去百度了一番动态语言和静态语言的具体区别,一番百度才发现自己原来的想法不够全面,所以在这里做个笔记。

    基本概念

    • 动态类型语言:在运行期进行类型检查的语言,也就是在编写代码的时候可以不指定变量的数据类型,比如Python和Ruby
    • 静态类型语言:它的数据类型是在编译期进行检查的,也就是说变量在使用前要声明变量的数据类型,这样的好处是把类型检查放在编译期,提前检查可能出现的类型错误,典型代表C/C++和Java
    • 强类型语言,一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。举个例子:如果你定义了一个double类型变量a,不经过强制类型转换那么程序int b = a无法通过编译。典型代表是Java。
    • 弱类型语言:它与强类型语言定义相反,允许编译器进行隐式的类型转换,典型代表C/C++。


    如果所有程序都是灰的,strongly typed
    否则如果存在红色的程序,weakly typed
    编译时排除红色程序,statically typed
    运行时排除红色程序,dynamically typed

    总结

    上一个图就很清晰了

    preview

    展开全文
  • 下面的语言中哪些语言是动态语言(B ) A.C B.JavaScript C.C++ D.CSS E.Java F.Objective-C 解析 静态语言(强类型语言) 静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在...
  • 一、以动态特性编译的 Groovy 类、 二、Groovy 语言与 Java 语言执行效率对比、 三、以静态特性编译的 Groovy 类、
  • 动态语言

    千次阅读 2017-05-26 21:25:46
    Python是一门动态的语言1、什么是动态语言​ 动态编程语言是高级程序设计语言的一个类别,他是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被改进,已有的函数可以被删除或者是其他的结构上...
  • 首先要清楚静态类型语言动态类型语言的判别的标准 定义:如果类型检查发生在编译阶段(compile time),那么是静态类型语言(statically typed languages)中,相反的,如果类型检查发生在运行阶段(run time),那么是...
  • 今天小熙突然想到一个问题,那就是Java到底是动态语言还是静态语言,是强类型还是弱类型呢?虽然知道但是还是不够深入,接下来就一起探讨下吧。 二. 图释 小熙碰巧看到一张,完美的区分了以上的问题 如图所示,...
  • 动态语言的定义:动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用。它是一类 在 运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他...
  • 动态语言和静态语言的区别

    万次阅读 多人点赞 2017-10-30 11:20:20
    编译型语言和解释型语言 1、编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。 编译是把源代码编译成机器码, 链接是把...
  • 通常我们所说的动态语言、静态语言指 动态类型语言(Dynamically Typed Language)和 静态类型语言Statically Typed Language)。 还有一个 Dynamic Programming Language (动态编程语言),静态编程语言。 ...
  • 为什么可以说Java语言是准动态语言? 2017年02月24日 19:36:58Young丶阅读数:1122 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/agonie201218/article/details/56851844 什么是...
  • 动态语言和静态语言 1.动态类型语言:是指在运行期间才去做数据类型检查的语言。在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种...
  • 关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。 1. 动态语言 ...除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。 而其实我们平时说
  • 编译型语言和解释型语言  计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算 机才能运行高级语言编写的程序。  一、编译...
  • 什么是动态语言/静态语言

    千次阅读 2017-07-23 10:40:18
    动态语言动态语言是指在运行期间才去做数据类型检测的语言。在用动态语言编程的时候并不需要给变量指定数据类型,该语言会在第一次将数据赋值给变量的时候在内部将数 据类型记录下来。典型的动态语言如Python,...
  • python是动态语言动态语言的定义 动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类 在运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的...
  • 我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器...
  • 一、Groovy 支持 Java 语法、 二、Groovy 支持 Java 虚拟机、 三、Groovy 语言是 动态语言、 四、Groovy 扩展 JDK、 五、Groovy 编译时元编程、
  • Python动态语言理解

    千次阅读 2017-06-18 08:51:02
    动态语言的定义动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用。它是一类 在运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他...
  • 动态语言,静态语言的区别

    千次阅读 2017-08-31 10:15:04
    通常我们所说的动态语言、静态语言指 动态类型语言(Dynamically Typed Language)和 静态类型语言Statically Typed Language)。 还有一个 Dynamic Programming Language (动态编程语言),静态编程语言。 ...
  • 动态语言静态化

    万次阅读 2018-02-06 12:50:06
    一、什么是动态语言静态化 将现有PHP等动态语言的逻辑代码生成为静态html文件,用户访问动态脚本重定向到静态html的过程 注 : 对实时性要求不高的页面才适合去做动态语言静态化   二、为什么要静态化 1. 动态...
  • 聊聊静态语言与动态语言的区别

    千次阅读 2018-06-27 08:29:02
    所谓动态语言,就是类型检查是在运行的时候做的,变量使用之前不需要类型声明,通常变量的类型是就是被赋值的那个值的类型,例如JavaScript等这种脚本语言就是动态语言,在编译阶段它不会判断代码是否符合规范,在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,056,293
精华内容 422,517
关键字:

动态语言

友情链接: graphicLibrary123123.rar