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

我的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
分享到:
评论
51 楼 clem 2013-01-24  
xieye 写道
robbin 写道

项目一大,代码一多,代码的管理很成问题,PHP缺乏一个起码的包管理机制;


我承认看不懂,新的php版本有包管理机制,不过就算没有也没觉得有什么难管理的,可以考虑按pear或zend的类命名机制

简单而强大,这是我对php的感觉。

修改类似phpbb这样的框架,然后构建网站,我从来没做过这样的事,大概1个多月我就做了一个论坛,自己开发就可以了。

你做的论坛和phpbb是一个概念吗?phpbb是专业论坛,你一个月做的,除了你自己,谁敢用?
开源强在哪里?就是社区,没有社区,开源屁都不是,linux在技术上面不知道被windows甩多少条大街,什么东西都自己写,要开源的东西干嘛,php是你自己写的吗?
楼主写这篇文章主要还是为了SEO,稍微有点水平的人都不会对几种语言的比较长篇大论,楼主自己做站的,ruby用用无所谓,但是如果帮别人做站的,别人会认同ruby吗?web方面,ruby能做的,php都能做,稍微丑了一点,但是市场占有率上,ruby和python捆起来都达不到php的一半,尤其是在中国,谁听说过阿。所以综合来讲,php仍然是web开发的王者。
50 楼 freespace 2012-05-16  
whzlong 写道
robbin能不能告诉我在不能联网的情况下,怎样用rails创建一个新的项目,
因为机子不能很好的联网,建项目时总是死在Bundle intstall 这里,这个命令主要是
从网上取些什么东西呢

可能是被伟大的墙给挡了。
49 楼 xtay850 2012-05-15  
写的很好,这正是我想要看的。
48 楼 whzlong 2012-04-23  
robbin能不能告诉我在不能联网的情况下,怎样用rails创建一个新的项目,
因为机子不能很好的联网,建项目时总是死在Bundle intstall 这里,这个命令主要是
从网上取些什么东西呢
47 楼 bruce.lu 2011-11-06  
smartfish9 写道
不太认同robbin对PHP的看法,比如robbin认为PHP凌乱,不够优雅,这在过去是成立的,并且由于历史原因,现在大量的开源PHP程序还是给人这种感觉。但是在良好支持面向对象的php5发布之后,并伴随着PHP程序规模的扩大,这些基本成为历史,现在一个全新的PHP项目如果还是凌乱不堪的话,那只能是程序员的水平问题,而非其它。
robbin还是用若干年前的眼光来看PHP了。

同意smartfish。 感触比较深得是CI(PHP 的一个轻量级框架)的Active Record Class。
46 楼 eto222 2011-11-01  
fantasybei 写道
其实你们都没有看到重点,重点是最后一句
"现在JavaEye网站正在招聘Ruby程序员,请有志于Ruby领域的程序员和我联系。"

同意
45 楼 freespace 2011-08-05  
php的drupal架构很不错,这么大的项目,机构也很清晰,没有robbin的“项目一大,代码一多,代码的管理很成问题”的问题。
44 楼 coolesting 2011-06-30  
我做了几年php, 属于后期的phper, 和作者说的php有一定的出入, 后期的php作品中, drupal算是优秀, 我对他的研究, 并开发自己的CMF,  在此过程中借鉴python的优点,
无意发现这ruby, 虽然很早听过ROR, 但对ruby的语法和他的独特感到新鲜, 我再也回不去php了, 现在我正努力学习ruby, 把php上的CMF移植过来。  但听说rails很强悍, 就不知道这个强悍是什么一个概念。  在开发大型项目之下, php的确缺失综合型的管理应用。

 
43 楼 vb2005xu 2011-06-12  
用rails 做应用 成本预算太大,除了MAC机 基本就没有好的 开发IDE 从去年开始接触Rails 期间也接了几个私单 使用rails做的 说白了 没有感觉比使用fleaphp/qeephp 快多少

如果加上IDE的话 绝对比不上 php开发速度...

我都是拿 NOTDPAD++ 来写 ... 有点郁闷 特别是调试的时候...

必须看源代码 ... 这点

不过相对来讲 比 ptython的turbogears 要好的太多

我之前拿turbogears给人开发过一个应用 现在每次修改我都郁闷的要死...

几次想拿rails或者PHP重写 但是担心客户接受不了...

毕竟 能跑不是... turbogears o(︶︿︶)o 唉

努力学习rails 努力学习php 努力学习 nodejs 努力学习mysql 努力学习mongodb




42 楼 sunway 2011-05-23  
难道你也搞php了吗
41 楼 mobilezht 2011-04-18  
shaka 写道
肉饼很明显在给Ruby做广告 

肉饼 这个称呼 很贴切。
40 楼 smartfish9 2011-04-09  
不太认同robbin对PHP的看法,比如robbin认为PHP凌乱,不够优雅,这在过去是成立的,并且由于历史原因,现在大量的开源PHP程序还是给人这种感觉。但是在良好支持面向对象的php5发布之后,并伴随着PHP程序规模的扩大,这些基本成为历史,现在一个全新的PHP项目如果还是凌乱不堪的话,那只能是程序员的水平问题,而非其它。
robbin还是用若干年前的眼光来看PHP了。
39 楼 yujiaao 2011-04-07  
shher 写道
robbin 大哥,你的帐号被盗了吗,怎么会写这样的文章??

一楼的兄弟太强了,javaeye改名了,再用java有些不理智了,卖啥吆喝啥,Ruby新到货,欢迎品尝
38 楼 lhdgriver 2011-04-06  
如果ROR想要普及,最好简化它的安装,说实话,每次安装都感觉很EggPain,官网上的安装步骤太不靠谱。
其次,Ruby真的是很好玩的语言
最后,Rails感觉还行,少了很多配置,能够focus on逻辑部分,但是调错神马的还是很难,基本靠看代码。。。。。
37 楼 大尾巴 2011-04-01  
jiorry 写道
呵呵,只要是web开发,我还是使用php。
rails 直接被废,原因有二:
1. 升级成本太大(不升级,自己心里又痒痒,纠结!!!)。
2. 不能全面掌握rails,有很多编程潜在风险。(出现过内存泄露问题,很难排查)
3. 改造 扩展 rails 的学习成本很大。(我是尽量不使用插件的。因为生产环境中,一旦出了问题,不好解决。)




赞同。
曾经考虑过用Django,不过发现php各方面都更熟悉一些,换语言学习成本太大,
自己搞似有的php框架吧,ror两年内不会考虑。
36 楼 saberma 2011-03-26  
jiorry 写道
呵呵,只要是web开发,我还是使用php。
rails 直接被废,原因有二:
1. 升级成本太大(不升级,自己心里又痒痒,纠结!!!)。
2. 不能全面掌握rails,有很多编程潜在风险。(出现过内存泄露问题,很难排查)
3. 改造 扩展 rails 的学习成本很大。(我是尽量不使用插件的。因为生产环境中,一旦出了问题,不好解决。)



1. 总想用最新的东西难道是程序员的通病,我也是这样的。但是在rails中,升级的成本会随着测试成本的降低而降低,因为你可以随时bundle update你的所有插件,再把测试跑一下,花一点时间尝试修正问题,如果发现插件存在严重的bug,你可以尝试修正(github上fork一下),实在不行,git reset或者git stash把这次的升级的退了。由于ruby社区比较重视测试,虽然升级出现的问题倒是有,但都是小问题,插件的作者在push上去前都会让rspec等测试都通过的。

2. 对技术的全面掌握是不是也是程序员心理通病呢,因为要保证某个技术完全在自己的控制下,那是不现实的;但是这种心理完全可以作为我们的学习动力,而不是阻碍着我们,让我们一步也不敢去靠近他。我最初接触ruby的时候最担心的就是跨平台(操作系统,天啊还要部署在windows),跨数据库(天啊还要连Oracle和SqlServer),要想让各个rails插件都作到这一点,压力还是异常地大,但只要有信心去做了,问题还是能得到解决。

3. 如果担心rails改造扩展的学习成本,那现在可以少点担心了,因为rails3的发展已经非常完善了,各种内部框架的耦合也非常低了。不过,入门的时候最好还是先不要考虑这样的大问题的好,尽量为自己的任何一次新的学习减少前进的绊脚石。

4. 对于插件,早期还是先用插件,因为插件越多人使用,就越安全,像认证(devise)、上传(carrierwave)等等都做得非常棒了,不少大公司也都在采用,可以节约开发的大量时间;到真的不能满足要求了,咱再改,实在不行,咱再造出强悍的轮子,再发布出去,让别人也能够减少点时间。rails的插件印象中还没有看到闭源的,github上有太多的插件选择了,另外http://ruby-toolbox.com 对各种插件作了归类,选择起来非常方便(如不能访问,请翻q)。
35 楼 saberma 2011-03-26  
lkj107 写道
纠结中,想自己写个网站玩玩,但是没有接触过,php,python,ruby?


那你可以用ruby+sinatra(不用rails)+datamapper(ORM)+sqlite(DB),超轻量级了,学习个一天,就可以做出你那个网站的小原型的

真动手了,就不难,一定没有你想像中的难。
34 楼 cxh116 2011-03-25  
robbin 写道
cxh116 写道
ror 和 django相对,不管是语言,还是框架,ror都要灵活.ror相对于django来言,更适合企业应用开发.django 快速的开发CMS,企业网站还是很不错的.

   想从JAVA改行到ROR,不容易啊...


我从Java改行做RoR,用了一个月。

当初Quake同学改行从Java做RoR,用了一周。



  个人容易企业难...
33 楼 robbin 2011-03-25  
cxh116 写道
ror 和 django相对,不管是语言,还是框架,ror都要灵活.ror相对于django来言,更适合开发.django 快速的开发CMS,企业网站还是很不错的.

   想从JAVA改行到ROR,不容易啊...


我从Java改行做RoR,用了一个月。

当初Quake同学改行从Java做RoR,用了一周。
32 楼 cxh116 2011-03-25  
ror 和 django相对,不管是语言,还是框架,ror都要灵活.ror相对于django来言,更适合开发.django 快速的开发CMS,企业网站还是很不错的.

   想从JAVA改行到ROR,不容易啊...

相关推荐

Global site tag (gtag.js) - Google Analytics