|
|
|
|
|
by horsawlarway
406 days ago
|
|
I think this is a beginner take. If you only work in small teams, or small projects, I could see this opinion getting formed and maybe agree. But having worked on large projects... Types are fucking great. So much value exists in simply having a tool that highlights everywhere in the codebase my change impacts. It makes refactoring at scale possible and expedient in a way that is simply better. Period. I can be fearless changing things, because I don't have to wonder about all the places my change might have broken - it literally gives me the exact set of files and lines I need to go fix. I don't even have to rely on tests. It's... Better. It's better even for my personal projects, and it's unimaginably better for my 300 engineer org. |
|
What I don't understand is why, with the myriad of Java-like languages out there (types and all), corporate types still want to Java-ify languages like Ruby... Like, just use Java, Go, Typescript, etc...
It's nice that there's still a language and framework that optimizes for solo devs/small teams and startups.
> It's better even for my personal projects
Does your personal project make money and/or need to be launched quickly? I've also got personal projects in statically typed languages (been playing around a lot with Odin/Vulkan) but those have no due date or expectations. Also declaring types only prevents a very small amount of bugs. And it's not like Ruby doesn't have linters, tests and other tools. Direct feedback from the REPL also makes it easier to write correct code.
Better is also a meaningless word when it comes to software. Does better mean you can ship faster? Or that it's more performant? Unfortunately no language has given us the productivity of a dynamic language with compiled language performance, so everything is a tradeoff...