2 ms·
Yep, as the other commenter said, languages scale differently because of the entire suite of different and interacting features. I know it's cliche to say, but
by sanderjd 6y ago
Yep, as the other commenter said, languages scale differently because of the entire suite of different and interacting features. I know it's cliche to say, but I still believe it's true, that Go suffers from lacking generics, particularly as a project grows. I see big projects with lots of `interface{}` usage to work around this, and at that point the type system is essentially equivalent to Python's, which in my view is harder to maintain at scale. This seems a lot more common in big Go projects than use of Object in big Java projects, for instance, and I think it's a smell. I also think nil-based error handling is harder to maintain than languages with no nulls, or strongly discouraged nulls (but most languages have this problem). I don't have a good sense for how well the concurrency functionality in Go scales, but I get the sense that it's pretty good, and superior to most other languages, including the other ones in this thread.