php、python和ruby都适合做web开发,对于web开发初学者来说,最大的问题就是学习哪种编程语言更适合未来的职业发展并且更有前景。要选择一门适合自己的语言,首先你要考虑php、python和ruby各自的优缺点是什么、他们的学习周期有多长等问题。很多人比较关心“python和php哪个好学”,ruby和python哪个好?。互联网上也有很多文章,比如“php已死”、“php学习曲线”、“如何用好python”等。小编今天和大家探讨一下在python,php和ruby之中,应该优先学习哪种编程语言?
开课通知:《第10期php线上培训班》正在报名中!
在php,python和ruby的对比中,很明显:市场对php的需求最高、python是最容易学习和理解的、ruby学习起来比较困难。单凭这些简单对比,没有办法知道哪种语言最好,我们还应该考虑一些其他问题,比如:
一.先来了解下这些语言
php
php(外文名:php: hypertext preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了c语言、java和perl的特点,利于学习,使用广泛,主要适用于web开发领域。php 独特的语法混合了c、java、perl以及php自创的语法。它可以比cgi或者perl更快速地执行动态网页。用php做出的动态页面与其他的编程语言相比,php是将程序嵌入到html(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成html标记的cgi要高许多;php还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。(php教程推荐:最值得推荐的10个php教程)
python
python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人guido van rossum于1989年发明,第一个公开发行版发行于1991年。python是纯粹的自由软件, 源代码和解释器cpython遵循 gpl(gnu general public license)协议 。python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是c/c++)很轻松地联结在一起。(python教程全集)
ruby
ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(yukihiro matsumoto)开发,遵守gpl协议和ruby license。它的灵感与特性来自于 perl、smalltalk、eiffel、ada以及 lisp 语言。由 ruby 语言本身还发展出了jruby(java平台)、ironruby(.net平台)等其他平台的 ruby 语言替代品。ruby的作者于1993年2月24日开始编写ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为perl发音与6月诞生石pearl(珍珠)相同,因此ruby以7月诞生石ruby(红宝石)命名。(ruby教程全集)
二、哪种语言是最安全的?
首先纠正误区:安全问题不是主要问题。网站和应用程序的安全性主要取决于程序员本身,而不是编程语言。php、python和ruby在各大知名网站上都有应用,比如知乎用的是python,淘宝用的是php,你能说哪个更安全吗?因此,在安全问题上没有真正的结论。
三、这些语言的缺点是什么?
php:
1、比c/c ++和perl更详细的语法,带有大量花括号和美元符号以及“ - >”
2、函数名称容易混淆。内置库有各种各样的命名约定,函数通常有前缀来表示它们的源(但通常大家都不会这么做),函数通常放置在类中以模拟命名空间。
3、不适合大型应用开发,很难维护,因为它不是很模块化。
4、weak类型:隐式转换可能会使不熟悉的程序员感到惊讶,并导致意想不到的错误。 例如,字符串“1000”和“1e3”看起来是相等的,因为它们被隐式地转换为浮点数。
5、php是一种脚本语言,而不是面向对象。
python:
1、python没有'switch'语句和'do ... while'语句。
2、递增递减和赋值运算符(赋值语句只在python中有效)。
3、三元运算符/语句(...?...:...)。
4、所有变量和函数没有私有,受保护或公有的定义。
5、类和方法没有abstract和final修饰符。
ruby:
1、学习ruby很困难。
2、缺少信息资源。
3、与其他编程语言相比,处理时间(cpu时间)更慢。
4、开发和更新速度较慢。
四、这些语言的优点是什么?
php:
1、初学者容易上手(学习曲线短而平)。如果开发人员有类似的语法学习背景,如c,c ++,c#,java,javascript等。
2、它支持所有主流的web服务器,如apache,microsoft iis,netscape,个人web服务器,iplanet服务器等。
3、php被许多行业广泛接受,它比其他语言更受欢迎。
4、在托管时,很容易直接托管php网站,无需任何服务器配置。但是,托管php网站可能会让新手感到头痛。
5、php中的zend框架是最知名的。再比如yii,laravel,codeigniter等框架都给予了php更强的实力。
6、可快速开发任何类型的cms。
python:
1、语法简洁,非常易读。·
2、通用语言。
3、面向对象。
4、python更适合作为“glue”。
5、huge标准库。选择一些随机的例子,python都会附带几个xml解析器,csv和zip文件读取器和写入器,可以使用几乎所有互联网协议和数据类型的库。
6、高级数据结构是一个列表,该目录非常适合python。
7、用于web开发大型框架,如django和flask。
ruby:
1、与python和php相比,ruby是一种更面向对象的语言。
2、ruby可以使开发人员的工作更轻松。
mix-ins允许导入的类和模块在导入后被用户代码扩展和覆盖。
3、ruby代码块比python的lambda代码块更强大。
任何操作都可以返回值(包括类似'if'语句)。编写函数类代码比python更容易。
4、ruby的ruby库让每个任务都很容易,只需几个步骤就可以实现。
5、ruby在web开发中的强大之处在于其有条理的框架。实际开发中,你不必担心一些基本功能,如简单的编辑器删除等功能。
6、ruby可以给予程序员更大的自由和权力。
五、开发人员就业率和平均工资是多少?
这是一个非常主观的问题,答案并不唯一。php的开发人员数量最多,这导致开发人员平均薪水比较低。然而,这并不意味着所有php开发人员的薪水都很低,有些高级开发人员的薪水非常高。python和ruby程序员也有一些稳定的工作机会,因为与php相比,这两种语言的开发人员较少,但相应地市场需求也比较低。(2017招聘季:高端php人才薪资待遇如何?)
对于web开发,php、python和ruby相信你应该知道该选哪个了!
总体结论:
1、初学者学习php和python更容易。
2、php目前更好就业。
3、php对中小型网站比较好用。
4、python是最好的通用语言。
5、python(django)和ruby(rails)的框架比其他web开发框架更受欢迎。
【相关推荐】
php未来发展前景怎么样?学php有没有前途?
2017年python语言未来发展前景展望