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

Quite the opposite here. Go is very easy to refactor if need be. What kind “breakages” are you talking about? Go being “verbose”? Or “fragile”? I doubt we’re talking about the same Go.

In Go you have a garbage collector, no need for the borrow checker or reference counting on your side. What unexpected nil pointers or zeros? It’s all easy and straightforward in Go. If you’re referring to the handling of materialized interfaces, which one may encounter in form of concrete error types, and which is one of Go’s idiosyncrasies, then it might help to look deeper into learning how to handle Go’s interfaces.



> Go being “verbose”? Or “fragile”? I doubt we’re talking about the same Go.

Maybe compared to C, Go is quite concise, but Go is nowhere near Rust's level of expressiveness, especially with poor generics support, much more verbose error handling etc.

> no need for the borrow checker or reference counting on your side.

I think that people that mention borrow checker in context of backend dev haven't done much backend dev in Rust. The nature of a web backend is to (most of the time) get data from the client, process, return a response. In this context you very rarely have to think about borrow checker and almost never use explicit lifetimes.

> What unexpected nil pointers or zeros? It’s all easy and straightforward in Go

If you forget to initialize a struct, you may end up with a nil pointer and you might not catch it until runtime.




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

Search: