4 ms·
Comparing C# and Java is so last decade. I don't use Java because of the language, but because of its enormous toolset and awesome community. If there is somet
by olavgg 12y ago
Comparing C# and Java is so last decade. I don't use Java because of the language, but because of its enormous toolset and awesome community.
If there is something I can't do well with Java, then I have Groovy. I will most likely waste time trying to implement the same thing with C#. In fact I would probably just use Python or C instead.
- vishnugupta 12y agoThis! I really don't know why those comparing languages fail to recognize that a language's success has got much to do with the "ecosystem" as well; tool-set, libraries and so on.
- aidanhs 12y agoThe main reason I don't use Java is because of the (de-facto) tooling - maven in particular is completely opaque to me and seems very resistant to experimenting to figure out how it works (though I am having to work with deeply nested poms and custom plugins). I've used build/release management/dep management tools from/like go, python, ruby, node, erlang, make, autotools and cmake and I've never before had to read a manual to tweak an existing setup. Go is probably my favourite ecosystem because everything is very simple. I suspect Rust will be good as well.
- vishnugupta 12y agomaven is fine if you want to get started and get a deployment going. But I agree with you, if your requirements are even slightly off maven's defaults (e.g., different build directory) then you will be in loads of pain.
- Rezo 12y agoThe first step to improvement is acknowledging your shortcomings. It's very easy to just accept things as they are and consider them set in stone, when your entire community adopts the mindset it leads to stagnation and cargo cult programming. Good ideas should be adopted no matter where they originated. Fortunately not everyone in the Java community is happy with the way things are. Indeed, Java 8 fixes some of the issues mentioned here, like repeating an annotation. Obviously this wasn't some brilliant insight developed in a vacuum, people looked at C# and thought "Neat, I want that!", and now Java is a better language because of it. As engineers we should not settle for the way things are. One day we'll hopefully have Reified Generics, maybe properties and other obviously good ideas, and no thanks to the people who are happy with Java as it is now. "People who say it cannot be done should not interrupt those who are doing it" comes to mind.