CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  脚本语言(Perl ,Python)

动态语言究竟动在哪里了?

楼主0412Rainbow(彩虹)2005-08-12 19:16:26 在 其他开发语言 / 脚本语言(Perl ,Python) 提问

没用过也没学过,所以问问大家这个问题,希望能得到答案,谢谢~ 问题点数:100、回复次数:16Top

1 楼xyzxyz1111(程序员的自我修养)回复于 2005-08-13 11:30:57 得分 10

动态类型  
  先用用,又没什么代价,干吗不用?Top

2 楼jefflei0204(玉蝴蝶)回复于 2005-08-17 09:50:35 得分 15

动态语言其实就是一种在执行期间才去发现数据类型的语言,与静态类型定义相反。VBScript    
  和Python是动态类型定义的,因为它们是在第一次给一个变量赋值的时候找出它的类型的。和它相对应的就是静态语言如java和c,服务器端一般用动态语言写,使用服务器控件;客户端可以使用任何一种支持客户端的脚本。  
  Top

3 楼fibbery(飞)(睡足了才能提高效率)回复于 2005-08-18 10:31:52 得分 5

严格与松散  
  有规矩和没规矩  
  相对来说Top

4 楼steedhorse(晨星)回复于 2005-08-19 09:08:12 得分 10

动态语言中变量的类型不需要在源文件中明确指定,它不是在编译时就能完全确定的,也不是永远不变的。Top

5 楼yeyuboy(海绵)回复于 2005-08-23 17:19:23 得分 5

建议楼上几位先GOOGLE一下,也可以看看去年的《程序序》合订本。Top

6 楼liuhaimiao()回复于 2005-08-24 13:37:17 得分 15

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

7 楼liuhaimiao()回复于 2005-08-24 13:45:03 得分 15

有三个名词容易混淆:  
   
  Dynamic   Programming   Language   (动态语言或动态编程语言)    
  Dynamically   Typed   Language   (动态类型语言)    
  Statically   Typed   Language   (静态类型语言)  
  FantasySoft在他文章中所提到的动态语言与静态语言实际上指的就是动态类型语言与静态类型语言。  
   
  动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。  
   
  所谓的动态类型语言,意思就是类型的检查是在运行时做的,比如如下代码是不是合法的要到运行时才判断(注意是运行时的类型判断):  
   
  def   sum(a,   b):    
        return   a   +   b    
     
  而静态类型语言的类型判断是在运行前判断(如编译阶段),比如C#就是一个静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic   typing,常出现于脚本语言中。(idior不知道这能不能回答你对动态语言多态的疑问^_^)  
   
  这里我需要明确说明一点,那就是,是不是动态类型语言与这门语言是不是类型安全的完全不相干的,不要将它们联系在一起!  
   
  静态类型语言的主要优点在于其结构非常规范,便于调试,方便类型安全;缺点是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了。动态类型语言的优点在于方便阅读,不需要写非常多的类型相关的代码;缺点自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。顺便说一下,现在有这样一种趋势,那就是合并动态类型与静态类型在一种语言中,这样可以在必要的时候取长补短,Boo就是一个很好的试验性例子。^_^  
   
  最后说一下Boo,Boo是一个静态类型语言,虽然用duck   typing可以模拟dynamic   typing,但是duck并不支持所有类型的操作替代,所以即使完全使用duck   typing也不能达到dynamic   typing。就像FantasySoft所述,Type   Inference不是动态类型语言的特性,所以支持Type   Inference不代表这门语言就是dynamically   typed。  
   
  再特地为Ninputer这个VB的fans说一下VB.NET^_^,VB.NET是dynamically   typed语言。  
  Top

8 楼Lin0s(派森)回复于 2005-08-30 11:44:08 得分 5

顶一下楼上Top

9 楼steedhorse(晨星)回复于 2005-08-30 12:45:08 得分 5

帮楼上顶他的楼上。^_^Top

10 楼0412Rainbow(彩虹)回复于 2005-09-18 10:50:27 得分 0

再顶一下先,来者有分~Top

11 楼diver123(孤星冷月)回复于 2005-09-18 21:33:26 得分 5

在web   方面python与C#     java比有那些好那些差?Top

12 楼aspbasicer(我什么都想学~~)回复于 2005-09-25 19:16:21 得分 0

最喜欢的就是可以动态生成你想要运行的代码,而不是写死的Top

13 楼0412Rainbow(彩虹)回复于 2005-09-26 16:23:11 得分 0

python适合做c/s   程序吗?Top

14 楼guokan8686( 郭 侃 )回复于 2005-10-07 09:15:46 得分 5

python   做   c/s   很好  
   
  服务器端   :   python   &   ice  
  中间层   :   ice  
  客户端   :   pythonTop

15 楼steel007(小宝)(工作在windows和linux平台上)回复于 2005-10-07 12:51:57 得分 5

动态类型,动态结构,可以拥有很好的开发效率。Top

16 楼0412Rainbow(彩虹)回复于 2005-10-08 17:52:00 得分 0

guokan8686(郭   侃)   有好的案例吗?给介绍一个~多谢~~~~~Top

相关问题

  • 何为动态语言?
  • 1、如何在 C#语言中调用 VC语言的静态程序库和动态程序库。2、如何有效地保护C#语言的源代码不被反编译锥形。3、在哪里可以找到一些关于
  • JSP中如何动态生成SQL语言?
  • 用sql语言如何动态的创建一张表?
  • 关于select 语言动态加参数,急,在线等
  • C语言指针问题和动态内存分配问题
  • 在c语言里如何实现动态大小的数组
  • 有关c语言的动态存储分配函数
  • 在Tornado2.02+VxWorks环境下的C语言动态数组问题
  • 制作一个动态网页选择什么语言好?

关键词

  • c#
  • c++
  • vb.net
  • 语言
  • 函数
  • 代码
  • 结构
  • python
  • 服务器
  • 客户

得分解答快速导航

  • 帖主:0412Rainbow
  • xyzxyz1111
  • jefflei0204
  • fibbery
  • steedhorse
  • yeyuboy
  • liuhaimiao
  • liuhaimiao
  • Lin0s
  • steedhorse
  • diver123
  • guokan8686
  • steel007

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo