7 年前,我从一个饱受 PHP 奇葩语言特性折磨的程序员,接触到了 Rails,让我脱离苦海。写的代码从此不再 ugly,最佳实践更是让我觉得是网站开发的至尊法宝。
7 年之间,虽然 Rails 只能用来做网站,核心业务都是 Java 开发。但我给公司内部做的上万并发的在线平台都是 Rails 做的。
7 年前刚开始接触 Ruby 就是在这个社区,感觉欣欣向荣。最近我回到社区,再看看,发现几乎没人说话了,更严重的是,大家都在扯淡,技术型的文章几乎没有。再看看社区用户数,几无增长,而之前熟悉的面孔也越来越少。
发生了什么?是 Rails 没落了,还是中国的社区没落了,还是 Rails 的使用者人过中年,已经垂垂老矣,不愿活跃在社区。
时代变了,一个语言能不能风靡,程序员爽与不爽已经无关紧要了,只要老板爽,程序员能赚到钱,它就风靡。 从当年 objective-c 的爆发式风靡就开始这个苗头了,现在只是越来越强化而已。
现在 web 开发,大型企业 java,中小型企业 php,这两个语言解决了企业的两个痛点,至于程序员的痛点要不要解决,who care?
虽然我对 php 比 rails 更熟练,但写 php 的时候,我的内心是崩溃的,从开始学 php 的时候就这样,现在成为 php 熟手了还是这样。
php 就像一个逻辑混乱的损友,以其昏昏使人昭昭
php 解决了中小企业的哪些痛点呢?
1、门槛低、好上手,好招人,鱼龙混杂?面试官是干嘛的?因为 php 生态丰富,各种高手面试官根本就不缺,以不太高的薪资就可以招到,菜菜想过他们的法眼门都没有,除非工资砍半。
2、功能强大,php 的内置函数几乎能解决 web 开发的所有需求,没有什么是一个内置函数解决不了的,一个不够就两个,比起 rails 的 bundle install 配置各种 gem 依赖,简直太方便了,就算用 composer 也比 bundle install 方便,因为几乎所有功能 php 的内置函数都能涵盖,所以除了在安装阶段,后期几乎不用考虑编译第三方库,所有功能 php 的内置函数都包括了。
3、性能强劲,虽然是脚本语言,性能却直逼 java、node v8 引擎。现在又要上 jit,性能在脚本语言里面简直是逆天的存在。并且对配置要求极低,一个 500m 内存的 vps 跑 php 搜搜的,比 java、rails 这些省资源多了,对中小企业来说一个 php 的网站用阿里云轻量版就足够了。
有这些优点,叫企业如何不选 php?
rails 的核心优势不再,其他短板没补起来。毕竟语言和框架只是工具不是信仰(大部分)。ruby 对我来说也是如此,像我这种纯爱好者也很少用了。还记得 11、12 年刚工作的时候接触了 ruby,成了一个 java 愤青,一边用一边骂,一边期待 mruby。只是后来有了(资本选择了)kotlin、swift、dart... ruby 在移动端确实没有想象空间了
但是 ruby 的语法优势永远都在,php 也出了仿 rails 的框架 laravel,吸收了 rails 的思想,甚至还加入了很多新的有用的东西。但是 php 那丑陋的语法,导致 laravel 怎么写都没有 rails 的感觉。
当然程序员的感觉已经不在资本的考虑范围之内,只要有钱,就是屎一样的语法也有程序员愿意去写,特别是现在经济这么不景气。
确切的说是:程序员创业的少了。
只有程序员自己创业的时候,才会考虑选一个让自己舒服点的技术栈。只有自己才会对自己好,指望别人对自己好,是不现实的。
这种现状印证了我前面一个帖子的观点:技术已经没有发言权了,一切都是资本说了算。
国外相对好一点。国内用 Rails 并且做大的公司极少,这会让 ruby 社区整体有一个向下的循环:
用 Rails 的大公司少 -> ruby 工程师需求少 -> ruby 工程师少 -> 创业公司选型避开 Rails
提供一个个例,我现在大概 2-4 周访问一次 Ruby China。每次就是随便看看,也没啥精品内容可以发帖出来分享。
目前我的工作是给 奇绩创坛 写 Ruby on Rails(工作性质:远程 + 兼职)。
(怎么远程:我在广州,奇绩总部在北京)
具体工作内容是和另外几位工程师一起负责 申请用的网站。
工作量一周大约 5 到 15 小时。有时候更少一些。
所以我这种属于 "光用,但不吱声"
业务方面来讲我们的负载不高,
主要是申请人(创业者)和我们内部审阅申请的人(奇绩创坛员工和合伙人)在用。
只会在申请截止日期的前几天流量高一些(大家都喜欢最后一刻交作业)
题外话:我们的基础设施都在 AWS 北京区(AWS ECS, S3, RDS, Codebuild, ECR)
我个人目前在做 2 个项目:
这俩项目都是 Electron.js
所以主要时间都花在 Javascript, Electron.js, 开发新功能,用 Sketch/Figma 做设计,等事情上。
结论:光用,不吱声
也可以从这个行业的发展来看。 Rails 主要做 web 开发。到移动互联网时代时,开发 App 的多了。Web 相对减少了。 以后新增纯 web 应用可能会越来越少。
Web 还是 APP 跟用不用 Rails 有什么必然联系?无非 Web 输出 HTML,APP 输出 JSON。难道 Rails 的优势在于写 HTML?
我觉得社区的没落也或多或少跟这些莫名其妙的言论传到还没入门的新人耳朵里有关系。
如果让 Rails API-only 的模式在国内流行起来,说不定可以在国内迎来第二春。
如果 攻壳特工队 里面场景话以后的世界出现的话,技术栈可能和现在大不一样。
的确是事实,原因很多大家上面都说了,主要还是 14-16 年的创业潮过了。
ruby on rails 的全栈优势不再,而劣势(难以工程化)凸显。上面所说的负反馈就出现了。
说点更焦虑的,程序员的拐点也逐渐降临,一个是技术升级,工种被逐渐细分,传统码农不吃香,全栈在大厂更是价值不大;一个是供过于求,内卷严重。
程序员的核心竞争力,可能不再是会几种语言 or 代码写的怎么样的能力。。
有没有小伙伴们在观望深圳的工作机会?我司在招 ruby&rails,有兴趣了解的可以直接发简历到我邮箱哈:[email protected] 香港公司,行业前 10,Fintech 行业。