How about including Java as one of the .NET supported languages?
-
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#.
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...)
-
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#.
Wasn't there a fair bit of litigation in the past regarding just this thing? I would love to at least dump Eclipse and move on to Visual Studio. And dump Java too. Java is proof that after over 55 years of mainstream language development (Fortran came out in 1956) we haven't got very far. A real productivity killer.
-
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...)
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.
-
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.
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....
-
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
I think is not necessary. In .NET already exist a imitation ( C# ) and i prefer don't to see the microsoft world expand more.
-
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.
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
-
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
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.
-
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
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.
-
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]
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".
-
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#.
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.
-
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".
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.
-
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".
: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]
-
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
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.
-
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?
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.
-
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]
And lost...
-
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.
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!
-
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.
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.
-
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.
-
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.
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 ofclass 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. -
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.
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.