Jacob Pressures wrote:Why is Java so popular? Why hasn't it been replaced? Is it all politics against Microsoft? Or price issues? Can a person love Java coming from C#?
Jacob Pressures wrote:
Why is Java so popular? Why hasn't it been replaced? Is it all politics against Microsoft? Or price issues? Can a person love Java coming from C#?
Jacob Pressures wrote:Hi, It is not my intentions to insult anyone or Java. I have a new job offer and they are sending me to 2 months training on Java. I'm familiar with C#. I'm not a well experienced programmer. I still consider myself entry level but I'm familiar with the N-tier architecture, design patterns, web services, etc. I've just not done a lot of coding.
Winston Gutkowski wrote:However, I really dislike the implementation of 'final'. It seems way more complex than in Java, with "sealing" layered on top of it all, rather than just having it mean "you CAN'T override (or change, or extend) this ... EVER".
Matthew Brown wrote:In practice you use the word sealed instead of final for classes and methods to prevent overriding/inheritance, and readonly instead of final for member variables to prevent them being changed, and they behave exactly the same. What's the objection, exactly?
Winston Gutkowski wrote:
I'd also say that Java has C# beat when it comes to WORA. Maybe not theoretically, but pretty much all Windows boxes run a JVM; I'm not aware of too many Unix/Linux systems that run .NET though.
Henry Wong wrote:The issue with Mono is support. No commercial company (that wants to stay in business) will go into production without Support...
Henry Wong wrote:..., if I had to choose, I like C# more than Java, and the reason would be that I like Visual Studios more than Eclipse.
Matthew Brown wrote:For me, the biggest difference is that C# moves faster than Java, for various reasons. Before C# 3 there really wasn't a lot of difference. But since then it's brought in a number of features that Java either hasn't, or picked up later (try-with-resources in Java 7, and lambda expressions in Java 8 being a couple of examples).
The impression I get is that in the .NET world the language development has been mainly in C# (with a bit of F#), whereas in the JVM world a lot of the innovation has been in alternative languages (Scala, Groovy, Clojure etc.).
Jesper de Jong wrote:but on the other hand it means that we are stuck forever with for example raw types, legacy classes such as java.util.Vector...
...and badly designed APIs in the standard library.
Winston Gutkowski wrote:Not to mention Stack.
Winston Gutkowski wrote:Agreed, but do these more "dynamic" languages not suffer from the same problems? It seems to me that it might be even worse, unless they've got some way of simply eliminating them from their "foundation base".
Jesper de Jong wrote:Let's look at Scala, for example: nowadays they are a bit more careful with backward compatibility, but the Scala language developers haven't hesitated in the past to completely remove or redesign classes in the Scala standard library. People who wanted to upgrade simply had to rewrite part of their code.
Winston Gutkowski wrote:
And isn't it interesting that when you pick an MS product you need it, whereas when you "go open-source" there's a pile of free support out there in Web-land?
Those same companies that want a support contract for More - didn't know that's what it was called, but thanks for that - are quite happy to download a JVM; or have Linux servers running their networks, or webcaches, or firewalls, when (as far as I know) there's nothing that actually guarantees they'll even run.
Henry Wong wrote:In my opinion, in most cases, I don't think that there are any form of free support that is suitable for production. If the production system has value, then it will need some sort of SLA with support, and no free support does that.