19 ms·
My read on this is they just wanted to cut out Ruby and do everything in Node. That's fine as a decision, but rest of the article feels like just trying to jus
by DwnVoteHoneyPot 4y ago
My read on this is they just wanted to cut out Ruby and do everything in Node. That's fine as a decision, but rest of the article feels like just trying to justify it after the fact. Like someone at the top decided, now lets pretend it's a good decision.
As you mentioned, if they're not OK with CLI, they could refactor in Ruby. The whole "embracing functional programming" and MVC architecture (i think Rails when i hear MVC) as reasons to go to Node, and not Ruby, is nuts.
If they were worried about dependencies, they'd use Rust or Go as they mentioned.
- masklinn 4y ago> Like someone at the top decided, now lets pretend it's a good decision. It might not even be a top thing, if they migrated internal eng from Ruby to node internally I would not be surprised if this was dev-driven either
- kenhwang 4y agoInteresting how Shopify went from the most pro-ruby company to what looks like unreasonably rapid divestment from it. Wonder what's going on.
- ewalk153 4y agoRuby is still the primary backend language at Shopify. Node is popular amongst partners.
- organsnyder 4y agoBesides this article, what gives you that impression?
- scruple 4y agoI seem to recall reading recently that Go was showing up in their org. May be mistaken or misremembering.
- reillyse 4y agoThat’s how I read the article too. We wanted to move from ruby to node. They even admit that the most well know language is ruby in their org. Seems like a pretty serious waste of resources to me.
- ljm 4y agoThis might be the first article I've read where Node's module resolution algo is touted as a benefit. Just how complex is your command line app if you need to have multiple transitive versions of the same library? Coming from the same company that is so heavily invested in Ruby that they contributed to a new JIT for it (YJIT), built a static type checking layer (sorbet) for it, and built a module system that prevents you sharing code between those modules (packwerk), etc. Unrelated but it is reminding me of my attempt to integrate with Zapier. Zapier doesn't document an API anywhere, you have to use its 'CLI app'. The CLI app of course just calls undocumented HTTP APIs behind the scenes.
- faitswulff 4y agoMinor note, Sorbet was written at Stripe.