



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于编程语言之间异同的详细分析(厦门html培训总结)静态语言 vs. 动态语言当我们说到动态语言时,这个“动态”实际上说的是变量类型。使用动态语言编写程序的时候,可以声明一个变量,在程序运行的过程中又可以改变这个变量的类型。与动态语言相对的是静态语言,或者叫强类型语言。比如C+和Java就是强类型的语言,而JavaScript,PHP和Perl是动态类型的语言。在C+中,声明变量的时候必须同时指定变量的类型。厦门博看文思指出,在程序运行的过程中,如果试图去改变这个变量的类型,编译器就会报错。这在Java中也是一样。但是JavaScript不一样,在JavaScript程序运行过程中可以改变变量的类型。事实上,在声明变量的时候就不需要指定这个变量的类型,在使用变量的时候,可以先把一个整数赋值给这个变量,然后又用一个字符串覆盖这个整数,这在动态类型的语言中都是允许的。尽管动态语言在最近才大行其道,可实际上这个概念在50年前就已经提出来了。函数式语言随着动态语言的发展,人们对函数式语言的兴趣也越来越大。在函数式语言中,函数本身可以被存储在变量中,存储在变量中的函数又可以作为参数传递给另外的函数。现在的大多数语言都在一定程度上支持函数式编程。比如说C+,C+允许程序员将指针传递给函数。JavaScript等一些语言使函数的传递变得更加容易。所以,一般认为C+不是一个真正意义上的函数式语言,而认为JavaScript是函数式语言,而Haskell一般被认为是函数式语言的绝佳示例。垃圾*机制理论上来说,只要你正确书写代码,你就不会有任何bugs。这听起来很美好。可实际上,当你和许多其他程序员合作完成一个大项目时,有一个bug会经常出现,这就是内存泄露。你定义了一个变量,使用完这个变量之后却没有及时*这部分内存,这时我们就说发生了内存泄露。如果发生了内存泄露又没有及时发现,随着程序运行时间的增加,程序越来越大,直到消耗完系统的所有内存,然后系统崩溃。sounds terrible!你可能会说,每次使用变量之后及时释放内存,内存泄露不就不会发生了?想法是好的,可实际情况可能比这要复杂的多。比如说,你申请了一个链表来存储数据,这个链表被传递到另外一个函数,这个函数是别人编写的,在别人编写的这个函数中,将这个链表复制了一份,但是你并不知道,你说是应该删除这个链表还是继续保留?基于这种情况,程序员们想到了一个变通的办法:将内存*的工作交给系统来做。当你不再使用某个变量,系统通过扫描内存找到这个不再使用的内存,然后主动*,这就叫做垃圾*机制。对新开发出来的语言来说,这是一个非常重要的特征。垃圾*背后的思想是使编程更加容易,从而让程序员将精力放在创造伟大的软件之上。需要说明的是,确实存在几种不同的垃圾*机制:一种是系统定期扫描内存,发现那些不再使用的内存;另外一种是系统为每一个变量保留一个tab,一旦发现变量不再使用,马上删除之。从技术上来说,后者并不是一种垃圾*机制,而是“引用计数”,但是达到的效果是一致的。虚拟机当Java在20世纪90年代中期横空出世的时候,人们对它不是直接将代码编译成汇编语言这一点十分在意。厦门博看文思指出,和C+相反,Java在编译的时候先把程序编译成一个叫字节码的中间代码。在运行的时候,系统调用虚拟机执行字节码,有时候甚至只是将字节码编译成汇编代码。这种编译方式刚刚出来的时候,程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子商务师高级考试试题及解析与答案
- 2025年交通安全问答试题及答案
- 2025年轨道交通调度员(技师)职业技能鉴定考试题库及答案(浓缩50题)
- 2025注册验船师资格考试(B级船舶检验法律法规)模拟试题及答案一
- 桃花源记课件深圳
- 陕西省四校联考2026届化学高一第一学期期中调研试题含解析
- 桃源消防知识培训讲座课件
- 2025年数据中心运营岗位竞聘面试技巧与答案
- 公务员干部面试题及答案
- 2025年电商运营招聘面试模拟题及应对策略指南
- 卷扬工安全知识培训内容课件
- 2025年度泸州老窖白酒线上线下全渠道销售代理协议
- 教职工开学安全知识培训课件
- 2025至2030年中国焦炉气制LNG市场竞争格局及行业投资前景预测报告
- 2025年公路交通水运三类人员试题及答案
- 2025年河北省初中学业水平考试历史试题(含答案)
- 2025年甘肃省公职招录考试(省情时政)历年参考题库含答案详解(5套)
- 期末必考题检测卷(三)(含答案)高一数学下学期人教A版必修第二册
- 2025年江苏公务员遴选考试公文写作试卷(附答案)
- 2025年度以新质生产力助推高质量发展等继续教育公需科目试题及答案
- 2025年技师安全考试题库
评论
0/150
提交评论