Announcement

Collapse
No announcement yet.

Microsoft To Open-Source .NET, Bring It Officially To Linux

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

  • #81
    Oracle is shooting itself in the foot with that article. The shown Scala/Groovy operators are so much nicer than the new Java way, in an article meant to showcase the new Java way.

    Comment


    • #82
      Server development

      From what I am reading from this discussion I come to the conclusion that most of the folks here have not tried using .NET for anything than building mighty "Hello, World!" applications.
      Most of the things written in .NET nowadays are server-side with heavy ASP.NET integration -- this means websites. Sure, there are games and WPF applications, but most of it is purely server-side development. What this means? Tons of multi-process, multi-thread code interacting with each other through WCF. Inversion of control. Entity Framework. Reflection. Lync. Parallel library, including Parallel Linq. Functional Programming through Lambdas. Expressions (Exprssion Trees) and the things you may build with them (Compiled custom code? Self-optimizing routines based on user input, readily available? Automatic network interface implmentations? Dynamic typed queries? Custom filters, created on Client Side, and executed on the Server with literally 3 lines of code? You have it.). All of this in a single language, most of which makes perfect sense, known to a large amount of people already, with successful deployments.

      Having spent more than a decade on coding in C++, C, Java, Delphi (yuck), I find C# to be the most concious and well-built developer-oriented stack. True, most of the cool development comes to Windows later, if ever, but still, there is tons of things that affect us as developers that you simply can't find in _any_ other software stack. I mean, seriously. I don't think the other languages lack something fundamental in that manner (esp. Java). I do, however, think that they are stuck in the middle ages, with thoughts like "C++ is the best language!", "Java is the way forward!", etc. without acknowledging even half of the things that happen on the other side of the fence. Don't get me wrong -- I detest Windows as a platform and think it should not have lived the light of day if not for its over-agressive market. But C# is a completely different story. It is(was) closed-source, true, but there is a reason why developers using it are paid better and that reason is they are usually more productive. True, the language gives you enough freedom so you can become lazy, write crap, etc., but that's everywhere, and has more to do with personal culture than with programming skill set.

      I, for one, welcome the change for an open .NET. Once you can safely code server-side stuff for Linux in .NET, things will get much better in here.

      Comment


      • #83
        Originally posted by curaga View Post
        Oracle is shooting itself in the foot with that article. The shown Scala/Groovy operators are so much nicer than the new Java way, in an article meant to showcase the new Java way.
        Maybe so, but personally I don' think Oracle actually cares what you run on the JVM as long as you run it on the JVM. I like them both and even if the new Java way seems worse than the Scala/Groovy way, it is still alot better than the old Java way.

        I actually like Java, especially with the changes that has come in Java 8. But it seems that I am in a minority today But there are a lot of things in Java that other people say is a problem that I like about Java, like f.i. checked exceptions... But everyone has their own opinions of stuff... I am happy as long as I am lucky enough to get to work with stuff I like

        Comment


        • #84
          Originally posted by vein View Post
          Actually...this way of doing this in java in pretty old....I suggest you read about "Optional" in Java8, it should make your life easier:

          http://www.oracle.com/technetwork/ar...l-2175753.html
          The problem with Optional in Java 8 is that it's not retroactive. If I'm calling a method from an Apache Commons Java library, or a Spring library, and even from half a million lines of Java we've already got on our own application, I can't apply Optional to it.

          The Groovy ?. operator - and as the same article mentions, the "Elvis" operator ?: - work with any Java.

          Comment


          • #85
            Originally posted by Michael_S View Post
            The problem with Optional in Java 8 is that it's not retroactive. If I'm calling a method from an Apache Commons Java library, or a Spring library, and even from half a million lines of Java we've already got on our own application, I can't apply Optional to it.

            The Groovy ?. operator - and as the same article mentions, the "Elvis" operator ?: - work with any Java.
            True. It makes your life easier but it is not perfect. What I did with the existing code in our application was to use default methods to kind off "inject" optional into it. It works pretty good. But you cannot do that to Apache or Spring code.

            Comment


            • #86
              Originally posted by Michael_S View Post
              ... which disappoints me. Java 6 is no prize. Maybe the best hope for ending developer nightmares is cross-platform toolkits written in other languages, like Xamarin and (as polarathene already mentioned) Haxe.
              As boring as Java 6 is, it's probably adequate for basic Android GUI wiring code. Java 8 would be nicer.

              There are _dozens_ of cross platform toolkits targeting Android and I wouldn't consider Xamarin in the top 10. Think Corona, Cordova, Sensa Touch, Unity (C#), libgdx, many other HTML based ones...

              I suspect there are legal reasons blocking an upgrade to Java 8. I'm still shocked Google hasn't just made a non-Oracle successor language.

              Comment


              • #87
                Originally posted by Michael_S View Post
                Often in Java, I'm doing something like this:
                SomeClass someInstance = null;
                if (foo != null && foo.getBar() != null && foo.getBar().getBaz() != null) {
                someInstance = foo.getBar().getBaz().getQuux();
                }
                In Groovy, they have the "save de-reference" operator "?." - which returns null if the variable it modifies is null, otherwise it walks the object graph. So that becomes
                SomeClass someInstance = foo?.getBar()?.getBaz()?.getQuux();
                If any of the objects in that graph relationship is null, someInstance is just set to null.
                i am not a java programmer, but you can rewrite it with non-member functions s=h(g(f(foo))), which will check for null argument

                Comment


                • #88
                  Originally posted by DanLamb View Post
                  As boring as Java 6 is, it's probably adequate for basic Android GUI wiring code. Java 8 would be nicer.

                  There are _dozens_ of cross platform toolkits targeting Android and I wouldn't consider Xamarin in the top 10. Think Corona, Cordova, Sensa Touch, Unity (C#), libgdx, many other HTML based ones...

                  I suspect there are legal reasons blocking an upgrade to Java 8. I'm still shocked Google hasn't just made a non-Oracle successor language.
                  I know there are lots of cross platform toolkits, but I've never tried any so I couldn't begin to rank them. Even if Xamarin isn't in the top 10 now, maybe Microsoft will try to improve it enough to put it on the list in the future.

                  Originally posted by pal666 View Post
                  i am not a java programmer, but you can rewrite it with non-member functions s=h(g(f(foo))), which will check for null argument
                  Good point. I think that still increases the verbosity of the code, because I've got to add the non-member functions (static functions in Java), but it is less ugly than the long chain of null checks.

                  Comment


                  • #89
                    Originally posted by Michael_S View Post
                    The problem with R is that the open source versions expect to manipulate the entire data set in RAM. That's why my employer does all of their data manipulation in other languages, because they didn't feel like modifying R to work with data sets larger than 10TB.
                    R is also terrible at making web pages and writing video games. Most tools have a niche where they make sense, and sure, you have described a scenario outside of R's niche. Matlab isn't a good choice for super large data sets either, that's really not it's niche either.

                    Comment


                    • #90
                      Originally posted by DanLamb View Post
                      R is also terrible at making web pages and writing video games. Most tools have a niche where they make sense, and sure, you have described a scenario outside of R's niche. Matlab isn't a good choice for super large data sets either, that's really not it's niche either.
                      I mentioned that R isn't good for very large data sets because it was something I didn't know until earlier this year. R gets compared with SPSS and SAS a lot, and usually in the community of people that like open source software we think it's silly for someone to pick the commercial choice over the open source one. But in this case, SPSS and SAS have a serious advantage.

                      Comment

                      Working...
                      X