Live data from Hacker News

Open-sourcing the Sorbet VS Code Extension

sorbet.org

51–60 of 88 posts

Re: Open-sourcing the Sorbet VS Code Extension

#51
post #45

Earlier quoted context omitted.

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…

Yeah, Typescript is a complete no-brainer as a pick - even if you're only picking a backend language. The type system is better than anything this side of Haskell, while still letting you write boring imperative code without getting in your way for every little thing if you just need to pipe some data around.

Performance is really not an issue unless you're doing very CPU-intensive work which you can't offload to a native library for some reason, or you need to scale vertically rather than horizontally (which is even rarer). Compute cost only really starts being a worthwhile optimization target at the "hundreds of billions of requests per day" level, and even then you're not gonna see much of an improvement from moving to Java unless you're actually very good at tuning threadpools (and it might still not be enough of a win compared to whatever else your developers could be doing with that time).

Re: Open-sourcing the Sorbet VS Code Extension

#53
post #22

Earlier quoted context omitted.

Why the push towards Java for new services?

A robust performant multithreaded runtime with a big set of enterprise libraries for the big boys.

That explains the JVM, but why Java, specifically? JRuby offers everything you mention.

Re: Open-sourcing the Sorbet VS Code Extension

#54
post #47

Earlier quoted context omitted.

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,…

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

I think your PHP info is wrong, PHP has a package manager named composer. So if you need to connect to amazon S3 amazon published a package (that does't depend on 100 leftpads) https://packagist.org/packages/aws/aws-sdk-php

Maybe is not modern enoug in your opinion? Then what is missing except lefpad and color-red ?

Re: Open-sourcing the Sorbet VS Code Extension

#55
post #47

Earlier quoted context omitted.

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,…

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

Its unfortunate that PHP has been clubbed with COBOL :-).

You may not be aware but PHP has a great package manager called composer. It is intensively used in the PHP community for a long time now. The packages are available at https://packagist.org/ .

Packagist houses 300,000+ packages and has received 50 Billion package downloads since 2012 (See https://packagist.org/statistics ). PHP's Packagist would actually would easily rank amongst the biggest package management ecosystems among programming languages.

PHP is certainly not disappearing. While it is no longer as dominant as it used to be and there is a slow, long term decline, it continues to be very active. Ruby's decline actually is sharper than PHP. Here is an interesting resource https://redmonk.com/rstephens/2021/08/05/top-20-june-2021/ . All statistics need to be taken into perspective but if you look at other proxy activity like GitHub PRs, projects, jobs etc. for PHP, it continues to be very strong. Using the word "disappearing" feels wrong to me. Trends are not irreversible. Over the years, languages have gone down, only to come back up.

P.S. Fortran is still going strong also. It is still used extensively in the Scientific Computing community. While, I'm not familiar with the ecosystem there are package managers in Fortran too. I'm not familiar with how good or popular they are though.

Re: Open-sourcing the Sorbet VS Code Extension

#56
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.

Of course it will come back, you just need to wait until dynamic typing becomes fashionable again. Development time is still more important than operational speed.

Re: Open-sourcing the Sorbet VS Code Extension

#58
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…

Not OP, but hopefully this helps with your first point: we're happily using Sorbet with Rails (leveraging sorbet-rails). It's by no means perfect, but a gradual typing experience in Ruby never will be, unless you restrict the way you use the language. The benefits of having at least some level of type-checking outweigh the cons, IMHO. Sorbet picks up many of the little typos that only become apparent when you try out the code / run a test. I've been using an unofficial VS Code extension for ages, and I really like the increase in iteration speed.

Re: Open-sourcing the Sorbet VS Code Extension

#60
post #45

Earlier quoted context omitted.

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…

Yeah, Typescript is a complete no-brainer as a pick - even if you're only picking a backend language. The type system is better than anything this side of Haskell, while still letting you write boring imperative code without getting in your way for every little thing if you just need to pipe some data around. Performance is really not an issue unless you're doing very CPU-intensive work which you can't offload to a n…

Rust's type system is also better than Typescript, and I would say Dart is slightly better too. But I agree Typescript is very very good, and you get access to such an enormous ecosystem it's worth it in most cases, and it's only a few times slower than C++/Rust. Not 50 times like Python or Ruby.
Post reply on HN