我发现各种关于 Ruby 的招聘无一不提到 Rails,难道搞 Ruby 一定要了解 Rails 才行么?Rails 只是一个 web 框架而已,如果不是 web 这方向就没必要学习 rails 了吧。毕竟 Ruby 是一门语言,不是只针对 Web,离了 Rails 难道 Ruby 就不行了么?不过貌似 Ruby 确实是因为 Rails 才火起来的。
Ruby 是因为 Rails 的火才被大家关注的,可以这么说,应用 Ruby 最多的公司在使用 Rails,也有使用 Ruby 其他框架的,比如 sinatra,goliath 等。但是不管用什么框架,你都需要学会 Ruby。学会 Ruby 之后,如果不想用 Rails,你可以写自己的框架,如果有能力的话。
#15 楼 @mouse_lin 我目前在学习 rails 中,只是不解为什么 rails 为这么活,感觉有点学习 ruby 就是为了更好的学习 rails,目的不是 ruby 而是 rails 的感觉
#18 楼 @mouse_lin 可能是吧,了解的多点的就是 web 和系统管理这块。看过 2012 的 rubyconf 视频,看到上面讲解了下 ruby 大致的用途,但是通过社区平时的贴,一般讨论的都是 web 相关的一些东西,跟嵌入式相关的太少。再就是系统管理方面了,而系统管理的脚本大部分都是用自带的 shell 居多吧
Ruby 能火的原因就是因为 Web,更直接点其实就是 Rails。
Ruby 是脚本语言,用途当然很多,比如运维比如算法教学,但如果不绑 rails 的话,其他用途的首选往往会是 Python。所以后续几年 ruby 社区的主旋律只能是 r2r4,无法割裂。
现在运维 DevOps 的用法是 Shell (Bash) script 用来做 bootstrap 然后 IT 基础架构的配置管理用 git + Ruby 代码(Chef Cookbooks)的方式。
Shell (Bash) 语法比较诡异,经常要翻手册,还得考虑兼容性(比如碰到 Linux 上写的脚本到 Solaris 上跑步起来这种问题,头疼死)调试起来够呛。相对于 Python / Ruby 它离开内核更近(更底层)执行效率高。但 Shell 脚本一旦超过几百行可读性就差了,不容易维护,看过几个 3000 行的脚本,晕。
Ruby 无论是在 RHEL 系/CentOS 还是在 Debian/Ubuntu 上 base system 都不会默认安装。