`
chriszeng87
  • 浏览: 738651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

什么是静态语言与动态语言

    博客分类:
  • Java
阅读更多

1.静态语言与动态语言   

      静态语言:静态类型语言的类型判断是在运行前判断(如编译阶段),比如C#就是一个静态类型语言。

      动态语言:是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变 化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言。

      静态语言与动态语言的优缺点:静态类型语言的主要优点在于其结构非常规范,便于调试,方便类型安全;缺点是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了。动态类型语言的 优点在于方便阅读,不需要写非常多的类型相关的代码;缺点自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing,常出现于脚本语言中。

2. 强类型定义语言和弱类型定义语言

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

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); V
BScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

 

 

分享到:
评论

相关推荐

    汉英语言对比之静态与动态.pdf

    汉英语言对比之静态与动态.pdf

    静态网页和动态网页的区别.txt

    动态网页和静态网页的区别,首先要分别了解两个概念,就是什么是静态网页,什么是动态网页,并且学会区分哪些是静态哪些是动态。 静态网页: (1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有...

    WPF 多国语言实现与动态切换当前语言

    然后,在后台代码中,我们需要引用`System.Windows.Markup`命名空间,并定义一个静态资源字典,用于管理不同语言的资源: ```csharp public static ResourceDictionary CultureResources = new ResourceDictionary...

    网站,静态与动态的区别

    ### 网站:静态与动态的区别 在深入探讨网站的静态与动态区别之前,我们首先需要明确两者的基本概念。 #### 静态网站(Static Website) 静态网站是指那些页面内容固定不变、由一系列预定义的HTML文件组成的网站...

    静态文本的动态生成方法

    首先,我们要理解静态文本与动态生成文本的区别。静态文本是预先写入代码或存储在资源文件中的,它们在程序运行前就已经确定,不随程序执行改变。而动态生成的文本则可能基于用户输入、数据库查询结果、时间戳等变量...

    PHP动态语言静态化示例

    此资源最好搭配讲解,地址http://blog.csdn.net/m_nanle_xiaobudiu/article/details/79267703

    中国水利水电出版社《脚本语言与动态网页设计》源代码

    《脚本语言与动态网页设计》是一本深入探讨脚本语言在构建动态网页中的应用的专业书籍。源代码作为配套资源,旨在帮助读者更好地理解和实践书中的理论知识,从而提升编程技能。以下是根据标题、描述和标签所涉及的...

    应用Dreamweaver设计静态网页和动态网页

    静态网页是由HTML、CSS和JavaScript等静态语言编写的,内容固定不变,不与服务器进行交互。而动态网页则可以根据用户输入或特定条件,从服务器端获取实时数据并展示,如PHP、ASP.NET、Python的Web框架等。 在...

    Kotlin语言写的静态库和动态库.zip

    Kotlin语言写的静态库和动态库.zip

    动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍

    总结来说,动态语言和静态语言主要区别在于类型检查的时间点,而强类型和弱类型关注的是类型转换的规则。动态类型语言与静态类型语言各有优劣,动态语言更灵活,适合快速迭代的开发;静态类型语言则提供了更好的编译...

    动态生成静态HTML

    1. **动态与静态页面的区别** - 动态页面:基于服务器端脚本(如ASP.NET、PHP等),根据用户请求实时生成内容,每次请求都会执行数据库查询和其他逻辑处理。 - 静态页面:预先生成并存储为HTML文件,直接由Web...

    动态页面生成静态页面实例

    在动态生成静态页面的场景下,可能包含与静态化相关的设置或路由规则。 `binRuntimeError.log`可能是运行时错误日志,它记录了程序执行过程中遇到的问题,有助于调试和优化静态化过程。 `hhftohtml.sln`和`...

    C与C++接口、静态库、动态库的互调

    本文将深入探讨C与C++接口、静态库和动态库的互调,以及如何通过`build.sh`脚本来实现这一过程。 首先,让我们理解C与C++接口。由于C++支持类、对象等高级特性,而C语言则不包含这些,因此在两者之间建立接口需要...

    Delphi实例源码演示静态与动态数组变量的不同.rar

    在Delphi编程语言中,有两种主要的数组类型:静态数组和动态数组。本篇文章将深入探讨这两种数组的区别,通过实例源码来帮助理解它们的特点和用法。 首先,我们来看静态数组。静态数组在声明时必须指定其大小,且这...

    静态、动态链接库的创建和调用

    静态链接库在编译时期与应用程序链接,而动态链接库则在运行时期加载。 首先,我们来谈谈静态链接库。创建静态库的过程中,我们需要一个项目,通过添加需要封装成库的代码文件(例如C/C++文件)。创建完成后,编译...

    lua-5.2.0静态库+动态库.zip

    首先,我们来了解一下什么是静态库和动态库。在编程中,库是一段预先编译好的代码,可以被多个程序共享。静态库(.a 或 .lib)在编译时会与目标代码链接在一起,形成一个完整的可执行文件,不依赖外部的库文件。而...

    Android动态系统语言切换

    在Android系统中,用户通常可以在设备的设置菜单中选择或更改系统语言,但这是一种静态的切换方式。然而,开发者有时需要在应用程序运行时动态地改变系统语言,以便为用户提供更个性化的体验。本文将深入探讨如何...

Global site tag (gtag.js) - Google Analytics