4 ms·
The most important thing is to use the right tool for the right job. If the project has networking and doesn't involve building a GUI or graphics, then Go is a
by pbohun 10y ago
The most important thing is to use the right tool for the right job. If the project has networking and doesn't involve building a GUI or graphics, then Go is a great choice. (Not that Go can't do GUIs or graphics, but there aren't very robust and mature libraries for those things yet).
- AnimalMuppet 10y agoDoes Go do networking better than Java?
- perfmode 10y agoGo's standard library is pretty nice.
- AnimalMuppet 10y agoI know that Java's standard library is very complete. I know very little about Go's, but I presume that it's not more complete than Java's. Is Go's library easier to use than Java's? Is it significantly easier?
- Matthias247 10y agoGo is through it's integrated support goroutines (green-threads) very efficient at IO, while still presenting it in a traditional fashion (like blocking IO). Java can also be very efficient, but only provides the lower level NIO library out of the box. To use that you either have to build und understand a lot of components for yourself (e.g. an IO Reactor, timer handling, etc.) or include one of the bigger frameworks for this purpose (e.g. Netty).
- deleted 10y ago[deleted]
- kt9 10y agoIf I did any UI pieces it would probably be in React talking back to an API handled by the core server.
- _RPM 10y agoWith network applications, you're often trying to optimize performance. It seems to me that the Go GC would make it a non optimal choice for network applications. I think writing it in Go would be good for the prototype.
- perfmode 10y agoGo is great for I/O bound applications.
- raptaml 10y agoJava's networking capabilities are rock solid, battle-tested and have got very fast as it is used in many heavy duty back end systems all over the world