`
robbin
  • 浏览: 4841175 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:138234
社区版块
存档分类
最新评论

我的PHP,Python和Ruby之路

    博客分类:
  • Tech
阅读更多
因为看到一篇讨论PHP,Python和Ruby的编程语言讨论贴,就说说我的PHP,Python和Ruby之路吧:

我2000-2001年用PHP用了两年,那还是第一次互联网泡沫时期,到2001年后期,Servlet/JSP流行,然后我就发现:你说用PHP写的东西,都会被人鄙视。当时我们其实也用Java了,只不过用Java写后端的消息队列。

2001年后期泡沫破灭,我跑去做企业应用,就主要写Java写了很多年,中间2003年开始做JavaEye网站,到2006年用Rails重写JavaEye之前的3年,用的是phpbb搭建的,所以PHP也断断续续一直用到了2006年。

以我2000-2006年总共六年多的使用体验来说,我对PHP真的是深恶痛绝之,但凡做一个稍微大一点的系统,代码就很容易失控。2002年以后,我曾经一度以为PHP这个东西快死掉了,那个时候大家都言必称J2EE和.net了。结果Web2.0之风袭来,大家又发现J2EE太重,PHP又死灰复燃了,我其实很诧异现在PHP居然又变得如此流行。从技术上来讲,PHP是个很烂的东西,但它门槛低,易部署,普及率高,好找人,实在是互联网时代的VB,打不死的小强。

Python我大概是04-05年迷恋了一年左右,研究过Zope,plone,后来还看过wxPython,曾经一度想用Python写JavaEye网站。记得04年Rails出来之后,还很长一段时间被我深深鄙视过。

但后来我去杭州拜访potian,被他的Rails实践经验说服了,之后我和他以及其他人在JavaEye上面有一个很长的讨论贴,讨论Rails的运行机制,最后我又被他说服了。然后我还不死心,研究和比较了Rails和Django,不得不死心了,后来还曾经几次想用Python,每次都死心的很彻底,现在就彻底不考虑Python了。

就算你不用Rails,作为一个程序员,我也强烈建议你学习一下Ruby,仅仅因为可以开拓你的思维就很值得了。因为Ruby的语法很强大很好玩,是现代语言版本的smalltalk,算是很原汁原味的面向对象编程语言,你学习了Ruby以后,你就会发现,原来Java/C++所谓的面向对象就是TMD的山寨版本的面向对象,原来面向对象还可以这样玩阿。

PHP用一句话来总结就是: quick and dirty
Python用一句话来总结就是:quick and clean, but not convenient for web development
Ruby用一句话来总结就是:code for fun and quick for web

补充一下吧:为什么我当初用Rails来写JavaEye网站:

在选择用什么工具开发JavaEye网站的时候,唯一的指导标准就是:用最少的人力,最少的时间开发JavaEye网站,并且后期维护和持续升级,乃至重写的时候,代价最小。

首先排除Java和C#,代码太多太麻烦;
其次排除PHP,项目一大,代码一多,代码的管理很成问题,PHP缺乏一个起码的包管理机制;

当时重点考察Python和Ruby,因为有豆瓣的先例,开始很倾向于Python,而且我那个时候对Python比较熟悉,还曾经痴迷过一段时间的wxPython,对Zope和plone也有一些研究。

但后来比较了Rails和Django之后,就倾向于Rails了,差距实在太大了,而且当时Django很不成熟,在很早期的版本。其实即便现在Django和Rails的差距也没有缩小过。

但让我最终下定决心的是potian在05年就大规模使用Rails的实际工程经验,我曾经去杭州就我比较质疑的问题当面请教过他,和他谈过以后,就决定用Rails了。

应该说,我当初用Rails的决定很英明!

现在JavaEye网站正在招聘Ruby程序员,请有志于Ruby领域的程序员和我联系。
51
30
分享到:
评论
11 楼 orcl_zhang 2011-03-21  
liuzhiqiangruc 写道
PHP为啥会失控?是语法的问题还是其他的?Ruby为什么好?是因为语法的优势?

DSL能力,所向披靡。
10 楼 jiorry 2011-03-21  
呵呵,只要是web开发,我还是使用php。
rails 直接被废,原因有二:
1. 升级成本太大(不升级,自己心里又痒痒,纠结!!!)。
2. 不能全面掌握rails,有很多编程潜在风险。(出现过内存泄露问题,很难排查)
3. 改造 扩展 rails 的学习成本很大。(我是尽量不使用插件的。因为生产环境中,一旦出了问题,不好解决。)

9 楼 hellolaojiang 2011-03-21  
我承认,在我接触rails的第一天就被迷住,到今天也无法自拔。
8 楼 yuan 2011-03-21  
hideto 写道
坐等众多语言拥护者出来骂娘。。。

你那篇搜索排名太靠前了,哈哈。
7 楼 hideto 2011-03-21  
坐等众多语言拥护者出来骂娘。。。
6 楼 hustcen 2011-03-21  
抽时间去学下Ruby
5 楼 auzll 2011-03-21  
其实语言都是工具吧,啥更适合业务场景就用啥呗。 在JavaEye上看到有人说过,语言什么的都是浮云,还是银子来的实在~ (原话我忘记了,大概是这个意思)
4 楼 liuzhiqiangruc 2011-03-21  
PHP为啥会失控?是语法的问题还是其他的?Ruby为什么好?是因为语法的优势?
3 楼 Arden 2011-03-21  
现在技术又发展了这么多年,跟几年前完全不一样了,java有play,python有tornado,flask,pylons,javascript有nodejs/express,就将来来说我更看好coffescript的nodejs.
2 楼 ejacky 2011-03-21  
自学python的在校生,学习python的初因是它是gae首先支持的语言 。ruby没接触过 ,看完范老师的博客,觉得值得尝试一下。
1 楼 shher 2011-03-21  
robbin 大哥,你的帐号被盗了吗,怎么会写这样的文章??

相关推荐

    PHP、Python、Ruby的(数据库、文件)比较(原创)

    本篇文章将深入探讨三种流行的脚本语言——PHP、Python和Ruby在处理数据库和文件操作方面的差异与特点,以帮助开发者更好地理解它们各自的优势。 首先,PHP(Hypertext Preprocessor)是一种广泛用于Web开发的语言...

    为什么你一定要学习Python或Ruby语言.pdf

    Python和Ruby是两种强大的、高效且易学的编程语言,它们在现代软件开发中扮演着重要的角色。本文将探讨为什么学习Python或Ruby对于程序员来说是必要的,并与一些常见的编程语言进行对比。 首先,Python和Ruby相比C/...

    PHP、Python、Ruby的(数据库、文件)比较(原创).pdf

    在编程世界中,PHP、Python和Ruby都是广泛使用的脚本语言,尤其在Web开发领域。它们各自具有独特的特性和优势,特别是在处理数据库和文件操作时。以下是对这三种语言在数据库和文件操作方面的一些比较。 首先,我们...

    学编程选什么语言好?是php、python还是ruby.doc

    目前在业界,PHP、Python和Ruby都是较为流行的编程语言,它们各自有独特的优势和应用场景。在决定学习哪一门语言之前,需要考虑个人的职业规划、学习目标以及对编程的兴趣等多方面因素。 1. PHP(Hypertext ...

    每个程序员都应该学习使用Python或Ruby

    尽管C、C++、Java等经典编程语言依然是主流,但Python和Ruby因其简洁、易学、开发效率高等特点,在业界受到了越来越多的关注。本文将探讨为何Python和Ruby对程序员如此重要,以及它们与其他编程语言相比的优势所在。...

    C基于gRPC C Python Ruby ObjectiveC PHP C.zip

    Python作为gRPC支持的语言之一,得益于其简洁的语法和强大的社区支持,成为快速原型设计和生产环境部署的优选语言。通过gRPC,Python开发者能够轻松地与使用其他支持语言编写的微服务进行交互,无论是对于跨团队的...

    The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#).zip

    The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

    基于 C 的 gRPC(C++、Python、Ruby、Objective-C、PHP、C#).zip

    基于 C 的 gRPC(C++、Python、Ruby、Objective-C、PHP、C#)gRPC – 一个 RPC 库和框架gRPC 是一个现代的、开源的、高性能的远程过程调用 (RPC) 框架,可以在任何地方运行。gRPC 使客户端和服务器应用程序能够透明...

    appium 示例代码(dotnet、java、node、perl、php、python、ruby 等).zip

    Appium支持多种编程语言环境,包括Java、Node.js、Python、Ruby、PHP、C# (DotNet)以及Perl。这些语言可以用来编写测试脚本,实现自动化测试功能。 具体来说,Appium是一个开源的、跨平台的自动化工具,它的设计...

    Python安装包和安装教程.pdf

    与 Java、PHP、C# 和 Ruby 等语言相比,Python 具有许多优点,使其成为开发者的首选语言。下面是 Python 安装包和安装教程的详细信息。 Python 的优点 1. 简单易学:Python 的语法简单易学,易于初学者上手。 2. ...

    学编程选什么语言好?是PHP、Python还是Ruby?

    在互联网上,关于初学者应该选择哪种编程语言的讨论非常热烈,常见的选择有PHP、Python和Ruby。以下是对这三种语言的深入分析以及它们在实际应用中的优劣比较。 首先,PHP是一种广泛使用的服务器端脚本语言,尤其在...

    生产规模的数据中心分析器CC Go Rust Python Java NodeJS PHP Ruby Perl.zip

    这个压缩包文件"生产规模的数据中心分析器CC Go Rust Python Java NodeJS PHP Ruby Perl.zip"包含了多种编程语言实现的数据中心分析器组件,这表明该工具可能支持跨平台和多语言集成。以下是对这些编程语言在数据...

    Ansible角色,以capistrano风格部署脚本应用程序,例如PHP,Python,Ruby等-Python开发

    Ansistrano ansistrano.deploy和ansistrano.rollback是Ansible角色,可轻松管理脚本编写应用程序(如PHP,Python和Ruby)的部署过程。 这是Capistrano的Ansible端口。 Ansistrano Ansistrano ansistrano.deploy和...

    基于 C 的 gRPC(C++、Python、Ruby、Objective-C、PHP、C#)

    gRPC – 一个 RPC 库和框架 gRPC 是一个现代的、开源的、高性能的远程过程调用 (RPC) 框架,可以在任何地方运行。gRPC 使客户端和服务器应用程序能够透明地通信,并简化了连接系统的构建。 为了最大限度地提高可用...

    基于Python的Web技术

    LAMP 是一种流行的 Web 开发平台,由 Linux、Apache、MySQL 和 PHP、Perl、Python 或 Ruby 等脚本语言组成。LAMP 具有开放灵活、开发迅速、部署方便、高可配置、安全可靠、成本低廉等优点,是目前最流行的 Web 开发...

    完全用Python工作---Harness the power of Python

    Python的优势在于其通用性,它可以替代C、C++、Java、Ruby等语言的部分功能,并在许多方面表现出更高的效率和便利性。例如,C语言需要处理复杂的内存管理和指针操作,而Python通过自动内存管理简化了这一过程;C++的...

    python学习源码和开发应用技术

    - **PHP、Python、Ruby的(数据库、文件)比较(原创)**:通过对三种语言在处理数据库和文件操作方面的对比,为读者提供了一种横向比较的视角,有助于理解不同语言的特点和适用场景。 - **python_win32api操作**:专门...

    我的vim配置和插件 小型 python php IDE

    【标题】:“我的vim配置和插件 小型 python php IDE” 【正文】: Vim,全称Vi IMproved,是一款高度可定制且功能强大的文本编辑器,尤其受到程序员们的喜爱。它允许用户通过配置.vimrc文件来个性化编辑器的行为...

    精选的大数据框架、资源和其他精彩内容列表 受到awesome-php, awesome-python, awesome-ruby, hadoopecosystemtable和大数据的启发

    精选的大数据框架、资源和其他精彩内容列表。受到awesome-php, awesome-python, awesome-ruby, hadoopecosystemtable和大数据的启发。

Global site tag (gtag.js) - Google Analytics