Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. How about including Java as one of the .NET supported languages?

How about including Java as one of the .NET supported languages?

Scheduled Pinned Locked Moved The Lounge
csharpjavaquestion
41 Posts 29 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R roger2412

    Totally agree Being forced to use Java in Eclipse after coding in VS2010 was a nightmare. All that setting up ENV variables JAVA_HOME etc drives you nuts! And the stuff out there in the public domain is soooo amateur looking. BUT (and it's a big one) the reason enterprise Java is used a lot is that it can run on UNIX - that and it's not C++ (which I'd also rather use than Java...)

    T Offline
    T Offline
    Thornik
    wrote on last edited by
    #19

    I fear "enterprise Java" is the same myth like NFO: everybody knows it, but nobody seen. :) Currently .NET has everything to build any scale applications. Who care about "enterprise Java"? People just use stuff most handy in their company - a whole MS chain, from Server/Exchange/SQL till WinXP/Outlook.

    R C 2 Replies Last reply
    0
    • T Thornik

      I fear "enterprise Java" is the same myth like NFO: everybody knows it, but nobody seen. :) Currently .NET has everything to build any scale applications. Who care about "enterprise Java"? People just use stuff most handy in their company - a whole MS chain, from Server/Exchange/SQL till WinXP/Outlook.

      R Offline
      R Offline
      roger2412
      wrote on last edited by
      #20

      Agreed But the UNIX problem doesn't go away. I work on a lot Govt stuff and apart from the odd breath of fresh air, it all runs on UNIX - hence no C# dev - it's all done in Java. If there was a reliable solid MSIL VM for UNIX we could truly wave goodbye to the mess that is the Java programming environment....

      1 Reply Last reply
      0
      • J Jun Du

        I came across an experimental tool named XMLVM, which as claimed can convert the compiled .NET assemblies into Java byte code and vice versa. This makes me thinking why can't Microsoft include Java into the .NET run-time support...

        Best, Jun

        G Offline
        G Offline
        Gabriel Gaitano
        wrote on last edited by
        #21

        I think is not necessary. In .NET already exist a imitation ( C# ) and i prefer don't to see the microsoft world expand more.

        1 Reply Last reply
        0
        • L lewax00

          I hadn't heard that. The only things I saw (from Microsoft though, probably biased in their favor) made it sound like it didn't have enough of a user base to continue supporting it. But that makes a lot of sense.

          T Offline
          T Offline
          Thomas Stockwell
          wrote on last edited by
          #22

          It still did not have a huge developer base

          Regards, Thomas Stockwell Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Visit my Website

          1 Reply Last reply
          0
          • H hoonzis

            Why would you like to do that? There is nothing which Java can offer on the language level...well there are some points, like the "throws" declaration which forces you to catch possible exceptions. I do not see any added value on adding Java to the languages for CLR. (except the fact that it is so popular). On the other hand it would be great to write software in C# which would run on JVM... Or let's just wait till the release of Java 8 which will offer some good language stuff (2013...maybe) - than I will happily code in java...maybe

            E Offline
            E Offline
            Enrique Albert
            wrote on last edited by
            #23

            Jan Fajfr wrote:

            There is nothing which Java can offer on the language level...well there are some points, like the "throws" declaration which forces you to catch possible exceptions

            I recently started working in a Java project and it is surprising how much functionality .NET developers have available since .NET 3.5 that does not exist in Java.

            1 Reply Last reply
            0
            • J Jun Du

              I came across an experimental tool named XMLVM, which as claimed can convert the compiled .NET assemblies into Java byte code and vice versa. This makes me thinking why can't Microsoft include Java into the .NET run-time support...

              Best, Jun

              K Offline
              K Offline
              K Quinn
              wrote on last edited by
              #24

              Probably because C# and Java are effectively identical, C# is just a more mature language (even though it's not older). If you know Java, the only thing you need to learn from there is how underlying structures differ at compile time (generics, etc), linq, lambda expressions and the .NET namespaces that don't exist in java. As others have mentioned there was J#, but even sans the legal issues what's the point? If I want to write Java I'll fire up STS.

              1 Reply Last reply
              0
              • C Chris Meech

                lewax00 wrote:

                3. They tried it already, it was called J#, it never really caught on and they got taken to court about it.

                FTFY. :)

                Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

                B Offline
                B Offline
                brinkerville
                wrote on last edited by
                #25

                Correction... You are referring to J++ and they were not taken to court over J++. They were taken to court over the "Microsoft Virtual Machine". Without the Microsoft Virtual Machine, J++ was rendered useless as a technology. Microsoft later introduced J# to try and sway Java developers and their source code over to the .NET platform. There was not enough end user support to continue the J# project so they let it go. I think this was a big mistake. You don't close your door to those who might want to convert and join your "file".

                P C 2 Replies Last reply
                0
                • T Thornik

                  Java is a dead walker. Having C# I see no any reason to have Java too, esp. when Java as a language far behind C#.

                  T Offline
                  T Offline
                  TNCaver
                  wrote on last edited by
                  #26

                  I wish Java was dead, but it isn't. I code our web site in C#, but I'm forced to use Java for proprietary programs for our shiny, new Oracle DB and EBS implementation. C# is, as you say, far superior to Java: less overhead, clearer syntax (e.g., I love the way you write public properties for C# objects so that you reference them in code as if they were primitives, and not Getter and Setter functions), etc.

                  If goto is so bad, try writing an Assembly program without JMP.

                  1 Reply Last reply
                  0
                  • B brinkerville

                    Correction... You are referring to J++ and they were not taken to court over J++. They were taken to court over the "Microsoft Virtual Machine". Without the Microsoft Virtual Machine, J++ was rendered useless as a technology. Microsoft later introduced J# to try and sway Java developers and their source code over to the .NET platform. There was not enough end user support to continue the J# project so they let it go. I think this was a big mistake. You don't close your door to those who might want to convert and join your "file".

                    P Offline
                    P Offline
                    Patrick Fox
                    wrote on last edited by
                    #27

                    Yeah, this is what happened. Often times, when MS gets its hands on a technology it adds special hooks in for functionality it desires, and in doing so sabotages or takes over that technology as many people come to rely on these hooks. Sun didn't want Microsoft confiscating Java from them, and I don't blame them. I've always viewed the creation of .Net as Microsoft's acknowledgement that Java belongs to Sun and if they want to do it their own way, they have to start from scratch.

                    M 1 Reply Last reply
                    0
                    • B brinkerville

                      Correction... You are referring to J++ and they were not taken to court over J++. They were taken to court over the "Microsoft Virtual Machine". Without the Microsoft Virtual Machine, J++ was rendered useless as a technology. Microsoft later introduced J# to try and sway Java developers and their source code over to the .NET platform. There was not enough end user support to continue the J# project so they let it go. I think this was a big mistake. You don't close your door to those who might want to convert and join your "file".

                      C Offline
                      C Offline
                      Chris Meech
                      wrote on last edited by
                      #28

                      :thumbsup: The cobwebs are cluttering my brain. Much better clarification. Thanks. :)

                      Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

                      1 Reply Last reply
                      0
                      • J Jun Du

                        I came across an experimental tool named XMLVM, which as claimed can convert the compiled .NET assemblies into Java byte code and vice versa. This makes me thinking why can't Microsoft include Java into the .NET run-time support...

                        Best, Jun

                        M Offline
                        M Offline
                        MSBassSinger
                        wrote on last edited by
                        #29

                        The problem is less technical and more religious. The degree of anti-Microsoft hatred with so many Java programmers shares much in common with various religious conflicts. Logic and reason take a back seat to intense loyalties to Java (usually mixed in with the same feelings on Linux, Apache, et al) and villianization of Microsoft. The vitriol I've heard and read from the Java side has been often and intense. To a lesser degree, you see the same thing with a few "Softies" towards Java/Linux/Apache/etc. No matter how well Microsoft improves a programming technology for the "middle of the bell customer-programmers, it will be rejected by the other side. And contrary to some posts, .NET was not created as a response to the Sun Java lawsuits. .NET was already underway, with VB.NET and C# (late 1990s), before the lawsuits were settled. As I remember, back in 2000 when I got my first Visual Studio.NET beta, VB.NET was a bit more "ready for prime time" than C# was, but by the actual release, C# was much improved. That leads me to believe that .NET was the basis for 2 things at the time: Moving from a partially OO VB6 to a fully OO VB7; and having a platform where the languages are syntactic sugar over a common runtime so developers of most languages would have one common and powerful development tool. How much C# was a reaction to Sun's intransigence only someone on the original .NET development team could answer.

                        T 1 Reply Last reply
                        0
                        • D Daniel Grunwald

                          They use XSL transformations for the program transformations? :omg: :omg: :omg: That sounds REALLY painful for non-trivial transformations. Also, it looks highly incomplete, especially the supported class libraries. If you just want to run Java byte code on .NET, take a look at IKVM[^] instead. Also, read the IKVM blog[^] if you want to get an idea of just how complex this is - the IKVM author is frequently running into trouble with either Java or .NET not working as documented in some corner cases.

                          Jun Du wrote:

                          This makes me thinking why can't Microsoft include Java into the .NET run-time support...

                          a) It's a HUGE effort to get right (see above) b) Patents. Microsoft started .NET because they got sued when trying to improve Java, remember?

                          S Offline
                          S Offline
                          syspau
                          wrote on last edited by
                          #30

                          Shouldn't the word "improve" be in quotes? I think that there is a matter of opinion there. I have used Java. I like it a lot. I like Swing and RMI, and the concise syntax. I am now mostly using .NET, C# and also VB.NET. I like .NET a lot also, particularly C#, which is very similar to Java. There are some things I like better about C# over Java, but there are also some things I like better about Java than C#. Of course Java does run on more platforms than Windows.

                          D 1 Reply Last reply
                          0
                          • C Chris Meech

                            lewax00 wrote:

                            3. They tried it already, it was called J#, it never really caught on and they got taken to court about it.

                            FTFY. :)

                            Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

                            J Offline
                            J Offline
                            JackDingler
                            wrote on last edited by
                            #31

                            And lost...

                            1 Reply Last reply
                            0
                            • P Peter Kibble

                              Great idea. I'm currently linking a Java project into .Net, and I think we need more badly documented, slow running stuff with ugly interfaces in the .Net world.

                              S Offline
                              S Offline
                              syspau
                              wrote on last edited by
                              #32

                              If you are implying that you can only have ugly, slow user interfaces in Java, you are dead wrong. I have written applications using Swing that are as nice and usable and as fast as anything I have used anywhere. If you are seeing ugly, slow user interfaces, blame the incompetent programmer who failed to properly learn his tools!

                              1 Reply Last reply
                              0
                              • T Thornik

                                I fear "enterprise Java" is the same myth like NFO: everybody knows it, but nobody seen. :) Currently .NET has everything to build any scale applications. Who care about "enterprise Java"? People just use stuff most handy in their company - a whole MS chain, from Server/Exchange/SQL till WinXP/Outlook.

                                C Offline
                                C Offline
                                cpkilekofp
                                wrote on last edited by
                                #33

                                Member 3082487 wrote:

                                Who care about "enterprise Java"?

                                The enterprise cares, in some cases. I'm now working for the second company in a row which has embraced Java as its preferred platform due to its portablility - the commitment is so extreme that they're attempting to rewrite VMS Fortran IV financial code into Java, without accounting for the extra width of the mantissa vs. the exponent in the VMS floating point representation vs. the currently standard representation as used by Intel's processors. Despite this, .NET projects abounded in both companies. This was due to departments having begun development with pre-.NET development tools, after which they migrated to .NET. Also, acquisitions of independent companies brought .NET projects within the corporation, and for many of these it was not cost-effective to rewrite them in Java. I've programmed in both, but I currently make my living in .NET.

                                T 1 Reply Last reply
                                0
                                • P Patrick Fox

                                  Yeah, this is what happened. Often times, when MS gets its hands on a technology it adds special hooks in for functionality it desires, and in doing so sabotages or takes over that technology as many people come to rely on these hooks. Sun didn't want Microsoft confiscating Java from them, and I don't blame them. I've always viewed the creation of .Net as Microsoft's acknowledgement that Java belongs to Sun and if they want to do it their own way, they have to start from scratch.

                                  M Offline
                                  M Offline
                                  Mourant
                                  wrote on last edited by
                                  #34

                                  This behaviour is often referenced as "Embrace Extend Extinguish"... according to wikipedia, the US department of justice found that this phrase was used internally by Microsoft to describe its strategy

                                  1 Reply Last reply
                                  0
                                  • S syspau

                                    Shouldn't the word "improve" be in quotes? I think that there is a matter of opinion there. I have used Java. I like it a lot. I like Swing and RMI, and the concise syntax. I am now mostly using .NET, C# and also VB.NET. I like .NET a lot also, particularly C#, which is very similar to Java. There are some things I like better about C# over Java, but there are also some things I like better about Java than C#. Of course Java does run on more platforms than Windows.

                                    D Offline
                                    D Offline
                                    Daniel Grunwald
                                    wrote on last edited by
                                    #35

                                    C# as a language is way better than Java. Lambdas and LINQ are extremely useful features that I miss every time I have to write Java code. Generics aren't broken in C# (think new T[length]; and more useful Reflection as generic type info isn't lost). Structs are extremely useful whenever you need to fit lots of elements into as little memory as possible, and could lead to dramatic performance improvements. (I once improved performance of an expensive algorithm by a factor of 4 simply by replacing an array of class Pair { int a, b; } with an integer array and using two indices per logical element, but it made the code way less readable than the equivalent C# would have been) Why do you think Java syntax is concise? It's one of the more verbose languages I know, certainly more verbose than C#. But note that I was only comparing the languages. The Java libraries seem to be more complete and better thought out than the .NET BCL.

                                    S 1 Reply Last reply
                                    0
                                    • C cpkilekofp

                                      Member 3082487 wrote:

                                      Who care about "enterprise Java"?

                                      The enterprise cares, in some cases. I'm now working for the second company in a row which has embraced Java as its preferred platform due to its portablility - the commitment is so extreme that they're attempting to rewrite VMS Fortran IV financial code into Java, without accounting for the extra width of the mantissa vs. the exponent in the VMS floating point representation vs. the currently standard representation as used by Intel's processors. Despite this, .NET projects abounded in both companies. This was due to departments having begun development with pre-.NET development tools, after which they migrated to .NET. Also, acquisitions of independent companies brought .NET projects within the corporation, and for many of these it was not cost-effective to rewrite them in Java. I've programmed in both, but I currently make my living in .NET.

                                      T Offline
                                      T Offline
                                      Thornik
                                      wrote on last edited by
                                      #36

                                      Funnies point is that "portable" Java in reality become platform-specific! There is no any enterprise solution which you "just copy and it works". Moreover: suppose you have expensive hardware with HP-UX. Would you care about any "portability" if in nearest 10 years (minimum!) you will make most of your HP servers? Of course not. You'll make programs specifically for HP-UX, because you need working product - your clients don't give a dick is your solution portable or not - they need WORKING solution. This is the point why Java's "portability" means nothing to me.

                                      C 1 Reply Last reply
                                      0
                                      • M MSBassSinger

                                        The problem is less technical and more religious. The degree of anti-Microsoft hatred with so many Java programmers shares much in common with various religious conflicts. Logic and reason take a back seat to intense loyalties to Java (usually mixed in with the same feelings on Linux, Apache, et al) and villianization of Microsoft. The vitriol I've heard and read from the Java side has been often and intense. To a lesser degree, you see the same thing with a few "Softies" towards Java/Linux/Apache/etc. No matter how well Microsoft improves a programming technology for the "middle of the bell customer-programmers, it will be rejected by the other side. And contrary to some posts, .NET was not created as a response to the Sun Java lawsuits. .NET was already underway, with VB.NET and C# (late 1990s), before the lawsuits were settled. As I remember, back in 2000 when I got my first Visual Studio.NET beta, VB.NET was a bit more "ready for prime time" than C# was, but by the actual release, C# was much improved. That leads me to believe that .NET was the basis for 2 things at the time: Moving from a partially OO VB6 to a fully OO VB7; and having a platform where the languages are syntactic sugar over a common runtime so developers of most languages would have one common and powerful development tool. How much C# was a reaction to Sun's intransigence only someone on the original .NET development team could answer.

                                        T Offline
                                        T Offline
                                        Thornik
                                        wrote on last edited by
                                        #37

                                        I think with .NET MS shoot two birds at a time: dropped annoying java from Windows and saved its sources for reuse in .NET platform. That's not bad, because C# for Win become more competitive than Java.

                                        1 Reply Last reply
                                        0
                                        • T Thornik

                                          Funnies point is that "portable" Java in reality become platform-specific! There is no any enterprise solution which you "just copy and it works". Moreover: suppose you have expensive hardware with HP-UX. Would you care about any "portability" if in nearest 10 years (minimum!) you will make most of your HP servers? Of course not. You'll make programs specifically for HP-UX, because you need working product - your clients don't give a dick is your solution portable or not - they need WORKING solution. This is the point why Java's "portability" means nothing to me.

                                          C Offline
                                          C Offline
                                          cpkilekofp
                                          wrote on last edited by
                                          #38

                                          Member 3082487 wrote:

                                          ...your clients don't give a dick is your solution portable or not - they need WORKING solution. This is the point why Java's "portability" means nothing to me.

                                          :laugh: I wouldn't say portablility means nothing to me - I started my programming career supporting a single code base in C that ran on ten different versions of CP/M and PC/DOS. The same code base focused my attention on performance as only multimegabyte programs running in 256k of memory can do in systems without virtual memory (I know there's plenty out there who remember overlays). .NET outperforms Java most of the time because focus on the single platform has allowed MS to focus on maximizing the performance on that platform. It was this challenge that forced Java Run-Time (JRT) developers to adopt things like JIT compilation to compete with .NET on the Windows platform. As for the lack of portability in specific implementations, well, if you have a set of business logic that you want to run on IBM MVS (or any other three OSs from them), Unix, Linux, VMS, and Windows, you're down to four choices (with a couple of honorable mentions): FORTRAN, COBOL, C, and Java. If portability is a requirement, it's impossible to sell .NET as an option, while Java (despite what some do with it) is clearly an option.

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups