有没从 PHP 转过来的 RoRer?
@zw963 在考虑有没有必要学下 Python,我倒是觉得有必要看下 PHP
Rails 是把 SQL 语句用 ORM 映射掉了,久而久之,连怎么写 SQL 都会忘掉,用用 PHP 或许有助于了解 Web 开发一些基础性的知识(不用框架)
而且目前国内的大环境下,如果说自己要做个小东西,或者给别人做个小玩意,RoR 似乎不是那么玩得动,部署环境没 PHP 那么容易弄,毕竟支持 PHP 的空间到处都是
个人愚见,希望有 PHPer 可以指点一下 :)
我就是从 PHP 转过来的(PHP 菜鸟),我比较赞同楼主的观点,特别是"用用 PHP 或许有助于了解 Web 开发一些基础性的知识(不用框架)",如果是新手刚接触 Web 开发,个人认为先学 PHP 打基础比较好。 Ps:以上纯属个人观点
最近一直在看 Web 开发,不过还真没看 PHP, 主要是觉得实在是没必要,而且为了使用 rails 而学习 php, 觉得有点得不偿失!
最近主要看的书包括
事实上,没看上面那些书之前,Agile3 以及 4 的购物车示例我已经完整的实践了一遍,但是因为很多基本概念糊涂,总是看起来不爽,总觉得别扭,现在再看 agile, 舒服多了。
我说学 Python 并不是为了真学 Python, 最近也在看`Python 核心编程', 只是我觉得对比 Ruby 来学习 Python, 例如将书本中的 Python 代码全部用 Ruby 的实现一遍,反而更可以加深对 Ruby 的印象。
#1 楼 @xenon #3 楼 @zw963 #4 楼 @Juanito 基本都 at 了一遍,: ) web 的东西真的不少~我自己这几年跟 web 的交集一点都木有,不过还是想转到 web 方向上来. python 我觉得必要学下,当然还有 java,技术选型这块儿我并不是很懂,从网上别人的观点来看,ruby 在复杂逻辑运算方面比 python 要逊色一点点,参见此文最后一段 http://robbin.iteye.com/blog/444015 前提是把 ruby 学好了,不然几门语言同时开工,恐怕哪门也难精通.python 和 ruby 有一定的相似度,学好 ruby 之后,再学习一下 python,偶是这么计划的。
php 源码真的太多,框架也多 ,之前也下过几个源码看了下,不过看得相当费力,比如 ecshop 和 shopex 这些源码看得真蛋疼. PS: @Juanito 的帖子写的很好,赞一个,偶也开始没多久,一起加油哦 : )
我不是几门语言同时开工。事实上,我是觉得自己 Ruby 还算可以,才考虑粗浅的了解下跟 Ruby 相似的其他语言,例如 JavaScript 或 Python, 别的目的不说,在语言基础层面的实现上,Ruby 和 Python 如出一辙,我觉得看看有好处。Lisp 我是懂一点的,因为我用 Emacs. scala 还真有本书,Scala编程
, 糊里糊涂买下了,不知道猴年马月才有机会看 (或者说才用得到看).
一起努力吧。我感觉现在已经入门了,很快就可以找到一份 rails 相关的工作啦~
如果说是因为 Python 和 Ruby 共通才觉得有必要看下 Python,那方向可就错了
本楼回帖的应该都会个C或C++,那照这样的观点,是不是有必要把Java和C#都过一遍呢?这几种语言可都是共通的呀
如果说只是因为 Python 类库全,想找个万能的工具箱,那 Python 确实是最佳选择,但如果说专攻 Web 的话,Python 的的确确差 Ruby 太多,@huacnlee 应该也有同感
Rails 不适合初学者,也就是因为它封装得太厉害了,直接上手就用这个框架将很难深入进去,容易停留在只知其然,不知其所以然的层面
事实上 PHP 很简单,无需刻意去学,有 C 基础就上手了,函数之类的直接查手册,所以我想是不是可以借此了解下 Web 开发的基础,对于 Rails 的学习而言,绝对是有益无害
不知对否?
概念被混淆了:PHP 是语言,Rails 是框架,框架自然会把一些东西封装起来,不必考虑较为底层的东西。想了解底层的东西,用 Ruby 写 CGI 脚本就是了,再加上 erb,这货跟 PHP 差不多。
@huacnlee 发现一 bug,目前是 12 点 12 分,可从 9 楼我的回复开始都显示 1 分钟前 我至少是 1 小时前回复的了 不知道大家是不是也这样?
我纯粹瞎扯~ 参考意见应该听@huacnlee的。他才严重有资格评论呀!
这样说吧,如果考虑未来 web 开发,JS 越来越重要的情况下,JavaScript 作为唯一的前端语言,我想不用是不行的吧,我现在都搞糊涂了,为什么要把 JS 算作前端?
要说 Python, 只能算是个人兴趣,看其他书烦的时候,与其去看动画片或电影,有时候看看这些感兴趣的东西,也是一种消遣,打发时间而已。
java -> php -> rails 过来的,觉得没必要。感觉你只是想了解下 sql,或者 web 开发的一些基础。了解 sql 你可以直接数据库写 sql 练习不就得了。web 开发的基础你去 w3c school 左侧提纲列的比较清楚,浏览下,了解下就可以了。
我觉得从 ORM 学习 SQL 比较靠谱。直接看 ORM 输出的 SQL,不就很快能学会了。
没有多少 Web 是单纯的 Web。事实上,对于很一般的 Web 应用,除了 Python,找不到更合适的语言了。
PHP 真的很难。我从来就没学会用 PHP 写点东西出来。
别争啦。我发现我是出了名的瞎扯,歪楼。
@bhuztez ,@ruchee SQL 是 ORM 的基础,ORM 是 rails 框架的基础。在应用上,ORM 当然好懂,也感性的多。不过,你不熟悉 SQL, 怎么设计表?你甚至不知道每一个迁移后面执行的什么 SQL 操作,怎么可能用好 rails.
说起 PHP, 我没有任何经验,不过我可以肯定一点,PHP 应该不是使用 web 编程的基础,准确地说,PHP 绝对不是学 rails 的基础 (就像 SQL 是 ORM 的基础那样), 就算应该学学 PHP, 也是在通过 PHP 来熟悉 html, css, js, sql 等等,但是如果打算用 rails, 先学 php, 应该没啥意义。因为就算你用 php, 想提高,到头来,你还是得看我在 3 楼写的那些书,对不?有看 php 的时间,不如多看看 Ruby.
说到 php, 我想到早年 php 社区的一位,id 是 axgle 吧,06 年国内 rails 风刚吹起,这位边学 ruby 边学 rails, 就几天就搞出一个帖吧的雏形来..........从此以后尝到甜头,php 社区就少见他了.......
我是 04 年折腾 php 的,那会儿能看的 php 教材就 3 本书,培生的 php4 开发手册,o'reilly 的 Programming php, 还有一本 php 内幕 (俗称黑皮书), 当时国内 php 折腾的人少,学院派清一色 java, 电商流铺天盖地的 asp, web 那圈子里 dvbbs 一统天下,php 空间卖得都挺少的,而且网络又不像现在这么发达,像我们这些搞 php 的很少有科班出身,基本就是摸石头过河,所谓的经验和基础扎实其实就是弯路走多了折腾出来的。搁现在很多混 ppc 之类的新人眼界未必有玩 ruby/python 的开阔
扯远了,其实我觉得,现在玩 web,要简结一点基础一点的,可以玩玩 bottle, sinatra......再回过头玩 php,确实有点便扭
@bhuztez @wikimo @zw963 @clearJiang 我是超级菜鸟,今天受教啦
扯哪门语言好绝对是瞎扯淡,所以没必要,只有扯哪门语言更适合某个应用场景才有点意义
我是缺少实践,所以观点都有点自以为是,待悟出门道再向各位请教 :)
嗯。
不过,我一直是倾向于先把最基础的搞尽量扎实一些,再去理解更加抽象的。这样的好处是:少走很多弯路。有时候看得懂英文单词,不见得看得懂某个英文单句,SQL 也同样的,不仅仅是语句问题,即使很基础的东西,也回包含很多感性的,需要理解的东西。
扯远点,这也是我强调应该先学 Ruby, 再用 Rails 的原因。就算你以前一直在做 web 开发,用 rails 上来就做个博客。你真的认为可以完全不懂 ruby, 而精通 rails 吗?
还有一点要提:如果你想把复杂问题简单化,唯一的办法就是了解更广一些,这样会越学越简单,如果反过来,你可能会走弯路,或者会把简单问题复杂化。典型的,你会把多个同样但相似的问题,当作不同的问题来处理,凭空增加很多烦恼,在这点上,Ruby 给我的体验相当深刻的。
同意@bhuztez 的说法,基础这东西真的是无底洞。 我自己的主力语言从 C C++ Delphi Java C# Ruby 一路过来,我觉得很多 C 时代的经验对 Ruby 也有用,很多 Foxbase 上的经验,对 MySQL 也有用。但是为了这些去学古老的东西,真的没必要。 历史的车轮会滚滚而来,把不前进的人,全部压扁。
5 年系统运维,现在也搞 rails,数据库之类的各种底层设施毫无压力,倒是觉得前端比较费劲 其实条条大路通罗马,只在于你是不是下功夫去钻。 担心因为 ORM 而不懂 SQL,那是杞人忧天了,SQL 远比 PHP 简单多了
上面说到表设计,这个和 sql 语言本身关系不大,orm 就能帮你做到表关系提炼,至于性能优化,多看书,多实践,勤思考即可。
我觉得既然已经在用 rails 了,没有必要去专门学 php,作为一个脚本语言,php 和 ruby 相比,顶多给你一些语言设计方面的感悟。
说到做小东西,lz 可以试试 sinatra,国外有些免费空间支持这种极简框架的。
#45 楼 @ruchee 让大家果断放弃 Ruby 啊。Python/Ruby 这样的语言,已经没多少存在的意义了。而且 Ruby 起来得太晚,还有很多根本问题没有修正,在一起完蛋之前,也没啥希望超过 Python 了。
我以为几年之后主要会剩下三类语言 第一类,是能充分发挥机器运算能力的语言,其实可以近似认为是能编译成机器指令的语言,就像现在 C/Fortran/Haskell 这样的语言。 第二类,是帮你快速搞定一些琐碎的问题的语言,传统上是 bash+grep+sed+awk 等的组合。现在就是 Perl 了。 第三类,是适合开发长期运行的系统的语言。目前来看,能用的只有 Erlang。未来出现这样的语言,也一定要实现和 Erlang 那样的消息机制,以及 OTP。
Python/Ruby这样的语言,夹在2和3之间,用一行代码搞定问题的能力不如Perl,用来写长期运行的系统不够稳定,已经没有多少生存空间了,一定会完蛋的。
就算 Web 开发,Rails 和 Django 比,那也是 Rails 3 在向 Django 自 1.0 开始就一直在发展的方向靠拢。哪里是 Python 差 Ruby 太多。是 Ruby 差 Python 太多吧。
#10 楼 @ruchee 说 PHP 简单的,你可以尝试用 PHP 去开发一些大型的应用,你就知道 PHP 其实是怎样的一种 T 型结构的语言了。 当然没有攻击的意思啊。PHP 用了很多年,做过不少不同类型的系统。到现在公司的开发还是用 PHP。在这些年的过程中,对 PHP 的看法也是逐渐改变。PHP 是那种典型的入门简单进阶痛苦的语言,如果有兴趣大家可以交流一下。我所认为的 PHP 难学的原因,并非语言本身,而是有这么两点
#30 楼 @clearJiang 先向前辈致敬。话说我比较赞同你的观点,PHP 不可以说是 Ruby 的基础,两者语法思路等方面其实完全不同,大没有必要为了学习 Ruby 去学习 PHP。当然,去尝试其他语言的思路倒是不错的一种做法。
@zw963 可能还接触的少的关系吧,多联系,多思考,多学习,自然会有进步,有时间也可以记录下自己学习的历程,会更有成就感。就算是“购物车”那也是实践,比如也可以自己去写个 blog 之类的玩玩。