ruby特点,ruby和java

  ruby特点,ruby和java

  python和ruby的相似之处:都强调简单的语法,有更通用的表达式。Python是缩进的,ruby是类似basic的表达式。符号大大减少了。

  都是动态数据类型。有丰富的数据结构。

  它们都具有C语言的可扩展性和可移植性,比perl更好。也可以作为嵌入式语言使用。

  都是面向对象的语言,可以作为大型项目的开发工具。

  拥有丰富的库支持。

  还有最宽松的版权许可,除了部分工具属于GNU世界。

  所有具有lisp特征的eval函数也可以将函数作为参数。

  还有一个专门的ruby编辑器,带有图形界面。

  所有这些都得到广泛的C库的支持。如qt,gtk,tk,SDL,FOX等。ruby计划实现SWIG接口(已经实现)。

  有完善的文件。

  与python相比,ruby的优势在于:

  它具有正则表达式和嵌入html的功能。Python也有正则表达式,但是没有ruby方便和广泛。Python的嵌入式html项目刚刚起步。还有ruby apache的mod模块。Ruby本身也实现了和很多unix工具,比如racc和doctools。比python更接近linux。

  比python更完整的面向对象语法。

  Ruby的整个库是一个具有类继承的结构。

  它的基本数据类型和操作符可以重载。

  ruby的主要功能是通过调用对象的方法来实现的,而不是函数。Python也在朝这个方向发展,但不如ruby彻底。

  Ruby的类是更标准化的单一继承,有接口等概念的实现。

  Python可以实现列表中的条件语句和循环语句,而ruby使用“block”来实现这个功能,比python的更加灵活和通用。

  Ruby有条件语句,循环语句等。类似于lisp的彻底函数化方式。语句的表达能力更强。

  附带一些unix工具,比如racc。

  ruby与python相比的劣势:

  最大的不足是ruby的实力造成的。它不像python那么简单。复杂的面向对象语法,“块”语法的引入,正则表达式和一些速记标记都增加了语言的复杂性。

  Python的缩进表达式比ruby的基本表达式更讨人喜欢,ruby满眼的结尾让人不舒服。当然,ruby认为end的方式比python更高级。

  Ruby还不具备python的“自省”能力,也不具备从程序文件生成文档的能力。

  Ruby没有国际化支持。ruby的计划中支持国际化。这是因为ruby的历史比python短。

  Ruby没有jython那样的东西(JRuby有)。

  python和ruby语言的选择:

  从简单到好,选择python是对的。Python适合寻找简单语言的人,这大概是python更受欢迎的原因,所以它有更多的支持。但如果你想追求更强大的语法功能,ruby是个不错的选择。因为ruby和python的哲学有很多相似之处,所以让我们从python开始,尝试使用python。如果python能力不足,可以找ruby。

  ruby和python的比较就像吴彼和拼音输入法的比较。拼音作为入门级输入法和长期输入法都没有问题。五支笔适合要求更高的。如果你追求性能,不妨学习ruby。我对编程语言很感兴趣,想了解各种编程概念,学ruby会很兴奋。

  从三个方面:

  1.它们适用于哪些应用?

  2.开发环境和运行环境

  3.移植性怎么样,因为项目最终计划移植到手机平台,比如windows CE Symbina。

  现在粗略整理一些研究,比较Python和Ruby。

  1.适用的应用场合。

  搜索结果似乎对两种语言都给出了不错的评价,在网络开发方面的表现都很不错。非常适合快速应用开发,开发效率非常高。

  Python:

  摘录了与项目相关的一些应用描述。

  跨平台开发:

  Python以中立的方式支持一系列不同的平台。如果用户的系统包含不同的平台,最好使用Python开发应用。它的适应性还可以为系统保留使用其他工具的可能性。Python是经常更换平台的用户的理想选择。

  当向最终用户提供软件服务时,Python也是一种选择,它可以避免同时使用不同的应用程序编程的时间和费用。

  互联网编程

  Python的标准模块可以在主层和协议层与网络插槽通信。例如,如果您想从POP服务器读取电子邮件,Python的库模块可以做到这一点。此外,Python还支持XML、HTML和CGI库文件,因此它可以分析用户的输入需求,并通过web服务器产生最佳质量的结果。

  程序员也可以用Python内置的解释器为Apache、Unix和Windows web服务器编译模块。基于CGI程序的功效,Python语句无需单独加载就能轻松执行。

  有一本python网络编程的好书:《python网络编程基础》。

  本书全面介绍了使用Python语言进行网络编程的基础知识,包括网络基础知识、高级网络操作、Web服务、解析HTML和XHTML、XML、电子邮件服务、FTP、使用Python进行数据库操作、SSL、几种服务器端框架(包括Socket Server、SimpleXMLRPCServer、CGI和mod_python)、多任务(包括Forking、threading和异步通信)。这本书很实用,提供了大约175个例子,6600多行代码。是帮助读者全面快速学习Python语言和编写网络程序的最佳实践。

  红宝石:

  一个强大的、面向对象的脚本语言可以让你很容易地进行面向对象的编程。有时候,使用Smalltalk、Eiffel或者C这样的正式面向对象语言来开发一些小项目似乎有点‘小题大做’,而Ruby正好可以满足这些面向对象的编程需求。当然,你也可以使用Ruby进行普通的面向过程的编程。

  Ruby支持许多网络协议,无论是高级的还是低级的。Ruby提供了一些基础类,让你可以使用TCP、UDP、SOCKS等多种协议进行交互,而不是拘泥于网络层。这些类还提供了辅助类,以便您可以轻松地读写服务器。网络编程也很不错。

  2.开发环境和运行环境

  Python:

  相比之下,没有强大的集成开发环境。有人说开源软件比收费的好用。

  再用几个:

  Python自身的空闲:

  在python的IDE中不是最好的.

  PythonWin:

  用起来非常得心应手(像用Windows一样舒服)。它有一个易于使用的编辑器,包括代码合并、语法标记突出显示和代码自动完成。Python和一些ide一样,不包含任何类型的表单设计器;但是它提供了一个优秀的调试器,具有监视、代码检查、交互式调试窗口、断点以及调试器应该具有的其他功能。最重要的是,PythonWin是稳定的,虽然有时候在Win95r2系统上使用会奇怪地“停止响应”。在界面上,PythonWin相对简单,但非常吸引人,很好地利用了可嵌入和可停靠的元素(我更喜欢Idle风格的 many windows everywhere ,这也是很多其他ide所采用的)。Win还将ActiveState的HtmlHelp版本的Python文档与PythonCOM集成在一起。

  Eclipse pydev插件,eclipse pydev

  Pydev基于Eclipse,一个很棒的Python环境,提升速度非常快。提供的一些功能

  UliPad:

  一个编辑器,你可以用它来进行你的文档编写和编程开发。它是用Python编程语言开发的,用户界面基于wxPython。除了一般编辑器的常用功能之外,它主要想实现一个方便灵活的框架,让开发者可以方便地开发新的功能。而且有编程经验的用户还可以编写插件来处理日常工作中的特殊问题,使其与日常工作紧密结合。由于Python是一种功能强大的编程语言,您可以轻松修改该软件以满足自己的需求。

  UliPad支持代码着色、智能补全、代码调试、Python类浏览、代码片段、Ftp函数、目录浏览等强大功能。其Doc目录下的文档非常丰富,是你写Python的不二帮手!

  系统要求:

  python 2.4

  wxPython 2.6

  最终我们选择了UliPad,还是挺不错的。

  红宝石:

  Ruby有一个优秀的高级调试器。

  可以使用netbeans的ruby插件,也可以使用eclipse的ruby插件。

  在Eclipse下安装开发环境的一般过程:

  2.将Eclipse平台运行时二进制压缩包解压缩到一个目录中。

  3.将Ruby开发工具压缩包的内容解压到Eclipse的相应目录下。

  运行环境可以在其官网下载相应版本,然后安装。windows下的安装相对简单。双击运行安装它。

  3.轻便

  Python:

  由于其开源的特性,Python已经被移植到许多平台上(经过修改使其可以在不同的平台上工作)。如果您小心地避免使用依赖于系统的特性,那么您的所有Python程序都可以在以下任何平台上运行,而无需修改。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至Pocket。

  当Python被执行时。py文件首先会被编译成Python字节码,然后Python虚拟机会执行这些编译好的字节码。这种机制的基本思想与Java和。网。但是,Python虚拟机不同于Java或。NET虚拟机中的那个Python虚拟机是比较高级的虚拟机。这里的高级不是通常意义上的高级,不是说Python的虚拟机比Java或者。NET,但Python的虚拟机比Java或。网。或者可以说Python的虚拟机是一个抽象层次更高的虚拟机。

  你可以安装一个面向对象的解释性计算机编程语言,这也是一个强大而完善的通用语言。有十几年的历史,成熟稳定。Python拥有脚本语言中最丰富、最强大的类库,足以支持大多数日常应用。Symbina智能手机上用C和JAVA开发的两种程序,安装Python后,也可以支持很多用Python开发的程序。对于普通手机用户,我们不需要了解太多,只需要安装Python这个平台,就可以让我们的手机支持更多用Python开发的程序。目前Symbian手机上有不少Python开发的程序,都相当实用。

  红宝石:

  它大部分是在Linux上开发的,但它可以在许多类型的UNIX、DOS、Windows 95/98/ME/NT/2000/XP、Mac OS、BeOS、OS/2和其他系统上运行。

  关于ruby和手机开发的资料很少,在windows CE上运行的版本也有,但是相关资料好像还是很少,安装失败和编译失败的例子很多。日语页面上有一些日语介绍。

  然后在一个朋友的建议下,Python和Ruby给出了以下建议。我要感谢他:

  1.Python也被称为一种清晰的语言。因为它的作者设计它的时候,总的指导思想是,解决一个具体问题,只有一个最好的方法。Python是一门清晰语言的另一层含义是,它的作者故意设计了一套非常严格的语法,让不良的编程习惯(比如if语句的下一行不向右缩进)无法编译。这有意迫使程序员养成良好的编程习惯。Python在其他部分的设计上也坚持清晰统一的风格,这使得Python成为一门易读、易维护、受大量用户欢迎、应用广泛的语言。几个人用Python写的同一个问题的代码会非常相似。但是Ruby的设计思路不一样,它写的程序太灵活,不同的人可能写的不一样。

  2.Ruby英文文档极其匮乏,更不用说中文文档了。Python社区比较成熟,素材很多。

  如何查看电脑配置历史中提交的图片或压缩文件?

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: