If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
If you do not agree with my previous point then if it was Sun instead of Oracle perhaps I could agree with you on the lesser evil part but in my opinion Oracle is as evil as Microsoft is (some would argue that all corporations are evil but I would answer that some managements are more evil than others). So between Java and .NET it's two evil corporations and two major technology stacks which they control. A draw?
As for languages of choice, I heard lots of nice things about Scala but then I heard a lot of nice things about F#. F# as actually created initially on Mono and its creators postulate to not marginalize Mono. Let's talk about technology stacks because languages could obviously be implemented with different back-ends.
That said ... I personally think Mono could do much better by itself if it freed itself from Microsoft completely.
My final point is that Mono is a nice open piece of technology by itself and Java that everybody uses is a buggy insecure piece of blob. How to run Minecraft on any open source Java tech?
I am not seeing your point here either. OpenJDK is portable (through Red Hat's Zero and Shark projects). There's also a LLVM based JVM in the works (VMKit j3). Furthermore, Java has an established community process for proposals (most new features start as JSRs): https://jcp.org/en/jsr/overview
Java is also available in AOT form through GCJ (which is not in a good shape nowadays, but the work was done years ago).
There's also the fact that the community could fork OpenJDK if they felt like it.
First party/first day support for Linux/MacOS/Windows, open source, established community process, industrial-grade implementation, vast libraries. I don't see how Mono could compete with that for now.
BTW, I'm not a Minecraft user, but from what I gather from Google it runs without problems on OpenJDK (i.e. "open source java tech").
I did the Java thing for 15+ years and was quite the advocate but it really lost me when Oracle decided to ditch some of the initial principles of elegance and strictness in favor of making a "J#", so to speak. And now it seems they are chasing after this Scala, which is an absolutely idiotic programming language.
At this point in my career I'm ready to propose that everything be scrapped but C. Everything should be C only from here on out.
I could agree with you on the lesser evil part but in my opinion Oracle is as evil as Microsoft is (some would argue that all corporations are evil but I would answer that some managements are more evil than others). So between Java and .NET it's two evil corporations and two major technology stacks which they control. A draw?
This notion of "evil" is silly. "good vs evil" narratives are usually emotional exaggerations and simplifications that divert thought from more reasoned logic.
If we can continue to ramp up the adoption of Scala then we can get the resources and person power to build our own Virtual Machine /native compilation, targeted at Linux free of Oracle's control..
Someone controls everything. I don't see how Oracle is a particular problem. If someone else makes a better product than the Oracle VM, it might be worth switching, but I don't see an inherent advantage to non-Oracle control and ownership.
Microsoft is notorious for having this ecosystem of developer products that leverage you into using other Microsoft products. For example, some C# LINQ features only work with SQL Server. Visual Studio only works on Windows OS. A lot of third party C# libraries and SDKs only work with the Microsoft version of .NET and assume Visual Studio and don't work with Mono. A lot of people love the Microsoft ecosystem and tie in is fine. Other people have valid reasons to avoid the Microsoft ecosystem, and it makes these technologies a poor choice.
The technology tie-in issue really isn't a problem with Oracle. Sure, Oracle has their own OS/databases/IDEs, but they don't pressure regular JDK developers to use or favor those in any way.
My final point is that [...] the Java that everybody uses is a buggy insecure piece of blob.
This is childish. Java is "buggy" and "insecure"? In terms of server software or workstation software, this is just unreasonable and not true. If you're talking about applets, that's true, they are insecure and buggy, but applets are mostly an older legacy component that isn't used by the overwhelming majority of the Java development community and is irrelevant.
I think that being able to compile your own stack (open source) is one of the biggest advantages.
The ability to rebuild the JDK and potentially fork/modify is important for a few rare niche scenarios, but is completely unnecessary for most usage, and most developers don't care. What is more commonly important is the ability to see or debug into the source code, specifically at the high level Java which is easy with the JDK, but doing full rebuilds or maintaining full forks is much more rare. Most of the JDK code is in public easily accessible repos and it can be built and forked according with the GPL license, but there are discrepancies with the official Oracle binaries, and that's not a concern for me or most other developers.
Sadly some applications still only run with Oracle java, and I have a lot of users complain that installing java is non intuitive when the package they need is actually called Icedtea. Furthermore sites that require java just points to Java.com where they are just handed a tar and not given propper instructions on how to install it or that openjdk exists. In any case I find that having both easily available is better than just one