学 php 的,想转 ruby~

2014-11-10 11:20:02 +08:00
 roys
搞了这么久的web开发当然也想做点其它的,综合考虑后开始学习ruby(ruby有rails还可以做许多php不擅长的)。
可是开始学用laravel后自己又动摇了。laravel 真的那么强?
laravel kept me from leaving PHP???
7483 次点击
所在节点    问与答
46 条回复
lichao
2014-11-10 17:01:58 +08:00
很多时候觉得坑多,是因为自己没掌握好,这个任何语言和框架都一样。

至少从我自身经验来看,Rails 带给我的快乐远多于痛苦
justplaymore
2014-11-10 17:20:26 +08:00
@mahone3297 symfony确实很强,可惜门槛比较高,一直在学,之前非常熟悉Yii,然后看了下laravel,觉得区别有点大,匿名函数过多的一个缺点就是IDE难以定位申明,依赖注入的特性确实不错,可是能用好也需要一定的水平,不能为了用而用,自认这方面水平不足,好多东西要学。
justplaymore
2014-11-10 17:21:35 +08:00
@tini8 全栈式框架基本都类似这样的
lygmqkl
2014-11-10 17:46:31 +08:00
@justplaymore 貌似一般的网站开发Yii足够了吧。。。为毛要折腾那么多,而不是多折腾点cool project呢?

回楼主,就算不折腾php也应该转python or node, 为毛是Rails? 其实真正的框架和语言是随着工作迁移的。。。至少国内是这样。
mahone3297
2014-11-10 17:58:36 +08:00
@justplaymore yii没看过。。。我也有看一点laravel的文档。。。不过你说的匿名函数,我都是不在意,还比较喜欢。依赖注入的话,symfony里面也用了蛮多。
我感觉,laravel有点codeigniter的味道,轻量级,容易入门,所以大家都关注。symfony就比较偏重了,所以关注的人少了。不知道是不是这样。。。
msg7086
2014-11-10 18:10:21 +08:00
@lygmqkl hobby project 当然要选自己最舒服的语言了。工作是另一码事。要是工作是Java难道写个Blog也得Java写么……

@kankana 语言的表达能力。PHP完全的C风格,而Python推崇任何事情都应该只有一种做法。
Ruby这种语言本身就要灵活得多。一来很多符号可以省略,一来做一件事可以有很多种做法,而且都能做得很好并且不算很难理解。

比如在Rails里,一下的句子是等效的:
Post.where user_id: 264
Post.where(user_id: 264)
Post.where({user_id: 264})
在PHP或者Python里,你不可能省略这些括号。甚至比如这样的句子,
$users = User::where('votes', '>', 100)->take(10)->get();
真的不会被::和->弄的头晕吗?
lygmqkl
2014-11-10 18:26:33 +08:00
@msg7086 好吧我好像可以明白国内程序员为毛那么喜欢挑语言了。。。。果然是鲁迅笔下的人物啊。。。。
kankana
2014-11-10 19:50:30 +08:00
@msg7086 哈哈,也许因为我是个比较严肃的人, 所以还是比较喜欢php风格.

被laravel吸引, 其实主要是因为国外介绍laravel时,用的代码示例,让我有种回到java的时代.

我喜欢那种一层套一层的设计, testable的代码. 挺反感"业务逻辑应该放在C还是M".

不过,听说这种Hexagonal Architecture也是rails传过来的?
kankana
2014-11-10 20:00:06 +08:00
@kankana 搞错了...
bellchu
2014-11-10 20:07:53 +08:00
邓小平说的好,不管黑猫白猫,能捉老鼠的就是好猫
roys
2014-11-10 22:15:38 +08:00
@bellchu 有一个工作的语言,然后害得有个兴趣语言。我是这么想得。
yjsslab
2014-11-10 22:19:19 +08:00
rails 也就 AcriveRecord 无可替代,如果你觉得你的其它工具可以比 AR 好,那就没有必要用 rails.
当然,只有写ruby脚本的话就没有必要换过来了。
roys
2014-11-10 22:35:20 +08:00
@yjsslab AR 在PHP框架里很普遍了把。像laravel、Yii、Yii2什么的,学ruby当然不是为了rails~
watsy0007
2014-11-10 22:51:03 +08:00
你公司业务需要?
为啥想学习ruby?

你可以综合对比下试试。
yjsslab
2014-11-10 23:26:26 +08:00
@roys 就是因为ruby这种语法才是 rails 的 AR简直无可替代。其它语言的不会有那么方便强大。
yjsslab
2014-11-10 23:29:46 +08:00
@roys laravel、Yii、Yii2 如果你觉得那些够好,那真不推荐转到ruby. 很多公司还从ruby转出去呢,除非你一直是那种原型/初创那种。。。
msg7086
2014-11-11 01:22:26 +08:00
@yjsslab 同意。最近在玩grape框架,就是grape+active-record,轻量又能享受神一样的ar。
luikore
2014-11-11 08:51:23 +08:00
rails 默认提供了全套最佳方案 (除了 js 各浏览器框架教派), 做新框架轮子时, 不知道某些方面怎么做就参考 rails 行了 -- 然后你会发现没有 ruby 的话有些事情真的很难做到.
justplaymore
2014-11-11 15:54:35 +08:00
@mahone3297 symfony是先苦后甜,laravel比ci强的不是一点点,ci的设计和复用机制相比前面几个框架来说已经非常落后了,ci是上手快,但是要扩展功能的时候会发现自己要做的工作很多,而symfony和laravel的扩展非常多,框架本身是组件式的,可以随意替换和添加,这时候优势就体现出来了,还有个比较重要的就是symfony和laravel都遵循了composer的标准。
justplaymore
2014-11-11 15:57:21 +08:00
@msg7086 你说的是类似yii里的querybuilder,其实大多数情况下还是用criteria对象来做的,更加灵活。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/145296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX