PHP、Ruby、Python:三种编程语言谁最强?

时间:2022-11-03 07:01:32 | 浏览:6843

【51CTO.com快译】在本文中,我们将逐一介绍目前人气较高的三种编程语言:PHP、Ruby和Python。我们将分析它们是如何工作的,它们彼此有何不同,谁在使用它们,以及每种语言受欢迎的程度。一、 PHP:互联网上最受欢迎的脚本语言PH

【51CTO.com快译】在本文中,我们将逐一介绍目前人气较高的三种编程语言:PHP、Ruby和Python。

我们将分析它们是如何工作的,它们彼此有何不同,谁在使用它们,以及每种语言受欢迎的程度。

一、 PHP:互联网上最受欢迎的脚本语言

PHP(超文本预处理器语言)是由Rasmus Lerdorf设计的一种基于服务器端脚本解释语言,因为开发效率高、灵活、学习成本低,所以常被用于创建动态的交互式网站,当然除了网站以为,还可以用它来实现APP的API接口开发,一些简单的服务程序开发,尤其是当SWOOLE诞生之后,很多PHP开发者就用这个来开发服务程序。

WordPress是用PHP开发的一个非常流行的博客平台,我们可以使用它来快速实现我们的网站,同时还可以使用它来实现一些基于CMS的网站系统,当然如果你对PHP和WordPress感兴趣,可以参考课程(http://rockingcode.com/);你只需要认真的学习9个小时后,就能学会如何从零开始将一个网站,设计成一个响应式扁平式的WordPress网站。

据维基百科声称,截至2013年1月,PHP已安装在超过2.4亿个网站(其中39%抽样)和210万台网站服务器上。

(1)PHP的优点

  • 采用PHP许可证发布的免费软件

  • 容易上手(学习曲线短而平)

  • 由广大用户和开发人员组成的庞大社区

  • 提供了广泛的数据库支持

  • 提供大量的可用扩展和源代码

  • 允许在受限制环境下执行代码

  • 提供原生会话管理和扩展API

  • 对微软的ASP(动态服务器页面)等与之竞争的语言而言,是个不错的替代选择

  • 可以部署到大多数网站服务器上

  • 适用于几乎每一种操作系统和平台

(2)PHP的缺点

  • 不适合开发桌面应用程序

  • 错误处理机制历来很差劲

  • 全局配置参数会改变语言语义,给部署和可移植性带来了复杂性

  • 对象在默认情况下值调用(CallByValue),这与大多数语言恰好相反,这让许多程序员猝不及防

  • 通常被认为不如其他编程语言来得安全可靠

(3)谁在使用PHP?

  • Zend

  • 雅虎

  • Facebook

  • 谷歌

  • 美国宇航局

  • 万维网联盟(W3C)

(4)受欢迎程度

据维基百科声称,截至2013年1月,PHP已安装在超过2.4亿个网站(其中39%抽样)和210万台网站服务器上。

(5)语法

PHP脚本由< ?php开始,以?>结束。PHP文件的默认文件扩展名是“.php”。PHP文件通常含有HTML标记和一些PHP脚本代码。

<?php// PHP code goes here?>


二、Python:通用编程语言

Python是一种广泛使用的高级语言(但它也用于一系列广泛的非脚本语言),以便程序员用行数较少的代码就能表达概念。它是在上世纪80年代末提出来的,由Guido van Rossum开发。

就跟所有脚本语言一样,Python代码酷似伪代码。这种编程语言具有优雅的设计和语法规则,这让它即便在拥有多个程序员的开发团队中也具有相当强的可读性。它支持构建计算机程序的结构和元素的多种方法,包括面向对象编程和函数式编程。

(1)Python的优点

  • 简单易学

  • 可在多个系统和平台上运行

  • 易读、条理化的语法

  • 提供了快速原型和动态语义功能

  • 出色的社区支持

  • 通过测试和导入关键函数,易于构建应用程序

  • 通过认真实施程序包和模块,获得可重用性

  • 面向对象编程驱动型

(2)Python的缺点

  • 它在处理多处理器/多核心工作方面其实不是很好

  • 相比Java等其他语言,Python开发人员群体比较小

  • 缺少商业支持机构,即便对开源项目而言也是如此(不过这种情况在变化)

  • 数据库访问层方面有限制

  • 众所周知,运行速度不如Java等语言

(3)谁在使用Python?

  • 雅虎地图

  • Zope公司

  • Linux Weekly News

  • Shopzilla

  • Ultraseek

(4)受欢迎程度

据维基百科声称,自2008年以来,Python屡屡跻身于TIOBE编程社区指数评选的八大最受欢迎的编程语言。它是语法并非主要基于C的受欢迎程度排在第三位的语言。

(5)语法

调用解释器而不将脚本文件作为参数来传递可调出下列提示符:

$ pythonPython2.4.3(#1,Nov112010,13:34:43)[GCC4.1.220080704(RedHat4.1.2-48)]on linux2Type<"help<",<"copyright<",<"credits<"or<"license<"formore information.<><><>

将同一文本输入到Python提示符的右边,按回车键,会输出文本:

<><><>print <"Put some text here!<";

(6)岗位需求

据Jobs Tractor网站在过去12个月分析在推特上广告的45000多个开发岗位的情况来看,结果如下:

  • PHP – 8238

  • Ruby – 2937

  • Python – 1587

虽然PHP在这个网站上仍拥有最大的统计数字,切忌别将这种统计数字作为学习或使用一种编程语言的参考依据。


三、Ruby:解释型的、纯粹的面向对象编程语言

Ruby(编程语言)经常与Ruby on Rails(或简称rails)在一起,后者是一种开源全栈Web应用程序框架。它是一种动态、命令式的面向对象编程语言,由日本的松本行弘(Yukihiro Matsumoto)开发。这种语言受到了Perl、Eiffel和Smalltalk的影响。它有动态类型系统和自动内存管理功能。

(1)Ruby的优点

  • 和PHP一样是开源的

  • 适用于多个平台

  • 可以嵌入到超文本标记语言(HTML)中

  • 一种甚高级语言(VHLL)

  • 提供了将数据方法封装在对象里面的功能

  • 纯粹的OOP(面向对象编程)

  • 超丰富的字符串和文本处理技术/方法

  • 很容易连接DB2、MySQL、Oracle和Sybase等数据库

  • 用Ruby编写的可扩展程序很容易维护

  • 拥有一套整洁、简易的语法,让新开发人员很容易上手

  • 能够用一套简单的API编写多线程的应用程序

  • 提供了高级的数组类

  • 能够用Ruby或C编写外部扩展库

  • 允许“保留字”用作标识符,只要解析器并不觉得有歧义,但是不太建议这样做。

  • 更好的安全功能

  • 它有调试器

  • 它有灵活的语法

  • 功能强大的字符串处理机制

(2)Ruby的缺点

  • 很难学会

  • 缺少信息资源

  • 相比其他编程语言,处理时间(CPU时间)比较长

  • 开发和更新比较慢

(3)谁在使用Ruby?

  • Google Sketchup

  • 37signals

  • GitHub

  • Shopify

  • Indiegogo

  • Basecamp

(4)受欢迎程度

据Ruby官方网站声称,Ruby跻身于全球十大最受欢迎的编程语言排行榜(比如TIOBE指数)。其迅猛发展主要归功于用Ruby编写的软件大行其道,尤其是Ruby on Rails Web框架。

(5)语法

所有Ruby文件都会有扩展名“.rb”。使用/usr/bin目录下的Ruby解释器,你就可以运行Ruby代码。

#!/usr/bin/ruby -wputs"Put something here";

学习一种新的编程语言很费时间,也很乏味。.Net开发人员会跳出来说“我为啥要学?我是专业的.Net开发人员,平日的工作让我没时间来学习一种新的编程语言。”

但实则不然。你可以从新的编程语言当中学到许多知识,如果它们对其他经过优化的语言加以完善,更是如此。Ruby就是这样一种语言。我同样认为,由某种编程语言方面的开发新手变成专业人员确实不易,但你会感谢这番经历。现在我只想告诉大家:如果你坚持使用Ruby,那么不会吃亏。乐观些!

(6)Ruby是什么?

如上所述,Ruby是一种完善的语言,它结合了众多编程语言的思想和方法。Ruby出色地融合了Python易于理解的流程、Smalltalk的优雅性和Perl简单易学的语法风格,同时也是一种高级的面向对象编程语言(如今的大多数编程语言都是如此),它是在上世纪90年代中期出现在日本的,现在Ruby已逐渐开始在欧美也更流行起来。

Ruby以动态类型系统和自动内存管理著称。我说的动态类型是指,Ruby程序中的大多数类型检查是在运行时执行的,这意味着你没必要为整数和字符串类型而操心。Ruby会为你做这项工作。我们会在后面的一个简短例子中深入探讨这个话题。

推出Ruby的基本目的是让人们很容易了解代码与机器交互。Ruby之父松本行弘坚持认为,设计Ruby的初衷是提高程序员的工作效率,而不是优化机器。

(7)Rails是什么?

Rails是用Ruby编写的一种极其高效的应用程序框架,由David Heinemeier Hansson开发。据说,相比用基于Java的应用程序框架来开发,用Rails开发的Web应用程序其速度要快十倍。Rails是基于Ruby的开源框架,它可用于快速的数据库集成。

Rails以打破常规的概念著称,因此避免了约定,采用了一种动态编程结构。应用程序的基本代码和更新后的数据库始终含有Rails从头到尾执行程序所需要的一切。

一个基本的Ruby程序

看看输入这段代码会有怎样的结果:

代码:

personal = “I don’t love my girlfriend” puts personal

输出:

I don’t love my girlfriend

这实际上会将结果打印输出到控制台。没有初始化、分号和主要方法。

现在,不妨看一下我们要翻转字符串时PHP与Ruby在编程方面的简单区别:

PHP:

strrev(“string”); Ruby: “string”.reverse

哇!你的字符串马上就会翻转。看一下用这两种编程语言来实现的难易程度。基于Ruby的编程语言让你很容易编写程序。它更像用英语来编写,而不是用编码语言来编写。它是编程语言的未来。

(8)Ruby(和Rails)的优点

我知道Ruby这个世界很大,我连皮毛都未触及,一篇小小博文根本不足以探究Ruby的世界。因此,我们不妨直接介绍Ruby的优点:

  • 优雅――正如我在前面指出,这个优点正是Ruby的强项。作为一种编程语言,Ruby超优雅,几乎就像英语。正是由于类似英语的这个优点,新手也很容易上手Ruby,不必害怕。

  • 简洁而强大――上面的例子本身就解释了Ruby代码有多简洁。代码尽可能简短。另外,Ruby与其他任何语言一样强大,因为它是面向对象的高级编程语言,就像其他新潮的编程语言那样。

  • 从不重新发明轮子――Rails(Ruby)是一种编程接口,它根本不会让你重新发明轮子。它生成的代码可反复地重复使用。

  • 内置测试――Rails以用具(harness)和示例数据(fixture)著称,它们充当支持代码,因而让程序员更容易编写测试用例。另外,Rails创建简单的测试桩模块(test stub),这些桩模块可以由程序员来扩展。

  • 开发、测试和生产环境――Rails巧妙地在三个不同的环境(即开发环境、测试环境和生产环境)下启动你的项目。这三个环境用起来彼此略有不同,各自补充原始的软件开发生命周期。

(9)展示时间

现在,不妨看一下几个使用Ruby来实现的总体比较优秀的网站(其实是知名网站)。你会看到设计人员如何借助Ruby在众多网站中脱颖而出。

A List Apart

Basecamp

CrunchBase

Github

四、那么,哪种是我该使用和学习的最佳编程语言?

你从大多数程序员会听到的答案是“你用它们都可以处理各项任务。”它们都是不错的选择。没有好坏之分。这总是取决于你想完成什么样的任务。

如果你迈出一步学习一种编程语言,那么很可能会使用内置框架来用于你的项目。基本上来说,Web框架让你更容易开发应用程序。大多数网站都有一系列共同的功能(比如处理会话和数据验证),框架可以防止你每当创建网站时重写这部分内容。

如果你已经有了深入了解,PHP有几种CMS框架可供使用。最流行的PHP内容管理系统(CMS)是WordPress、Joomla和Drupal,大多数有丰富的插件。你可以轻松编写新的CMS,只需要耐心地看完几天的教程。

还有其他相当好的框架,但是使用流行框架提高了迅速找到支持或找到所需插件的可能性。就Python而言,有Django和CherryPy这两种Web框架,它们为你提供了相当不错的工具包。

如果你选择了Ruby,你认为你受到的限制性会大一点(因为这种语言比较新),但其基本框架是Rails。你还需要考虑哪种语言提供最出色的支持,那样万一你在代码方面遇到了问题,可以迅速找到答案。

  • PHP是用于编写HTML页面的最佳语言。

  • Python是一种通用编程语言。它可以用于构建从Web应用程序、爬虫程序、守护进程到桌面GUI应用程序的几乎一切程序。

  • Ruby最擅长快速构建数据实体的Web应用程序,那样你可以专注于特别功能,而不是插入、更新和删除这些查询操作。

就是这样。但愿你已大致了解了要学哪种编程语言。

原文标题:The Three Programming Languages in a Nutshell

文章审核人:回忆的翅膀

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

相关资讯

离婚协议中的这笔费用能“缩水”吗?

上海一中院经审理认为,本案的争议焦点是袁亮应支付的抚养费标准是多少,以及一审法院将离婚协议中约定的每月抚养费7000元调整为5000元依据是否充分。上海一中院遂驳回袁亮上诉请求,判决袁亮补付抚养费18万元,并改判袁亮自2020年12月起支付小浩抚养费7000元,至小浩18周岁止。

民政部:离婚冷静期实施以来减少很多冲动型离婚

据国家医疗保障局网站消息,新冠病毒核酸检测是疫情防控的重要手段,今年1月份各省集中下调公立医院核酸检测的政府指导价,单人单检从每人份120元以上降至80元左右。截至9月16日,已有广东、湖北、上海、天津、河北等共计30个省份下调公立医院新冠病毒核酸检测价格,绝大多数省份将单人单检价格降至每人份60元或更低水平,10人混检价格降至每人份15元或更低水平。

三门峡湖滨区法院签发离婚冷静期通知书

利用离婚冷静期,对夫妻之间的婚姻危机,通过调解和好的方式结案,改变了过去通行的对初次离婚诉讼案件,被告坚决不同意离婚,在无法定离婚情形时,径行判决驳回原告诉讼请求的简单做法。湖滨区法院在家事审判方式和工作机制改革试点中,积极尝试推行离婚冷静期的做法,具体分为案件审理中和结案后两个阶段,审理中一般为7至15天,结案后一般为三个月,可根据案件实际情况适当延长一次。

出轨者要离婚?法院判赔精神损害赔偿6万元

被告闫女士辩称,其同意离婚及分割夫妻共同财产,但要求黄先生支付其精神损害赔偿金10万元,理由是黄先生在婚姻关系存续期间,与多人存在婚外情并同居的行为。虽无直接证据证明黄先生已构成与他人同居,但该行为是对夫妻忠诚义务的严重违反,足以对夫妻关系中无过错方造成心理和精神上的损害,黄先生对此存在重大过错,因此,闫女士要求精神损害赔偿的诉讼请求应当予以支持。

平山法院利用在线调解平台调解一件离婚纠纷案

人民法院报记者丁力辛摄  近日,河北省平山县人民法院西柏坡人民法庭利用“‘冀’时调”在线调解平台调解一件离婚纠纷案,在河北法院视察的部分全国人大代表旁听了调解。“‘冀’时调”在线调解平台于2020年7月在河北全省启用,法官利用网络视频调解纠纷,当事人通过微信接受调解,当事人不出家门就可解决纠纷。

为了“折翼的小天使”

近日,江西省宜春市袁州区人民法院慈化法庭充分发挥家事审判职能作用,结合“我为群众办实事”主题实践活动和“人民法庭解民忧”活动,运用多元化纠纷解决机制,通过能动司法,妥善调处了一起父母不愿抚养残疾未成年女儿的离婚纠纷案。

故意逃避生效刑事裁判财产性判项 履行的调解协议内容应予撤销

裁判要旨  当事人在未履行生效刑事裁判财产性判项的情况下,以达成调解协议的方式处分其个人所有的财产,导致该生效刑事裁判财产性判项无法得到履行,明显侵害了国家利益,违背了诚实信用原则,违反了法律规定,应予撤销。

山西左权法院巡回调解离婚纠纷案

法官结合当事人实际情况,对离婚问题进行调解,双方均表示同意离婚。随后,法官就子女抚养权归属和财产分割问题征求双方意见,提出解决方案,双方均表示认可,并在调解协议上签字。为积极践行“我为群众办实事”实践活动,近日,山西省左权县人民法院法官来到粟城乡柏管寺村,巡回调解一起离婚纠纷案。

北票法院依法处罚三名哄闹法庭女子

日前,北票法院第二审判庭正在开庭审理一起离婚纠纷案件。庭审进行到被告答辩时,旁听人员于某甲先与旁听人员杨某在审判庭内发生言语冲突。审判员口头警告双方注意法庭纪律后,于某甲仍不理会,继续与杨某争吵。审判员指令司法警察将于某甲和杨某带离法庭,旁听人员于某甲的妹妹于某乙随后也离开审判庭。

法官提示:为购房“假离婚”存在真风险

她主张,韩先生名下的三居室虽然是办理“离婚”后韩先生以个人名义购买并办理贷款手续,但首付款是两人共同支付,贷款也是共同偿还,因此房子应属于两人共同财产。因此,法院无法采信蒋女士所述情况,无法支持她要求分割前夫韩先生离婚后所购三居室房屋的主张。

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控丽江旅游网桂林三花酒友网长沙新闻资讯网丰胸食谱大全三亚婚纱摄影网高端全屋定制官网罗姓宝宝起名网云服务器技术网鹰潭新闻资讯网宝宝起名字澳门旅游网少儿培训学习网威士忌品牌网茂名新闻爆料网大健康项目网宁德时代A股福建旅游网钦州新闻头条网今日宿州瘦身减肥训练营睡眠健康知识网姿佳女性健康官网贵金属行情网虎宝宝名字测算网装修装潢资讯网SEO优化知识网元宇宙资讯网风再起时电影网今日南阳体育资讯网
昭通新闻头条网-云南今日头条新闻、昭通新闻头条最新消息、最近昭通新闻、昭通旅游景点推荐、昭通旅游景点大全、昭通人才网招聘信息网、昭通人才网官网入口、昭通人才市场最新招聘、昭通天气预报、昭通房价走势最新消息。
昭通新闻头条网 meibanla.cn©2022-2028版权所有