精华内容
参与话题
问答
  • 根据语言特性分类根据语言的执行方式可以分为解释型语言编译性语言根据...优缺点对比静态语言:这个概念是相比较动态语言的特性产生的概念。脚本语言:即扩建语言,是为了缩短传统的编写-编译-链接-运行(edit-co...


    update time 2019-1-3,Author:要你命三千又三千 type:学习笔记
    几种语言方式的对比

    根据语言的执行方式可以分为

    解释型语言

    指每次运行解释型程序时都要由解释器程序实时地将源代码转换成二进制形式运行。
    关键字:实现 ,源代码转化成二进制,运行

    编译性语言

    编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。
    关键字:编译成二进制,直接运行二进制

    根据语言的结构是否可变

    动态语言

    程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化,类型的检查是在运行时做的。

    概念区分

    动态类型语言

    就是类型的检查是在运行时做的,比如如下代码是不是合法的要到运行时才判断

    静态类型语言

    静态类型语言的类型判断是在运行前判断(如编译阶段)。

    优缺点对比

    静态类型语言

    优点在于其结构非常规范,便于调试,方便类型安全;

    缺点是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了

    动态类型语言

    优点在于方便阅读,不需要写非常多的类型相关的代码;

    缺点:自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。(由于类型容易混淆,不容易调试任何类型可以互相赋值的造成的结果)

    静态语言:这个概念是相比较动态语言的特性产生的概念。

    问题背景前提:
    几点解释:
    动态语言

    由于结构可变,结构一般是函数(函数在语言中是有类型的),所以动态语言的函数没有类型,函数可以赋值给函数变量。由此带来了变量也是没有类型的(这就是动态类型:类型是不是合法的要到运行时才判断的)也即导致运行时最好采用解释性运行方式

    静态语言

    结构固定,所以运行要求快,所以人们一般采用编译式运行,直接运行二进制代码,采用静态类型
    注:动态类型是语言的特性,动态类型语言指的是类型特性。

    脚本语言:即扩建语言,是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。

    定义解释

    根据语言创建的要求,缩短时间所以采用 解释性运行方式(不需要编译了),采用动态语言可以方便编程(动态语言的动态类型可以简化编程)。由于是解释性语言,一句一句运行,所以确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支形成了脚本(脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。

    由于这几个名词都是特性名词一般默认的含义是这样的、
    动态语言----->会采用动态类型----->采用解释性运行;(有种语言具有以上三中优缺点)

    诞生动态语言是解释性语言,动态语言是动态类型语言。
    静态语言----->采用静态类型----->采用编译式运行方式(一种语言具有 以上的三种的优缺点)

    牛逼的脚本语言

    脚本语言是为了缩短传统的方式诞生的,所以一般默认采用解释性运行动态语言动态类型语言组合是语言命令采用解释性一句一执行),有了(动态,解释,动态类型)所有特性的优点和缺点

    问题:人们常说脚本语言是动态语言

    是因为脚本语言创建时的,一般采用动态结构(从结构方面讲)。

    展开全文
  • 动态语言与静态语言

    2020-06-06 21:35:55
    动态语言无需编译,它由解释器动态解释执行,一般来说,动态语言拥有比静态语言更大的灵活性和表达能力。动态语言优势在于灵活,易于开发和学习,劣势在于性能较低。在高性能服务器和并行处理的实现方案里,动态语言...

    在这里插入图片描述

    动态语言也称为脚本语言,是介于标签语言(如HTML,XSLT,VML)和静态语言(如C++、C#、Java,也称编译语言)之间的语言。JavaScript、PHP、Perl、Ruby等都是动态语言。动态语言无需编译,它由解释器动态解释执行,一般来说,动态语言拥有比静态语言更大的灵活性和表达能力。动态语言优势在于灵活,易于开发和学习,劣势在于性能较低。在高性能服务器和并行处理的实现方案里,动态语言的优势掩盖自身的不足。一般来说,完成同样逻辑功能的程序,使用Ruby或Python之类的动态语言所需的代码量往往只有使用Java实现版本的1/10,相比C/C++差距更大。近两年来,动态语言似乎有山雨欲来风满楼的气势。在各大开发技术网站,有大量介绍动态语言的文章,在各大论坛里,人们针对动态语言的学习、交流、论战、预测的帖子不断成为抢眼热帖,搅动着开发者的神经。动态语言最突出的特性是语法简洁灵活,易于学习,拥有大量高级程序库,无须从底层开始搭建程序,降低了应用实现的难度。一个C++程序员,往往经过了几年的训练仍然不能开发出可用的程序,但动态语言的程序员经过几个月的训练就已经可以编写出可复用性的代码了。此外,动态语言的代码往往以开源的形式发布,容易被使用和学习。程序库往往决定了一种语言应用难度,纵观历史,凡是具有优秀程序库的语言生命力都很顽强,反之则容易销声匿迹。目前几种流行的动态语言,都具有丰富的程序库,在Python中,不仅具有诸如网络应用,多线程,图像处理,科学运算之类的程序库,甚至还拥有多套不同量级的Framework来辅助Web开发。事实上,任何需要的功能几乎都能找到相对稳定的程序库,大部分程序员仅仅需要组合这些库就能编写出强大的应用——这也正是使用动态语言开发程序代码量较少的原因之一。除了众多的程序库,动态语言本身的种类也远远大于静态语言,同样,每种语言也各具特点。Ruby,Python,Groovy,Perl是四种颇具代表性的动态语言,按照一般的看法,这些语言适合用来黏合不同的系统和模块,素有“胶水”的之称。后来人们发现“胶水”不仅仅能粘合其他模块,本身也具有强大的功能。在没有性能问题的重要性不突出的场合,动态语言看起来无所不能了,无论是网站还是应用程序,都能看到动态语言的身影。对时下的程序员来说,掌握一种动态语言已不仅仅是赶时髦,虽然你不一定能够靠单单一种动态语言找到一份喜欢的工作,但适时地采用动态语言,一定可以让你的工作变的简单许多。

    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
    sv9Ffngn2N1uTBdyWeTELA==

    展开全文
  • 静态语言、动态语言

    2017-12-09 14:45:29
    一、 前两者,弱/强类型指的是语言类型系统的类型检查的严格程度。后两者指的是变量与类型的绑定方法。弱类型相对于强类型来说类型检查更不严格,...简单地说,在声明了一个变量之后,不能改变它的类型的语言,是静态

    一、
    前两者,弱/强类型指的是语言类型系统的类型检查的严格程度。后两者指的是变量与类型的绑定方法。

    弱类型相对于强类型来说类型检查更不严格,比如说允许变量类型的隐式转换,允许强制类型转换等等。强类型语言一般不允许这么做。

    静态类型指的是编译器在compile time执行类型检查,动态类型指的是编译器(虚拟机)在runtime执行类型检查。简单地说,在声明了一个变量之后,不能改变它的类型的语言,是静态语言;能够随时改变它的类型的语言,是动态语言。因为动态语言的特性,一般需要运行时虚拟机支持。

    二、
    1.
    Program Error
    strapped errors:导致程序终止执行,如除0,Java中数组越界访问
    untrapped errors: 出错后继续执行,但可能出现任意行为。如C里的缓冲区溢出、Jump到错误地址Forbidden Behaviours 语言设计时,可以定义一组forbidden behaviors. 它必须包括所有untrapped errors, 但可能包含trapped errors.
    Well behaved、ill behaved
    well behaved: 如果程序执行不可能出现forbidden behaviors, 则为well behaved。
    ill behaved: 否则为ill behaved…

    2.有了上面的概念,再讨论强、弱类型,静态、动态类型强、弱类型

    强类型 strongly typed: 如果一种语言的所有程序都是well behaved——即不可能出现forbidden behaviors,则该语言为strongly typed。
    弱类型 weakly typed: 否则为weakly typed。比如C语言的缓冲区溢出,属于trapped errors,即属于forbidden behaviors..故C是弱类型
    前面的人也说了,弱类型语言,类型检查更不严格,如偏向于容忍隐式类型转换。譬如说C语言的int可以变成double。 这样的结果是:容易产生forbidden behaviours,所以是弱类型的
    动态、静态类型
    静态类型 statically: 如果在编译时拒绝ill behaved程序,则是statically typed;
    动态类型dynamiclly: 如果在运行时拒绝ill behaviors, 则是dynamiclly typed。

    3.
    这里写图片描述
    红色区域外:well behaved (type soundness)
    红色区域内:ill behaved
    如果所有程序都是灰的,strongly typed
    否则如果存在红色的程序,weakly typed
    编译时排除红色程序,statically typed
    运行时排除红色程序,dynamically typed
    所有程序都在黄框以外,type safe


    参考:《Type Systems》 Luca Cardelli - Microsoft Research

    Trapped error: An execution error that immediately results in a fault.

    Untrapped error: An execution error that does not immediately result in
    a fault.

    Forbidden error: The occurrence of one of a predetermined class of execution errors;Typically the improper application of an operation to a value, such as not(3).

    Well behaved: A program fragment that will not produce forbidden errors at run time.

    Strongly checked language: A language where no forbidden errors can occur at run time (depending on the definition of forbidden error).

    Weakly checked language: A language that is statically checked but provides no clear guarantee of absence of execution errors.

    Statically checked language: A language where good behavior is
    determined before execution.

    Dynamically checked language: A language where good behavior is
    enforced during execution.

    Type safety: The property stating that programs do
    not cause untrapped errors.

    Explicitly typed language: A typed language where types are part of
    the syntax.

    Implicitly typed language: A typed language where types are not part of the
    syntax.

    这里写图片描述

    原文参考

    展开全文
  • 今天小熙突然想到一个问题,那就是Java到底是动态语言还是静态语言,是强类型还是弱类型呢?虽然知道但是还是不够深入,接下来就一起探讨下吧。 二. 图释 小熙碰巧看到一张,完美的区分了以上的问题 如图所示,...

    一. 前言

    今天小熙突然想到一个问题,那就是Java到底是动态语言还是静态语言,是强类型还是弱类型呢?虽然知道但是还是不够深入,接下来就一起探讨下吧。

    二. 图释

    小熙碰巧看到一张图,完美的区分了以上的问题,如下图所示:

    语言类型

    如图所示,Java是强类型语言,静态类型。下面解释下为什么。

    三. 解释

    1. 静态类型语言:变量定义时有类型声明的语言。

      (1)变量的类型在编译的时候确定

      (2)变量的类型在运行时不能修改

      这样编译器就可以确定运行时需要的内存总量。
      例如:C、Scala、Java、F#语言是静态类型语言。

    2. 动态类型语言:变量定义时无类型声明的语言。

      (1)变量的类型在运行的时候确定

      (2)变量的类型在运行可以修改

      例如:python、Javascript、Ruby语言是动态类型语言。

    3. 强类型定义语言

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

    4. 弱类型定义语言

      数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。

    综上所述:小熙认为Java是在编译时期确定的变量类型且在运行时期不能改变,在类型转换方面也是强制的,例如大范围整数类型转换为小范围整数类型时必须要强转,如 int 必须强制转换才能得到小范围类型 byte。所以Java是静态、强类型语言。

    以上就是小熙总结的结论,欢迎大家讨论。

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

    千次阅读 2018-12-12 11:12:16
    我心血来潮就去百度了一番动态语言和静态语言的具体区别,一番百度才发现自己原来的想法不够全面,所以在这里做个笔记。 基本概念 动态类型语言:在运行期进行类型检查的语言,也就是在编写代码的时候可以不指定...
  • 写动态语言的不屑于静态语言那冗余的类型系统;写静态语言的则嘲讽动态语言里面各种光怪陆离的运行时错误。 本文转载自raindi:原文链接 基本概念 静态语言(强类型语言) 静态语言是在编译时变量的数据类型...
  • 动态语言和静态语言的区别

    万次阅读 多人点赞 2017-10-30 11:20:20
    编译型语言和解释型语言 1、编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。 编译是把源代码编译成机器码, 链接是把...
  • 静态语言和动态语言之探索

    千次阅读 2018-05-18 14:30:13
    有三个名词容易混淆:Dynamic Programming Language (动态语言或动态编程语言)Dynamically Typed Language (动态类型语言)Statically Typed Language (静态类型语言)静态类型语言的类型判断是在运行前判断(如编译...
  • 什么是动态语言/静态语言

    千次阅读 2017-07-23 10:40:18
    下面简单介绍下什么是静态语言静态语言: 动态语言:动态语言是指在运行期间才去做数据类型检测的语言。在用动态语言编程的时候并不需要给变量指定数据类型,该语言会在第一次将数据赋值给变量的时候在内部将数 据...
  • C语言是静态语言、弱类型语言。 Java语言是静态语言、强类型语言。 JavaScript语言是动态语言、弱类型语言。 静态类型语言、动态类型语言分析: 静态类型语言:变量定义时有类型声明的语言。 1)变量的类型在...
  • 静态语言: 变量的类型在编译之前就需要确定,在编译的时候需要先编译,将源码转换成目标代码,然后需要运行目标代码程序才能运行,比如C语言。 动态语言:不需要直接指定变量类型,在解释的时候,转换为目标代码...
  • 动态类型语言和静态类型语言

    千次阅读 2018-05-24 15:54:33
    https://www.cnblogs.com/liuning8023/p/4286044.html  动态类型语言和静态类型语言本文主要说明动态类型语言和静态类型语言。类型检查所进行的检验处理以及实行类型的约束,可发生在编译时期(静态检查)或运行...
  • 通常我们所说的动态语言、静态语言指 动态类型语言(Dynamically Typed Language) 静态类型语言Statically Typed Language)。 还有一个 Dynamic Programming Language (动态编程语言),静态编程语言。 ...
  • 问题1:静态语言和动态语言的区别是什么? 问题2:强类型语言和类型语言区别是什么? 问题3:以你实际举例,用过哪些动态静态语言?以及强类型,弱类型语言? 问题1:静态语言和动态语言的区别是什么? 答...
  • 编译型解释型的区别 先来看看编译型语言定义: 编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码 (二进制)。 再来看看解释型语言的定义: 解释型语言的源代码不是直接翻译成机器指令,而是...
  • 我们先看看编译型,其实它汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器...
  • 1、动态语言静态语言通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也...
  • 动态语言静态语言 1.动态类型语言:是指在运行...2.静态类型语言:与动态类型语言刚好相反,它的数据类型检查发生在在编译阶段,也就是说在写程序时要声明变量的数据类型。C/C++、C#、Java都是静态类型语言的典型...
  • 首先要清楚静态类型语言和动态类型语言的判别的标准 定义:如果类型检查发生在编译阶段(compile time),那么是静态类型语言(statically typed languages)中,相反的,如果类型检查发生在运行阶段(run time),那么是...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 然后每每别人谈起pythod时,我就会以资深口吻”哦,pythod啊,它是一种弱类型语言“开头~~ 现在想想,真是啪啪打脸啊~~~~ 要怪就怪我交友不慎或是记性太好吧! 以下转载自 aiming66 看到篇文章后,我感觉我的脸有...
  • 通常我们所说的动态语言、静态语言指 动态类型语言(Dynamically Typed Language) 静态类型语言Statically Typed Language)。 还有一个 Dynamic Programming Language (动态编程语言),静态编程语言。 动态...
  • 这是本人关于Typescript的第一篇笔记,之所以选择将“强类型语言和类型语言静态语言和动态语言”作为第一个想要去总结的主题,是因为个人觉得它很重要。 如今这个年代,可以供我们选择的编程语言非常之多,我们...
  • 动态类型语言&静态类型语言

    千次阅读 2017-04-14 16:41:56
    静态类型语言概念:意思就是类型判断是在运行前做的(如编译阶段)表现:使用变量前需要声明变量举例:C、C++、Java这些都属于静态类型语言参考:百度百科:http://baike.baidu.com/link?url=oc566smrlmg...
  • 编译型语言和解释型语言  计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算 机才能运行高级语言编写的程序。  一、编译...
  • 静态类型定义相反,一种在执行期间才去发现数据类型的语言动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。 动态语言的类型检查是在运行时做的。
  • 动态语言,静态语言区别

    千次阅读 2017-08-31 10:15:04
    通常我们所说的动态语言、静态语言指 动态类型语言(Dynamically Typed Language) 静态类型语言Statically Typed Language)。 还有一个 Dynamic Programming Language (动态编程语言),静态编程语言。 ...
  • 类型(strong typed、Explicit typed)与弱类型(weakly typed或loosely typed或Implicit typed )的区别可以简单的概括为是否支持隐式转换。 例如:"1" + 2 = "12"这种隐式转换JavaScript、...
  • 静态语言和动态语言各有利弊。静态语言即使不通过执行也可以检查出类型是否匹配。在一定程度上,程序的一些逻辑错误可以被自动检测出来。 但是,逐个来定义版式变量的类型又会使程序变得冗长,只有包含继承关系...

空空如也

1 2 3 4 5 ... 20
收藏数 586,090
精华内容 234,436
关键字:

静态语言