Announcement

Collapse
No announcement yet.

Java JDK 8 Release Candidate Finally Arrives

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by uid313 View Post
    C# is superior to Java. It is Java done right. C# is like a modern version of Java.
    It has all nice language features like collection initializers, type interference, etc.
    The .NET Framework is way better planned, designed, architectured and thought out than Java Class Library (JCL).

    C# and the .NET Framework are partly standardized in Ecma, and there are third-party cross-platform implementations such as Mono.

    Things that require dozens of lines of code in Java, can be written in a handful of lines of code in C# on .NET.

    Everything about C# and .NET Framework is better than Java.
    Lets not get into the discussion about IDE where Visual Studio blows Eclipse, IntelliJ IDEA, NetBeans and everything else out of the water.
    Not to mention the MSDN documentation which is great.
    Really? I never liked Visual Studio - Intellij IDEA (especially the later versions) blows pretty much everything else away that I have used. Then again I have simple needs - I generally prefer building on the command line and logging vs. real time debugging (although Intellij's debugger is very, very good). But, again, C# and .NET binds you to Windows - last I played with Mono is was pretty shitty. Is there even an OSX/BSD implementation for it? So if you write webapps, it stills you into Windows Server basically, right? Never had any issue with documentation in Java - generally all I need is the provided JavaDocs/ API documentation (or Stack Overflow I guess). Collection initializers would be nice, although this can be done in Java (Arrays.asList(a,b,c)) for some Collections. Others (like Maps) can be a PITA. OTOH, if you have a large map to initialize with value you as well just bump them out to a resources/.properties file and just load them into the map directly and dynamically. So yeah, Java isn't perfect, but I don't see it as this huge cluster f*ck and C# is this saviour of everything.

    Comment


    • #22
      Originally posted by TheBlackCat View Post
      Except if you try to implement your version, then Oracle will sue you even if you don't call it Java.
      Oracle has been quite supportive of non-Oracle languages like Groovy, Clojure, Scala, etc. And non Oracle VMs like RoboVM. And non Oracle JDK contributions. And non-Oracle IDEs and the zillion other build tools and libraries and frameworks.

      Most of the JVM ecosystem is not created or owned by Oracle in any way and Oracle has supported the whole thing and contributed to the ecosystem.

      I know they sued Google and there was a big conflict with the Apache group over Apache Harmony about official certification tests which I don't fully understand. I'm not claiming that Oracle is some saint, but for most use cases, I don't see a reason to avoid the technology.

      Comment


      • #23
        Originally posted by smitty3268 View Post
        Originally posted by bakgwailo View Post
        Sure, Sun changed their licence agreement for their binary distro, but OpenJDK can be distrubted at will.
        Sun's lawsuit against Google says otherwise.
        This is ridiculous. Google didn't get sued for redistributing the OpenJDK. The argument was Google rewrote GPL code at a line for line level and then didn't follow the GPL rules. I still don't think Oracle was right, but what you are saying is simply false.

        Originally posted by smitty3268 View Post
        Originally posted by bakgwailo View Post
        Personally I have no idea what features C# has over Java, as I generally develope cross platform solutions that work in all OS's.
        A lot. A lot lot. They really aren't even comparable right now.
        That's ridiculous.

        Java 8 is playing catch up, but it really eliminates the main deficiencies: clean lambda syntax and fully functional standard collection library (which required add-on libs for Java 6-7).

        C# has a few plusses like unboxed primitive support for generics and unsigned ints and stack allocation (value types) and declaration side type variance for generics, nicer multi-line string literals, but those are fairly minor. There are also async features in the newest C# 4.5.

        Java has minor enhancements as well: enums are more powerful, Java is a cleaner syntax in that C# has a ton of core syntax features that are of questionable value. I like that the standard Java 8 library has "Optional".

        For the most part, Java and C# are extremely similar. C# was obviously an enhanced rewrite of Microsoft's version Java.

        Scala blows both languages away... By far.

        Originally posted by smitty3268 View Post
        I wouldn't advocate using it on linux. It's way ahead of Java on windows, though.
        That's a platform issue, not a language issue. Java runs perfectly well on Windows. C# desktop GUIs are more native than Java GUIs (Swing or JavaFX) but Java GUIs are more cross-platform.

        Comment


        • #24
          Originally posted by uid313 View Post
          C# is superior to Java. It is Java done right. C# is like a modern version of Java.
          It has all nice language features like collection initializers, type interference, etc.
          The .NET Framework is way better planned, designed, architectured and thought out than Java Class Library (JCL).

          C# and the .NET Framework are partly standardized in Ecma, and there are third-party cross-platform implementations such as Mono.

          Things that require dozens of lines of code in Java, can be written in a handful of lines of code in C# on .NET.

          Everything about C# and .NET Framework is better than Java.
          Lets not get into the discussion about IDE where Visual Studio blows Eclipse, IntelliJ IDEA, NetBeans and everything else out of the water.
          Not to mention the MSDN documentation which is great.
          Where do these people come from? Wow... I've posted dozens of flaws in C# and these guys can't respond do to any of those.

          Comment


          • #25
            Originally posted by DanLamb View Post
            This is ridiculous. Google didn't get sued for redistributing the OpenJDK. The argument was Google rewrote GPL code at a line for line level and then didn't follow the GPL rules. I still don't think Oracle was right, but what you are saying is simply false.
            No, that wasn't oracle's argument. Their argument was that google reproduced the API of Java, without actually copying the code. They claimed that the Java API was copyrighted, and that anyone who tried to make another Java implementation that was API-compatible with theirs was in violation of their copyright, even if not a single line of code was copied.

            There were copying issues with one rangecheck function and some test files that were apparently never included in any Android release, but oracle's argument about the copyrightability of API was independent of those issues. The rest of the code (essentially all of it) was a clean-room implementation with no copying of oracle's code whatsoever.

            If oracle's argument stood, then wine would be in violation of copyright, mono would be in violation of copyright, samba might even be in violation. Any attempt at making software that reproduced another's API would be in violation of copyright. There is a reason that pretty much the only company that agreed with oracle's argument was Microsoft.

            Comment


            • #26
              Originally posted by DanLamb View Post
              Oracle has been quite supportive of non-Oracle languages like Groovy, Clojure, Scala, etc. And non Oracle VMs like RoboVM. And non Oracle JDK contributions. And non-Oracle IDEs and the zillion other build tools and libraries and frameworks.
              You can say the exact same things about Microsoft and .NET, for what that's worth. (IronPython, Mono, etc.)

              Personally, i think they'd sue too if they thought they could get somebody like Google to pay a billion dollars, but that doesn't make them any worse than Sun. It makes them the same.
              Last edited by smitty3268; 07 February 2014, 02:33 PM.

              Comment


              • #27
                Originally posted by TheBlackCat View Post
                No, that wasn't oracle's argument. Their argument was that google reproduced the API of Java, without actually copying the code. They claimed that the Java API was copyrighted, and that anyone who tried to make another Java implementation that was API-compatible with theirs was in violation of their copyright, even if not a single line of code was copied.
                I completely misspoke. Obviously Google didn't copy source code line for line, but it was clearly a close imitation with API compatibility.

                You are right. They did claim copyright infringement. They also made the GPL claim which could have just been a diversion. But clearly, Google could have used a fork of the OpenJDK as long as they kept it under GPL licensing and rules.

                The claim that I was replying to that Oracle will sue for redistributing the jdk is baseless and has nothing to do with the Google lawsuit. Tons of products redistribute the jdk like some Matlab and IntelliJ-based IDEs and I don't think that type of behavior has any valid basis to fear litigation.

                Comment


                • #28
                  Originally posted by smitty3268 View Post
                  You can say the exact same things about Microsoft and .NET, for what that's worth. Personally, i think they'd sue if they thought they could get somebody like Google to pay a billion dollars too, but that doesn't make them any worse than Sun. It makes them the same.
                  Microsoft has sued Google through patent holding intermediates and has aggressively sued lots of players in the Android space on wildly dubious claims, but that's largely irrelevant politics to me.

                  The relevant claim that I would make is that the JVM ecosystem has a much more open and less Oracle-centric culture while the .NET ecosystem has a far more Microsoft-centric culture.

                  Look at the IDEs or the build tools or the alternate languages in JVM vs .NET: In JVM, the dominant IDEs are Eclipse and IntelliJ, the dominant build tools have been Ant,Maven,Ivy,Gradle,SBT, and Scala is probably the most liked language in the community. All that stuff was created and developed outside of Oracle. In the .NET world, people overwhelmingly use Visual Studio as an IDE, and use Microsoft build solutions, and the C# language. A few people are using F#, but most .NET devs wouldn't consider using a non-Microsoft language. When languages like Clojure run on both JVM and .NET, the JVM community is much more willing and open to adopting it.

                  Comment


                  • #29
                    Originally posted by DanLamb View Post
                    The relevant claim that I would make is that the JVM ecosystem has a much more open and less Oracle-centric culture while the .NET ecosystem has a far more Microsoft-centric culture.
                    I don't think anyone would argue that point, it's obvious. It's also completely irrelevant to most people, who just want something that works, and don't care where it comes from.

                    Comment


                    • #30
                      How does Java work on Linux with hidpi displays? Right now, Java is the WORST when it comes to supporting these newer displays. Has there been improvements in this area or is this release all about changes to the core language?

                      Comment

                      Working...
                      X