Live data from Hacker News

Open-sourcing the Sorbet VS Code Extension

sorbet.org

41–50 of 88 posts

Re: Open-sourcing the Sorbet VS Code Extension

#41
post #11
post #6

Thank you - Great looking release! Other Ruby extensions seemed like afterthoughts or incomplete efforts. Does Stripe use Ruby enough internally to "bootstrap" this from the ground up?

Not sure what you mean by "bootstrap" in this context! Stripe uses Ruby extensively.

I just meant to create it with internal resources and release it - meaning Ruby is enough of Stripe's culture to allow it to happen. Kudos!

Re: Open-sourcing the Sorbet VS Code Extension

#42
post #2

Happy to answer any questions about Sorbet, the VS Code extension, or anything else you're curious about!

Two questions (sorry if that's too much): 1. Sorbet isn't really great to use with Rails. I tried it out about a year ago - a few things might've changed but from scanning the relevant gems I think this broadly still applies. I used sorbet-rails but there were still a bunch of rough edges, eg. with using a class method on a model as a scope. The general theme was that Rails was doing quite a few things that make it s…

1. I don’t know much about using Sorbet with Rails, but I do know that almost every major user of Sorbet that isn’t Stripe is using Sorbet with Rails! You might want to reach out in the #rails channel on our Sorbet Slack[1] for more?

2. Our focus for the Sorbet Compiler has always been more inward focused than Sorbet, so we focused pretty much exclusively on features that make the compiled code run fast on Stripe’s codebase. But you might be curious to read more about YJIT, the JIT compiler that was recently merged into Ruby 3.1—it’s being primarily developed by a team at Shopify where Rails performance is the highest priority.

[1] https://sorbet.org/slack

Re: Open-sourcing the Sorbet VS Code Extension

#43
post #28

It's funny how we hear so much about Ruby's decline yet 3 of the highest-valued startups - Stripe, Shopify and AirBnB - are up there making fortunes with it whilst contributing to Ruby's vibrant ecosystem.

Oh wow. they still use Ruby at Airbnb? For some Reason I thought they'd moved to Go or the JVM.

Yes, most of Airbnb's backend is JVM: https://medium.com/airbnb-engineering/building-services-at-a...

Re: Open-sourcing the Sorbet VS Code Extension

#44
post #28

It's funny how we hear so much about Ruby's decline yet 3 of the highest-valued startups - Stripe, Shopify and AirBnB - are up there making fortunes with it whilst contributing to Ruby's vibrant ecosystem.

The same argument can be made of PHP, COBOL, or even FORTRAN. None of this is changing the fact that Ruby has been on a sharp decline for a decade now and it's probably never coming back. My personal interpretation: Ruby is extremely slow, dynamically typed, and RoR hasn't kept up with the web innovations of the past decade.

The new hotness seems to be html over web sockets, which Rails does.

Re: Open-sourcing the Sorbet VS Code Extension

#45
post #28

It's funny how we hear so much about Ruby's decline yet 3 of the highest-valued startups - Stripe, Shopify and AirBnB - are up there making fortunes with it whilst contributing to Ruby's vibrant ecosystem.

Isn't this more of a reflection of when these companies originally developed their platforms? Similar to Facebook and their use of PHP. It would be interesting to see in a few years what the next successful unicorns are building with today.

Anecdotally, TypeScript seems very popular among startups today. And for good reason - between Node.js servers, ReactNative mobile apps and React web apps, you can build everything in a single language. A language that’s naturally very productive while getting a product off the ground, pretty maintainable over time, with good enough performance (and concurrency support) for most use cases.

Agreed that PHP was the #1 startup language in the Facebook era, then Ruby in the GitHub era, and I think TypeScript now. But while they’re all very productive “early days” languages, TS stays much more productive over time.

Go, Java and Python are all popular startup choices too, but I think TS is the top startup choice right now, and a great choice at that.

Re: Open-sourcing the Sorbet VS Code Extension

#46

Earlier quoted context omitted.

Oh wow. they still use Ruby at Airbnb? For some Reason I thought they'd moved to Go or the JVM.

I don't know about go (some cursory googling reveals a few open source projects, but nothing concrete) but you might be mistaking their work on Android libs for moving their backends to the JVM. For reference, their style guides are for JS and Ruby only so far.

the post mentions "At Airbnb, backend services are mostly written in Java "

Re: Open-sourcing the Sorbet VS Code Extension

#47
post #28

It's funny how we hear so much about Ruby's decline yet 3 of the highest-valued startups - Stripe, Shopify and AirBnB - are up there making fortunes with it whilst contributing to Ruby's vibrant ecosystem.

The same argument can be made of PHP, COBOL, or even FORTRAN. None of this is changing the fact that Ruby has been on a sharp decline for a decade now and it's probably never coming back. My personal interpretation: Ruby is extremely slow, dynamically typed, and RoR hasn't kept up with the web innovations of the past decade.

I'm not sure how this applies to those languages. Ruby has an actual ecosystem via gems, and has a pretty nice syntax and language features so it's not hard to pick up. Pretty modern feeling even on older language versions. I think most of why it lost popularity is because faster ergonomic solutions have appeared, and python is a more popular competitor for dynamic backend langs (mainly due to ecosystem size).

COBOL, PHP, and FORTRAN all lack modern ecosystems (package managers, etc) which hinder them significantly.

COBOL is dead for new development because it has horrible ergonomics compared to modern languages. There's a reason why companies will pay big bucks if you're willing to maintain old COBOL with nearly no qualifications.

PHP is still widely used, but it's also got some language quirks and was mainly aimed at backend work. Since most web dev tries to offload onto the user instead of the server now, it's disappearing for both reasons.

FORTRAN is still widely used in academic research and the modern language version (f90+) is actually pretty nice to work in imo. It's a decent competitor to C/C++ and the compilers are nuts for scaling which is why it sticks around for scientific work. It's practically free to move from single node to a full cluster workload using only compiler flags.

Re: Open-sourcing the Sorbet VS Code Extension

#48
post #36

Earlier quoted context omitted.

Stripe is actively moving away from Ruby to Java. All new services must be written in Java

How/why did you land on Java for all new services?

Not at Stripe, but I guess it was picked as a compromise between efficiency and developer productivity. Dynamic languages like Ruby and Python don't perform well in the first area, native languages like C++ not much in the latter. Rust might be better, but it's still harder to learn than Java and there's less experienced developers to hire. That tradeoff usually leads companies to pick one of Java, C# or Go.

Re: Open-sourcing the Sorbet VS Code Extension

#49
post #36
post #28

It's funny how we hear so much about Ruby's decline yet 3 of the highest-valued startups - Stripe, Shopify and AirBnB - are up there making fortunes with it whilst contributing to Ruby's vibrant ecosystem.

Stripe is actively moving away from Ruby to Java. All new services must be written in Java

Must be recent decision. I was at Stripe last year. They have a ton of Ruby. They were full throttle investing in Ruby.

And yes, Sorbet is magical. They’ve taken good ideas from typesystems such as Typescript including the tooling for code completion, inference and refactoring.

Sorbet truly brought joy to my lift.

Although Ruby is way too dynamic for my liking. Many ways you can shoot yourself with it.

Post reply on HN