Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I cast glances at it every time my company's Python services break because of a runtime error that could have been caught with a better type system, or because they ran out of memory and need bigger boxes, or another developer has to spend a week debugging their environment to get the complex web of dependencies aligned for five minutes, or my laptop strains under the weight of a dozen docker containers attempting to shield all those system-level dependencies from each other, or a deployment fails because of bad tooling/dependency-management

Not all languages are as bad as Python, and Rust comes with a lot of other costs. But it's very seductive to think about a world where you build a static binary with a single command, the build always works no matter what system it's on, the binary always works on the target OS regardless of what else is or isn't installed, it will use 1/10 the memory, and most likely it will never have any runtime errors because you were made to handle them all already

(I realize Go has at least some of these benefits, but its type system is hard for me to stomach)



> I realize Go has at least some of these benefits, but its type system is hard for me to stomach

Can you elaborate on the issues of Go's type system?


Biggest one is lack of null-safety. The preference for implicit value defaults, sketchy error-handling, and similar choices also rub me the wrong way. The whole thing just feels too fast-and-loose for my tastes

I'm the thousandth person to suggest this, but my ideal language for web servers and lots of other things would be Rust with a GC instead of a borrow-checker. But Rust has its unique killer-feature to thank for a lot of the traction it's gotten, so it's very possible this hypothetical language never would have taken off in the first place. We've got what we've got, languages are social constructs just as much as technical ones, maybe even more so


Kotlin and Scala exist


Kotlin still has the annoying points of any jvm lang. Gradle, weird ORM stuff etc.


C# exists


Go, C#, Java, any of those have the benefits you mention (some, at least) without sacrificing that much early productivity




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: