Re:Go is boring, and that’s fantastic
by joelbluminator on Thursday July 02, 2020 @09:55AM
(#23713106)
Shopify is absolutely a Ruby / Rails company. If out of the thousands of developers that work there you have a team or two writing some performance heavy c++ / Go code that says absolutely nothing.
[ Parent
| on HN ]
Re:Go is boring, and that’s fantastic
by politician on Thursday July 02, 2020 @02:16PM
(#23716277)
Wouldn't it actually say a lot? Engineering is about trade-offs, and the trade-off that says "use this special language for 1% of our most critical services instead of the company-wide standard language" is not "absolutely nothing".
Lines of Code is a bad proxy for mission critical.
Re:Go is boring, and that’s fantastic
by joelbluminator on Friday July 03, 2020 @02:13AM
(#23721464)
All of Shopify is mission critical. The code that constitutes the Shopify monolith is mission critical for sure. The company won't function without it.
How do you define mission critical?
Re:Go is boring, and that’s fantastic
by politician on Friday July 03, 2020 @06:43PM
(#23728273)
This is somewhat circular, but: when your team decides to rewrite a component in a more complicated or more obscure (at least at Shopify) language to increase throughput rather than spinning up more instances of the current solution, then you're talking about a component that's even more critical than the other critical components.
Re:Go is boring, and that’s fantastic
by joelbluminator on Saturday July 04, 2020 @07:36AM
(#23731634)
It's just common practice - in Ruby some popular gems that parse XML or JSON come with a C extension that does some performance heavy calculation. Most gems don't do this, but when performance is very important some do.
Us Rubyists see no problem with that, and we don't take this as some kind of incentive to leave Ruby, maybe even the opposite; knowing that you can do 99% of your app in Ruby, and if ever needed, easily fill in the 1% with Rust/Go/C++ is very reassuring imo.