- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《脚本编程语言
脚本编程语言 陈光 信息与通信工程学院 TIOBE 2013年9月编程语言排行榜 2013年Github热门语言排行 Rank Language # Repositories 1 JavaScript 264131 2 Ruby 218812 3 Java 157618 4 PHP 114384 5 Python 95002 6 C++ 78327 7 C 67706 8 Objective-C 36344 9 C# 32170 10 Shell 28561 网络服务框架 脚本编程语言 脚本编程语言通常是解释执行(interpreted )而非编译执行(compiled) 即写即运行方便快速开发与修改 易于掌握,支持高级结构(structures )和库(libraries) 很多开发需要的基本工作都已经完成并集成在各类开发库中 高级结构如列表、字典可以大大提高开发效率 脚本编程语言 Python综合了编译执行、解释执行两种方式 在类似编译的环节将源码转换成字节码(Byte Code) 由解释器执行字节码 相对纯解释型的运行方式效率更高 脚本编程语言 脚本语言的特点 脚本语言通常具有以下特点: 动态语言特性(Dynamic Language) 内存管理自动化 可编译运行于虚拟机 可嵌入 可使用C或C++进行扩展 跨平台 批处理(Batch)或交互(Interactive)执行均可 一切以开发效率为中心 脚本语言让你开发速度更快 相比其他语言,需要的代码量更少 强大的缺省类型 强大的动态类型(运行时进行类型检查) 大量、完善的标准库 程序的开发产能优于运行效能 编程语言中的“瑞士军刀” 脚本语言的用途 开发小工具 用于连接各种语言的程序(胶水Glue) 开发易扩展、开放架构的大型软件 …… 动态语言(Dynamic Language) 程序在运行时可以改变其结构 新的函数可以被引进 已有的函数可以被删除等在结构上的变化 JavaScript,Ruby,Python等也都属于动态语言 C、C++等语言则不属于动态语言 动态语言(Dynamic Language) 动态语言——Python为例 列表和字典已经是语言句法的一部分 动态语言——Python为例 列表处理融入语言本身 动态语言——Python为例 隐式的迭代处理 动态语言——Python为例 用一行语句改变多个变量 动态语言——Python为例 变量类型不固定,可随时改变 动态语言——Python为例 一切皆对象——数字 动态语言——Python为例 一切皆对象——列表 动态语言——Python为例 一切皆对象——函数 内存管理自动化 自动化的内存管理根据需要自动控制内存的申请与释放(garbage collection) 对象可根据需要自动扩展和收缩 标准库 可扩展的标准库 操作系统无关的文件与路径访问 数据持久化 XML,JSON,CSV等格式解析 各种网络协议 操作系统无关的图形界面 …… 大比拼——Python vs. Java Hello World! 大比拼——Python vs. Java 文件访问 大比拼——Python vs. Java 在列表中插入与读取 大比拼——Python vs. Java 将一组数字写入文件 胶水语言(Glue code) 用来 连接 软件组件 的 程序设计 语言 胶水语言(Glue code) 软件开发经常需要集成多个库(libraries) 项目特有代码 特定的处理库(processing libraries) 通信库 数据存储库 图形界面库 胶水语言(Glue code) 大多流行的库都有Python, Ruby, Lua, Perl等语言的绑定(binding) Sqlite, MySql, Berkeley DB ? 数据库访问 wxWindow, QT, GTK ? 图形界面 Numpy, Scipy ? 数学与线性代数 Simple Direct Media Layer ? 多媒体处理 Ogre3D ? 三维图像引擎 Cairo ? 二维图像引擎 …… 胶水语言(Glue code) 一种快速开发跨平台软件的方法 ? 使用脚本语言粘合各种开发库 连接各类程序的同时传递和处理数据 脚本语言的简洁、动态性非常适合作胶水语言 快速原型开发(Prototyping) 不错的性能(大多数绑定都基于C或C++) 胶水语言(Glue code) 此方式开发的成功案例 Python ? DropBox, Civilization IV, Mercurial, Django, Blender, BitTorrent Ruby ? Ruby On Rails, Google Sketchup Erlang ? Wings
原创力文档


文档评论(0)