我们将剖析它们是如何事情的,它们彼此有何不同,谁在利用它们,以及每种措辞受欢迎的程度。
一、 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
雅虎
谷歌
美国宇航局
万维网同盟(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】