我做 php 6 年了,对于 linux+nginx+php+mysql+redis 都比较熟悉。
现在非常喜欢 ruby,有想转型 ruby 程序员的想法。请各位给些建议。
我自学了 ruby 的语法,通读了 matz 的那本书,也看了可以算是 ruby 设计模式的那本《ruby 元编程》。由于有其他语言的经验,对这本书中讲的东西大多都能理解。比如动态派发、method_missing 这些特性 php 也有。
但我现在不会 rails,只能用 ruby 写一些脚本,类似于 python 的定位。
请教大家几个问题:
一、如果我放弃从前的一切,直接去一个公司面试全职 ruby 程序员,以我现在的水平(没有使用 ruby 开发过实际项目,不会 rails,只熟悉 ruby 的语法,用 ruby 写过一些小脚本),有可能成功吗?
二、大家是如何成为 ruby 全职程序员的?也是从其它语言转过来的,还是 ruby 是你们的第一门实际投入工作的语言?
三、就北京的全职 ruby 程序员,都是面向 web 领域开发的吗?有没有其他领域?比如桌面应用程序之类的,这关系到是否一定要学 rails。
四、ruby+rails 的实际应用中,对于高并发的效果如何?只考虑跟 db 的简单交互,做一些增删改查,比如做个简单 blog,QBS 大概能到多少?
五、大家用 ror 做 web 架构,都是用它自带的 http server 吗?有使用 nginx 或 apache+ror 的吗?
六、ruby 程序员大概的薪水标准是多少?招 ruby 程序员的公司多不多?
大家如果了解以上问题,请不吝赐教!在下感激不尽。因为我还是很犹豫,如果我放弃之前的一切去完全转型,可能会导致薪水掉的很低。这一点让我无法从容面对。
斗胆说一下我是如何接触 ruby 的。
1、2 年前,大家都开始流行学 python 来写一些服务器端脚本,php 毕竟主要专注 web,而 shell 更多还是擅长编写系统相关的脚本。对于日志分析之类的脚本 shell 还是有一定瓶颈。
当时也是几个有些可笑的理由选择开始学习 ruby:
一是觉得这名字很好听。 二是因为别人都学 python,想和别人不一样,自己尝试了下发现 ruby 的语法非常之优雅浪漫,所以选择了 ruby。但慢慢的发现我当初可能把 ruby 的定位搞错了。ruby 的定位貌似主要还是面向 web。而不是像 python 一样更加擅长编写脚本。我冒昧的说下自己的看法,如果说错了各位大牛可尽情批评:ruby 的特性很多,语言灵活的让人惊讶,可以 open class 动态修改类,可以很方便的实现 api 反射,但我认为如果滥用这些特性它的效率绝对是很低的。和 python 以及 php 同样是用 c 语言实现的脚本语言,它实现这么多特性必然是要有巨大性能开销才能做到。