`
blueion
  • 浏览: 40302 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

动态语言与静态语言的区分

    博客分类:
  • JAVA
阅读更多
对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。

“动”或“静”,强调的是实施类型的时间,编译里就要确定类型的是静态类型,比如C/C++/JAVA/C#,运行时才实施类型的则是动态类型,比如VB/Python。  
   
   而“强”或“弱”刚强调实施类型的强度,强类型的语言,如C++等,变量的类型不可随意转换;而弱类型的语言,变量的类型可以随需要任意转换,而且通常都是隐式的。

静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求.
动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。


强类型语言是一旦变量的类型被确定,就不能转化的语言。实际上所谓的貌似转化,都是通过中间变量来达到,原本的变量的类型肯定是没有变化的。
弱类型语言则反之,一个变量的类型是由其应用上下文确定的。比如语言直接支持字符串和整数可以直接用 + 号搞定。当然,在支持运算符重载的强类型语言中也能通过外部实现的方式在形式上做到这一点,不过这个是完全不一样的内涵


通常的说,java/python都算是强类型的,而VB/Perl/C都是弱类型的.
不过相比于动态/静态语言的分类,强类型/弱类型更多的是一个相对的概念。
分享到:
评论

相关推荐

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

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

    动态与静态:Python与Java类型系统的较量

    Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进来区分代码块,而不是使用大括号或关键词)。这使得Python被认为是一种易于学习的语言,同时具备强大的功能,适合初学者和经验丰富的程序员。 ...

    浅析索绪尔语言观.doc

    语言是静态的,而言语是动态的,两者相互依存,但性质不同。 【语言作为符号系统】 索绪尔认为,语言是一个符号系统,由能指(signifier)和所指(signified)两部分组成。能指是声音形象或书写符号,所指是这些...

    语言学基础知识.pdf

    共时研究与历时研究分别关注语言的静态和动态特性。语言(langue)与言语(parole)是Saussure提出的区分,前者指语言系统,后者指实际的语言使用。能力(competence)与运用(performance)是Chomsky提出的,前者指...

    北航程序设计语言原理题目与答案.7z

    1. **基本概念**:理解并区分不同编程语言的特性,例如解释型语言与编译型语言、动态类型与静态类型、过程式编程与面向对象编程等。 2. **语法分析**:了解如何通过上下文无关文法(CFG)来描述编程语言的结构,...

    编程语言里的静态、动态、强类型、弱类型等概念介绍

    了解静态与动态、强类型与弱类型语言的差异,有助于我们更好地把握编程语言设计的深层次原理,以便做出更合理的决策。总之,静态与动态、强类型与弱类型这些概念,是对编程语言特性的一种高层次抽象,是学习和使用...

    新编简明英语语言学教程中文版(20211107002733).pdf

    共时性和历时性分别指语言的静态特性和动态演变。口头语和书面语,前者被视为语言交际的基本形式,而书面语是其记录。语言和言语的区别在于,语言是抽象系统,言语是实际应用。能力与运用,由乔姆斯基提出,能力代表...

    新编简明英语语言学教程中文版 2 .doc

    共时研究和历时研究分别关注语言的静态特性和动态演变。口头语和书面语的关系中,现代语言学认为口头语更为基础。语言与言语的区别在于前者是抽象的系统,后者是实际的交流行为。能力与运用的概念由乔姆斯基提出,...

    20小时入门学会go语言.docx

    3. 动态和静态的结合:虽然Go是静态类型语言,但它引入了一些动态语言的特性,比如简单的语法和高效的开发流程。 开发环境搭建: 1. 安装Go环境:访问官方网站(https://golang.org/doc/install)获取对应操作系统...

    第一讲 语言学的分类和流派.ppt

    总的来说,语言学是一门综合且深度丰富的学科,涵盖了从理论到实践,从个体到普遍,从静态到动态的各种研究方向和方法。不同的分类和流派为我们提供了理解和研究语言的多角度视角,帮助我们更好地理解人类语言的复杂...

    Java Web应用开发 03 课堂案例-认知静态网页和动态网页.docx

    在Java Web应用开发中,理解和区分静态网页与动态网页是至关重要的。静态网页和动态网页在性质、功能和实现方式上有着显著的区别。 首先,静态网页是指其内容固定不变的网页,不会根据用户的特定需求或交互行为而...

    php生成静态

    4. **文件保存**:使用PHP的`file_put_contents()`函数将生成的HTML代码写入到指定的文件中,文件名通常包含动态内容的关键信息,以便区分不同的静态页面。 5. **URL重写**:为了使用户能够通过原来的动态URL访问...

    动态网页制作的ppt

    1. **动态网页的概念**:动态网页与静态网页相对,它们的内容可以根据用户输入、时间、数据库数据等实时变化,提供更个性化的用户体验。 2. **Web服务器**:讲解动态网页时,可能会介绍Apache、Nginx等常见的Web...

    新编简明英语语言学教程中文版 2..docx

    这些概念区分了语言学的理论研究与实际应用,以及对语言状态的静态与动态分析。其中,描述性研究强调客观分析语言,而规定性则涉及规范语言使用。共时性研究关注语言的当前状态,历时性研究追踪语言变化;口头语被视...

    Java语言基础.ppt

    "Java语言基础" Java语言基础是指Java语言的基本概念和特点。...Java语言基础是指Java语言的基本概念和特点,Java语言是面向对象的、简单的、安全的、多线程的、解释型的、与平台无关的编程语言。

    社会语言学的基本概念PPT课件.pptx

    同质理论曾经是语言学研究的主流观点,主张将语言视为一个静态、规则且一致的系统,忽视了语言的多样性与变异。然而,这种理论在面对双语、多语的社会现象以及语言实际的变异性时显得过于理想化。例如,索绪尔虽然...

    Go语言程序设计(中文) 完整版 带书签

    1. 静态类型:Go是一种静态类型的编程语言,变量的类型在编译时确定,提高了代码的稳定性和安全性。 2. 内存管理:Go采用垃圾回收机制,简化了内存管理,避免了常见的内存泄漏问题。 3. 并发模型:Go语言通过...

    语言学纲要名词解释.doc

    他提出了语言是符号系统,符号由能指和所指组成,两者关系任意且约定,区分了语言与言语、内部语言学与外部语言学,以及共时语言学与历时语言学。 8. **布龙菲尔德**:美国描写语言学派的重要人物,他试图将语言学...

Global site tag (gtag.js) - Google Analytics