Ask HN: New OSS Projects: Go or Java?
I'm thinking of working on building something new and open sourcing it. I know java really well so my first choice is to build it in java (pure java - no J2EE or other bloat) but Go also looks like a great alternative. Plus I'll have an excuse to learn Go.
Since I'm hoping others in the community will want to contribute, I thought I'd ask here before making a decision.
What do folks think - should I build it in Java or Go? Would you prefer to contribute to a Java or a Go codebase?
30 comments
[ 3.0 ms ] story [ 68.1 ms ] thread1) launch a project
2) learn a language
Learning a new language will derail your project completion and launch indefinitely, often permanently.
Better interpretation, pronunciation, efficiency. Why are you not writing Spanish today?
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).
OTOH, if the project will require heavy loads you might want to consider Phoenix/Elixir. That's would be learning something truly different too.
There is an old quote that when people ask for advice you should carefully figure out what they want to hear and then tell them that.
In this case even more so: if you are starting an open source project I'd strongly recommend optimizing for long-term motivation. Whatever that means in this case I'm afraid I cannot tell.
> Would you prefer to contribute to a Java or a Go codebase?
I personally would have a way simpler time contributing to a Java project than a Golang project.
Otherwise pick Go.
My impression is that Java is used by enterprise and more established sectors, whereas Go is popular with hobbyists and early adopters.
If you want to learn, Go is a good choice. If you want to get things done, use what you already know.