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

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

Python vs PHP vs Ruby

数据显示:

  • 市场对 PHP 的需求很高
  • PHP 的可用性低
  • Python 易于学习和理解
  • Python 运算快
  • Ruby 较难学
  • Ruby 的可用性高

哪种语言最“不安全”?

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

三种语言的局限性

PHP

  • 由 C/C++ 和 Perl 衍生出更详尽的语法,带有 },$ 和 -> 等符号
  • PHP 内置库的命名约定多种多样,很难记住
  • 不适合开发桌面应用程序,难以维护
  • 错误处理机制历来很差劲

Python

  • Python 没有 'switch' 语句和 'do ... while' 构造
  • 类和方法都没有 abstract 和 final 修饰符
  • 数据库访问层方面有限制
  • 在处理多处理器/多核心工作方面其实不是很好
  • 运行速度慢

Ruby

  • 很难学会
  • 缺少信息资源
  • 相比其他编程语言,处理时间(CPU时间)比较长
  • 开发和更新比较慢

各自的优势

PHP

  • 容易上手,尤其适合有 C++,C#,Java,JavaScript 等开发背景的开发者。
  • 可以部署到大多数网站服务器上,如 Apache,Microsoft IIS,Netscape,个人网络服务器,iPlanet 服务器等。
  • 适用于几乎每一种操作系统和平台
  • 提供大量的可用扩展和源代码
  • 可快速开发任何类型的 CMS
  • 主要开发框架:Zend,Yii,Laravel,Codeigniter 等

Python

  • 简单易学,适合编程初学者学习
  • 提供了快速原型和动态语义功能
  • 面向对象编程驱动型
  • 可在多个系统和平台上运行
  • 主要开发框架:Django 和 Flask 等。

Ruby

  • 纯粹的 OOP(面向对象编程)
  • 拥有一套整洁、简易的语法,让新开发人员很容易上手
  • 用 Ruby 编写的可扩展程序很容易维护
  • 超丰富的字符串和文本处理技术/方法
  • 能够用一套简单的 API 编写多线程的应用程序
  • Ruby 基本框架是 Rails。

结语

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

  • PHP 和 Python 更适合新手学习
  • PHP 是用于编写 HTML 页面的最佳语言
  • Python 是一种通用编程语言,可用于构建从 Web 应用程序、爬虫程序、守护进程到桌面 GUI 应 用程序等
  • Ruby 最擅长快速构建数据实体的 Web 应用程序,它能让你更专注于特别功能,而不是插入、更新和删除这些查询操作。
作者:达尔文
来源:51CTO

Python vs PHP vs Ruby —— 编程语言大对决相关推荐

  1. Python、Lua和Ruby比较——脚本语言大P.K.

    译者按:Python.lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生.在Tom Gutschmidt的著作<Game Programmng w ...

  2. Perl、PHP、Python、Java和Ruby的比较(来自知乎)

    ◆ 语言的发展趋势一定是动静结合.刚柔并济 ◆ Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯 ◆ 或许优雅正是来自对细节和规范的重视 ◆ (RoR)与Ruby结合之后,便如 ...

  3. python语言发展历时_编程语言十年发展史

    原标题:编程语言十年发展史 作者 | Cabe Atwell 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 过去十年,编程语言发生了很大的变化,随着互联网大时代的迈进, ...

  4. python是什么类型的编程语言-python是什么编程语言

    一.python是什么编程语言 编程语言主要从以下几个角度为进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言,每个分类代表什么意思呢? 1.1.编译型与解释型 编译器:是把 ...

  5. 30岁学python有前途吗-为什么做大数据一定要学Python?

    随着"大数据""云计算""人工智能"等等科技的兴起,IT行业在今后三到五年将会迎来一个高速发展期.这也就意味着会出现大量的人才缺口,尤其是具 ...

  6. 比较Perl、PHP、Python、Java和Ruby

    !预览 · 语言的发展趋势一定是动静结合.刚柔并济 · Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯 · 或许优雅正是来自对细节和规范的重视 · (RoR)与Ruby结合之 ...

  7. 黑客用python还是ruby-python和ruby,我选谁?

    最近在考虑学习一门后端语言,在ruby和python直接犹豫,然后自己做了一些对比,希望能帮到有同样问题的你. 一.异同对比选择 1.Python和ruby的相同点: •都强调语法简单,都具有更一般的 ...

  8. javapython区别最全整理终极收藏_Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】...

    从本文的内容上,写的时间比较早,而且有些术语我认为也不太准,有点口语化,但是意思到了. 问题: Perl.Python.Ruby 和 PHP 各自有何特点? 为什么动态语言多作为轻量级的解决方案? L ...

  9. Perl、PHP、Python、Java和Ruby的比较

    提问 ◆ Perl.Python.Ruby和PHP各自有何特点? ◆ 为什么动态语言多作为轻量级的解决方案? ◆ LAMP为什么受欢迎? ◆ Ruby on Rails为什么会流行? ◆ 编程语言的发 ...

最新文章

  1. Redux 的黑魔法
  2. 【c++】25.事件驱动的详解
  3. Go http client 连接池不复用的问题
  4. Mac上最好的Markdown文本编辑器_编辑工具
  5. 阅读react-redux源码(四) - connectAdvanced、wrapWithConnect、ConnectFunction和checkForUpdates
  6. 我们究竟还要学习哪些Android知识?附赠课程+题库
  7. 【转】C# 彻底搞懂async/await
  8. 7个你可能不知道的风险预警指标
  9. 东风小康为什么是dfsk_重庆造乘用车首次乘坐专列出口欧洲 100辆东风风光ix5抵达德国...
  10. LightOJ 1258 Making Huge Palindromes(KMP)
  11. JSF配置文件faces-config.xml参数详解
  12. python 多线程 入门
  13. 电脑模拟收银机_机场收银模拟器下载
  14. java 打印 线程_java线程状态和获取线程基本信息
  15. C#开发工控上位机编程 csdn_C#联合WINCC之数据通信
  16. MySql必知必会学习
  17. 关于java中的连等赋值问题(雷惊风)
  18. [百家号]铁流:华为Hi1620发布 自研内核还是ARM改?
  19. Android 5.1.1 源码目录结构说明
  20. 【知识图谱】通俗易懂的知识图谱技术

热门文章

  1. C#中is vs as 1
  2. 阿里巴巴合伙人闻佳:创新背后的文化与组织
  3. SSDTShadow Hook的实现,完整代码。可编译
  4. 更改数据库的兼容模式
  5. 中国光伏新增装机容量猛增
  6. vc编译器编译linux平台拷贝的源码问题
  7. win7桌面便签。自带的
  8. 找工作的迷茫期开始了
  9. spring 随笔(一) bean Dependency Injection
  10. java volatile有什么用_深入解析Java中volatile关键字的作用