News for hackers. Stuff that matters.
Re:Crunchy Bridge's Ruby Back End: Sorbet, Tapioca, and Parlour by karmakaze on Wednesday November 02, 2022 @04:48PM (#33442709)
It is bolted on, and personally I might not use it either. But at scale it makes a big difference.

The other difference is that I can not add a validation and the code passes existing tests and runs. Typecheck won't pass without making the messy longer type sig or writing the untyped smell.

Re:Crunchy Bridge's Ruby Back End: Sorbet, Tapioca, and Parlour by ch4s3 on Wednesday November 02, 2022 @07:18PM (#33444217)
I always hear the at scale claim, but have never seen it even in larger code based. The academic literature also seems far from conclusive. I get why people like types, but I think they’re a bit oversold.
Re:Crunchy Bridge's Ruby Back End: Sorbet, Tapioca, and Parlour by karmakaze on Wednesday November 02, 2022 @07:27PM (#33444285)
The literature I read mentioned defect rates, not so much about productivity or understanding rates.
Re:Crunchy Bridge's Ruby Back End: Sorbet, Tapioca, and Parlour by karmakaze on Sunday November 06, 2022 @04:23PM (#33497351)
The literature I read was about comparable defect rates between different programming languages producing comparable functionality.

I hadn't read anything about productivity of different languages and team sizes--if you have any references I'd be interested in reading them.

One story I did read was about how Twitter switched to Scala (and later Java IIRC) mainly for the static typing and not for performance or other reasons.

I don't understand the not seeing it in a large codebase point. I work on a large Ruby code base that started without type annotations. Since I joined, we're now all adding type annotations for everyone's benefit, so they definitely exist. The reason for not wholly rewriting such a large codebase in a static typed language should generally be considered a no go. Many devs complained at the time and now most (if not all, I don't know of exceptions) now appreciate having the type checking and visible annotations for reading. I don't work on front-end but I expect that there was a some of that too in the React TypeScript codebases.