静态与动态实际上是指变量的类似是不是可以动态改变
比较完整的描述是:
1、静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求
2、动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
分类: 电脑/网络 >> 硬件
解析:
有个答案,你看看:
动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。动态语言的类型检查是在运行时做的。它的优点是方便阅读,不需要写非常多的类型相关的代码;缺点是不方便调试,命名不规范时会造成读不懂,不利于理解等。
脚本语言代表一套与系统程序设计语言不同的协定。它们牺牲执行速度和与系统程序设计语言相关的类型长度而提供更高的编程创作力和软件重用。脚本语言更适合在联系复杂的应用程序中进行胶着。为了简化连接组件的工作,脚本语言被设计为无类型的,脚本语言一般是面向字符的,因为字符为许多不同的事物提供了一致的描述。
解释型语言是指每次运行解释型程序时都要由解释器程序实时地将源代码转换成二进制形式运行。
事实上,脚本语言都是动态语言,而动态语言都是解释型语言,不管它们是不是面向对象
1、pike是一个动态程序设计语言,语法类似于Java和C。
2、pike易于学习,不需要长时间复杂的编译过程,具有强大的内置数据结构,使得编程人员能够进行快速的数据处理。
pike是强大的 -pike作为一个高层次的语言,为您提供了简洁,模块化的代码,自动内存管理,灵活和高效的数据类型,透明汇编这个bignum支持,一个强大的类型系统,异常处理和快速迭代开发周期,减轻的必要性编译和链接的代码之前,你可以运行它;上飞的修改是毫秒,离付诸实践。
pike是快速的 -pike时间的关键部件大多数是大力优化;pike是真的,真的快和使用效率,精心手工制作的算法和数据类型。访问 的计算机语言的q战基准为pike的表现更多的事实和数字。
pike是扩 - 在C 模块写入速度或简洁pike。pike克支持多重继承和大多数其他结构,你会从现代编程语言的要求。
pike是可伸缩的 -为小脚本,为更大和更复杂的应 用非常有用。一些其他的脚本语言为不可读的语言结构,最小的代码大小的目标在哪里,pike旨在为可读的语言元素,鼓励良好的生活习惯,提高可维护性的正交小集。
pike是便携式 -平台独立性一直是我们的宗旨与pike,编译大多数UNIX,Windows上(IA32和IA64版本)和Mac OS X,以及看到的现状如何稳定和pike许多硬件架构和 *** 作系统pike支持一些工作的发展分支,参观 pikefarm的页。
pike是免费的 -pike多个许可证下发布的GNU许可证的GPL和 LGPL的,以及Mozilla的许可,MPL的。
pike克支持大多数编程范式,包括(但不限于)面向对象,函数式编程,纵横方向和命令式编程。
pike不断改善 -虽然已经是一个伟大的语言,pike正积极开发和活跃的pike社区和计算机科学的科研社区的支持。这意味着,pike将保持剃刀工具,pike在世界各地的人希望它是,从科学前沿的研究,同时吸收最近的调查结果,涵盖的领域,如技术compositioning,正则表达式和世界本体,也被称为 语义网站。
Go 语言提供了数组类型的数据结构。数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。相对于去声明number0, number1, , and number99的变量,使用数组形式numbers[0], numbers[1] , numbers[99]更加方便且易于扩展。数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。
什么是「动态语言」?这个概念其实没有一个明确的定义。基本上它是一个程度的度量。这个程度就是该语言的 runtime 到底使用多少 bookkeeping 数据。
读过《Design and Evolution of C++》的人一定知道 C++ 这个变态的 zero-bookkeeping 原则。任何 C++ 语言的高层概念,其实都已经在编译阶段被剥离掉了。从最后的目标代码中你很难再看出这是一种高级语言。当然,其代价就是程序员必须理解为什么 C++ 不能实现某些功能。而且必须从机器的角度去理解。
动态语言其实就是一个不断添加 bookkeeping 的过程。
比如说,C++ 中为了实现多态还是不得不有一个中间机制,这就是虚表。但是你很难说虚表就是一个 bookkeeping 结构。因为它太简单了。而 Objective-C 就大大增加了对成员函数调用的 bookkeeping 机制。因为如此,所以 Objective-C 对 action-message 的实现就简单多了,因为你可以判断一个成员函数是否存在。而且也可以在不确定对象类型的情况下,指定一个方法作为回调函数。
C++ 的另一个问题,内存管理,根本原因在于其对象引用采用 raw pointer 机制。Objective-C 并没有改善这一点。但是也并非全无改善,在 Objective-C 里,一个 pointer 几乎永远必须指向 NSObject,而这个东西是有引用基数的。当然,它并没有完全解决 over-release 或者 use-after-release 的问题。到了 Java,Python,Lua 这样的语言,raw pointer 就完全消失了。
而 C++ 的内存管理,除了 heap 就只有一个借助 CPU stack 管理的栈。在动态语言里,就要考虑 lexical scope 的表现,这就需要更多的 bookkeeping。这点 Objective-C 也并没有实现。
语法的处理,在 C++ 中是完全在 runtime 之前进行。而在 Python,Lisp,Lua 这样的语言中是有 eval 这样的机制存在的。
所以,Objective-C 是比 C 和 C++ 拥有更多动态特性,而比 Lua,Lisp 缺乏一些动态特性的语言。至于题目中进行比较的 Python,也只能说是个更少缺乏动态特性的语言。Python 缺乏 lexical scope,也缺乏对 continuation 的支持。它的 stack 借助 CPU stack(当然有一个 stackless-Python,不过非官方),相比之下,Lua 为了支持 coroutine,Lisp 为了 full-continuation,都是自行维护 VM stack 的。Python 的 bookkeeping 与 Lua 和 Lisp 比起来也是不够的。
1、脚本语言:一般是掺杂在其他应用中的专用程序方式,比如flash需要AC脚本,网页中有时需要调用局部功能的javascript脚本,一般不需要较大的平台支持,完成的功能也比较有限,所以,脚本语言是一些开发者对这类程序的描述。
脚本语言,脚本语言或扩建的语言,又叫动态语言。脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。脚本语言是一种解释性的语言,脚本语言一般都是以文本形式存在,类似于一种命令
2、编程语言:以项目为开发的主导语言,比如:C#、JAVA、C++等,可以直接进行整个项目的开发,语言复杂,而且,逻辑性强,标准化强等为主要特点,需要较长时间的学习与运行方能掌握与使用
3动态编程语言
Dynamic Programming Language (动态语言或动态编程语言) 动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。
以上就是关于什么是动态语言和静态语言全部的内容,包括:什么是动态语言和静态语言、什么是动态脚本、网络流行语pike等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)