php vs ruby,Python vs PHP vs Ruby —— 编程语言大对决

原标题:Python vs PHP vs Ruby —— 编程语言大对决

#点击图片,报名参加厦门、福州源创会#

编程语言种类繁多,每种语言都有它们的独特的优势。开发者在对编程语言的进行选择时往往很讲究。因此,这篇文章将从各个角度对 PHP、Ruby、Python 三种当前比较流行的语言的优势和劣势进行对比,希望你能从中受益。

在进入主题之前,我想分享一些数据,这是我刚学习 Web 开发时候看到的,虽然内容不够新,但能为三类语言的比较提供依据。

Python vs PHP vs Ruby

e5e0200dd10fe062b4a3204ca73c9f3d.png

数据显示:

● 市场对 PHP 的需求很高

● PHP 的可用性低

● Python 易于学习和理解

● Python 运算快

● Ruby 较难学

● Ruby 的可用性高

哪种语言最“不安全”?

网站/应用程序的安全性主要取决于程序员,而不是编程语言。PHP 被普遍认为不安全,因为 PHP 的语法不像 Python 或 Ruby 的语法那么简单。我们知道,语法越复杂,可读性越低,错误发生的几率越大。因此,就这一点说,PHP 最容易出错。

三种语言的局限性

PHP:

● 由 C/C++ 和 Perl 衍生出更详尽的语法,带有 },$ 和 -> 等符号

● PHP 内置库的命名约定多种多样,很难记住

● 不适合开发桌面应用程序,难以维护

● PHP 是弱类型语言,它的隐式转换可能导致意想不到的错误

● PHP 是脚本语言,不面向对象

Python:

● Python 没有 'switch' 语句和 'do ... while' 构造

● 类和方法都没有 abstract 和 final 修饰符

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

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

● 运行速度慢

Ruby:

● 很难学会

● 缺少信息资源

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

● 开发和更新比较慢

各自的优势

PHP:

● 容易上手,尤其适合有 C++,C#,Java,Java 等开发背景的开发者。

● 可以部署到大多数网站服务器上,如 Apache,Microsoft IIS,Netscape,个人网络服务器,iPlanet 服务器等。

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

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

● 可快速开发任何类型的 CMS

● 主要开发框架:Zend,Yii,Laravel,Codeigniter 等

Python:

● 简单易学,适合编程初学者学习

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

● 面向对象编程驱动型

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

● 主要开发框架:Django 和 Flask 等。

Ruby:

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

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

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

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

● Ruby 代码块比 Python 的 lambda 代码块更强大

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

● Ruby 基本框架是 Rails。

结语

总之,这三种语言各有各的利弊,总结一下就是:

● PHP 和 Python 更适合新手学习

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

● Python 是一种通用编程语言,可用于构建从 Web 应用程序、爬虫程序、守护进程到桌面 GUI 应 用程序等

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

编译自:Python vs PHP vs Ruby: A Detailed Comparison

推荐阅读

点击“阅读原文”查看更多精彩内容返回搜狐,查看更多

责任编辑:

rubyPHP的高性能体现在以下几个方面: 1.页面缓存。页面缓存指之前加载过的页面以文件方式缓存在服务器中,在一段时间内再次加载相同页面时无需重新执行页面逻辑直接加载静态页面。rubyPHP的页面缓存是自动进行的,在config/tpl.php中可配置是否启用缓存以及缓存文件的有效期。当然这仅仅是全局设置,在调用视图时可重新指定是否启用缓存以及缓存有效期。 2.SQL缓存。sql缓存指之前执行过的查询sql语句以及他的结果缓存在内存中,在一段时间内用相同的sql语句执行查询操作时不经过数据库直接返回内存中数据。rubyPHP使用Redis以键值方式缓存sql语句以及他的对应结果。rubyPHP能够在php7上完美运行。(附:关于windows php7 redis 扩展的下载参照我的另一篇博客:http://blog.csdn.net/fanghailiang2016/article/details/51396649)。rubyPHP重写了mysql_query以及mongo_query方法,在执行查询sql查询语句时会优先加载未过期的缓存数据。与页面缓存类似,sql缓存的全局配置路径为config/redis.php,在具体执行sql语句前可重新执行是否使用缓存以及缓存有效期。 3.读写分离。读写分离是建立在主从同步基础上为了减轻服务器压力,将查询语句转移到从服务器上执行的解决方案。rubyPHP重写了mysql_query,mongo_query函数,除了对查询语句进行内存级缓存的优化,同时也将查询语句放到了从服务器上执行。mysql的主从配置文件路径为config/mysql.php
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值