Ruby or Javascript? 哪个适合我?

2013-04-08 23:37:03 +08:00
 ewangke
这个问题困扰我小半年了,不是一时心血来潮;虚心向大家请教,请大家结合我的情况和需求给些中肯的建议,为我指明一些方向,不要演变为语言、框架的争论。我知道同一件事情,基本所有的语言都可以做,但毕竟生态、入门难易程度等等方面很不同,这才造成了一些语言在某些领域更流行。

先说说我,我是iOS独立开发者,Objective-C很熟,server端会写些简单的python脚本,懂些web/db的东西但不系统,至少没有流行框架的使用经验。自我感觉最弱的是前端,经验为0。db部分还凑合,至少做些小东西没问题的。(以前做ERP,所以事务、范式这些基本的东西还算挺熟的)

我希望掌握一门语言还有它相关的工具集,实现类似Parse.com那样的服务给自己用(更容易按自己的想法做,而且成本比用他们的低得多)。另外,希望可以做一些简单的响应式的web,可以接触一些HTML5。作为独立开发者,时间比较自由。两年没有学习新语言了,也想通过学习一门新语言扩展一下眼界。基本的Ruby/JS/CoffeeScript都能读得差不多,但没实际经验。希望可以把自己一些零散的东西串联起来。

我喜欢接受新的编程思想,但不太喜欢语法糖。我知道V2EX里面喜欢python的人很多,但也希望有rubyer/jser的建议。

这两个repo可以参考说明我需要的东西:
https://github.com/deployd/deployd
https://github.com/helios-framework/helios

请大家帮帮忙,要喷的轻点^_^
9115 次点击
所在节点    问与答
42 条回复
darcy
2013-04-09 01:09:47 +08:00
我咋觉得你两种都需要学,前端离不开javascript呀
Los
2013-04-09 01:24:43 +08:00
来ruby社区看看它的活力 -> http://ruby-china.org/topics
PrideChung
2013-04-09 01:50:35 +08:00
@ewangke
说到技术选择,我不能不提 Marco Arment,Instapaper的作者。这哥们一直很淡定地在用着PHP,理由很简单:学习Python或者Ruby会花费不少时间,一段时间内降低他的生产力;他对PHP了如指掌,坑再多也坑不到他;基本上Python或者Ruby能做的事,PHP也能做,切换语言没有本质上的改变;他更愿意把时间花在产品而不是技术上。

其实你如果想自己做一个功能完整的网站,JavaScript是逃不掉的,问题也就不成立了,或者应该改成 Rails VS Node.js? 如果重点还是放在iOS开发上,只是想自己做App的Backend,顺带再搞个App的Landing Page,不如就用你最熟悉的Python好了,框架用Flask、Django都行,我隐约觉得Ruby和Rails都不是你的菜。

PS:关于Ruby框架的选择,最近有篇很热的post
http://robbinfan.com/blog/40/ruby-off-rails
ewangke
2013-04-09 02:04:14 +08:00
@PrideChung
你说的意见最贴近我的真实想法,看来我可能问了一个被问过无数遍的“蠢问题”。重点还是在iOS开发上,python我最熟也最喜欢。但总感觉python的开源社区不太活跃,很多新的想法都是从ruby/nodejs社区开始实现的。

仔细想了想,还得结合自己需要做出一些东西来。我主贴的两个链接是很好的参照,我可以用最熟的python一点点实现我需要的部分功能。

PS: 你推荐的这篇文章,我看过至少3回啦^_^
Livid
2013-04-09 03:24:50 +08:00
@PrideChung 你说的我完全赞同。

首先满足项目的需求,其次满足自己的好奇心。
ShengjiaWANG
2013-04-09 03:38:04 +08:00
我和po主几乎一样的情况。。。

我是从ERP(SAP/IBM WESB)转iOS独立开发者。早年熟悉java,后来自学OC转iOS开发,多和静态语言和后端打交道,对web端的动态语言和流行框架接触的少。刚开始的时候我用java做web端以及服务器端的web service,但慢慢还是觉得java有些太重了,并且有些无趣。所以差不多两个月前我也纠结于po主现在的问题。

我自己的感觉是这样的:js,html,css这些是逃不掉的,然后就是在python,ruby和php之间选,其中我个人相对略懂php,但是对python和ruby更感兴趣,但两个我都完全不熟悉。在比较了一段时间后选择了ruby。主要还是觉得ruby更优雅,社区也更活跃,就是学习曲线略陡峭。对po主来说,先用最熟悉的python实现,熟悉一门动态语言和一个主流web框架,跨过从客户端到web端这个坎以后,再学别的应该很快,多少都是相通的,可以触类旁通。

ps 所以我自己的话,等完全上手ruby后,也一定会尝试python的 :p
ywencn
2013-04-09 08:45:31 +08:00
@ewangke ruby和node基本上是个互补的东西啊,既然你有那么一大堆app,
那你就可以用ruby on rails来给那一堆app写web网站主页什么的。用node来提供这些app的服务器端API。
yangg
2013-04-09 09:52:46 +08:00
不管你用什么语言,总是会用到js, 所以js是必学的(可以到 http://www.codecademy.com/ 学js,两三天应该可以把课程学完,后面就是实际使用了),so
hidden
2013-04-09 11:05:58 +08:00
说说自个儿经验吧,用过2年rails,2年nodeJS,1年半Objective-C,半年php...
rails:适合做一些傻瓜化项目,页面多,多开发人员共同维护,最好别去折腾性能,我们以前是用来做一些企业服务web软件。感觉ror的东西容易被遗忘,我现在都快忘了ruby怎么写了,我个人是觉得以后是不会再用了。不喜欢做那种类型的产品。
nodeJS:由于以前写前端,所以js比较熟,也比较喜欢。这玩意儿估计一辈子都不会忘。和其他语言不同的是你要花时间纠结异步模式。从感觉上来说这玩意儿小巧玲珑。要往小了用,做移动互联网项目的server端非常合适,天生json api,app的接口一般都不会多。由于代码自由度很大所以多人共同维护需要自个儿琢磨规范。
php:这个才是写网页的王道... 入门简单,部署简单,随便找个人都会,不纠结。

所以选啥可以根据你的项目和个人喜好来定,看你做的都是移动互联网项目,还是nodeJS或者python吧,py我没写过,不清楚是个什么情况, nodeJS需要经得起折腾,版本发展较快,各种思路变化。
duhastmich
2013-04-09 12:01:08 +08:00
@ewangke node.js 有模仿rails 的MVC框架, 好几个, node.js 有 express/connect 这样的框架, 它的middleware 很独特, node.js 还有 meteor, derby, hoodie 这样的, 那绝对不是重造轮子了, 我现在写coffeescript, 用express, 客户端用knockout
chloerei
2013-04-09 12:05:39 +08:00
如果楼主希望学新语言、新知识,想接触规范化模块化的 Web 框架,那就是 Ruby on Rails。

如果楼主是想尽快实现一个产品,那么用最熟悉的语言工具就行了,Rails 上手期比较长。

前端 js 是唯一选择,用 Rails 框架也是 js 做前端。
lldong
2013-04-09 13:11:10 +08:00
@ewangke 如果主要是写service的话rails确实有蛮多不必要的组件,可以考虑sinatra或者rails-api。关于rails里面比较多magical的东西,我觉得是ruby的特性使然,也确实能提高开发效率。
ashchan
2013-04-09 16:40:43 +08:00
Obj-C 与 Ruby 渊源很深也非常相象(两者都从 Lisp,Smalltalk 等吸收了不少东西),所以学 Ruby 会比较方便。JavaScript 肯定是绕不开的,至少前端会完全信赖它。

就个人经验来说,不建议用 Node 来开发。繁重的 callback 太费劲。
j
2013-04-09 23:22:46 +08:00
jser对ruby的浅薄看法是:
坏的方面:语法糖太多,对于新手来说就是坑有点多。
好的方面:语法糖真好啊,所以才会有coffeescript吧,我们都爱coffeescript,它简直就是ruby和js生的儿子,等一下!怎么看起来更像python呢?
notedit
2013-04-13 02:20:17 +08:00
看来我跟楼主正好相反啊 做了三年后端 现在自己出来做ios

正好我要学ios 如果楼主想学php/java/go/python的话(pyhton最好 用的时间最长) 咱们可以互相帮忙
ewangke
2013-04-13 02:25:27 +08:00
@notedit 行啊,怎么联系你?你profile里没什么联系方式
notedit
2013-04-13 02:27:53 +08:00
@ewangke 昵称@gmail.com
notedit
2013-04-13 02:29:08 +08:00
@Livid 上条回复解析有bug
zythum
2013-04-14 00:18:35 +08:00
想起原来朱一说的一句话是 用jquery多了。都不知道js怎么写了。 后开看了angular,knockout什么的发现 tm的都不用写js了...

上面的是吐槽。

去死如果是自己玩,还是自己写的好玩。自己各种搭架子还是非常有意思的。
bitsmix
2013-04-14 00:24:56 +08:00
如果要是语言层面上。。我的感觉是:

如果你以前学过别的语言,就别学 js 了。
如果你以前没学过其他语言,那就学 js 吧。

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

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

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

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

© 2021 V2EX