Today Microsoft launched Microsoft Visual J# .NET, a development tool for Java-language developers building applications and services on the Microsoft .NET Framework.
Really, how hard is it to learn a new language? I mean, J# has new packages to fit the .NET framework, so, all you really keep is the syntax, which is VERY similar to many other languages, including C#. Which means, you are not gaining anything by using J#. In college, I mainly took theory courses for one reason, a language, is a language, is a language. If you write crappy code, it is still going to be crappy code, no matter what language it is in.
Though, I guess the way they look at it is, that if any moron goes and uses J#, even if only one, that is well worth the hundreds of thousands of dollars they more than likely invested in getting J# written.
Now, don’t get me wrong, I think .Net is a major step in the right direction for MS. I don’t think, J# is going to make all Java devs run to .Net though. If I had to program in .Net, I’d probably just use C#, and I’m a Java dev.
Well, I assume the idea is so that it’ll be easier to port from Java to .NET. According to MS, J# allows J++ and Java programmers to “leverage their existing knowledge and code.” Which I assume means an emulation/translation of the Java APIs, to make code very easy to port.
Sure, a language is a language is a language. But not when you have a buttload of legacy code sitting around. This gives people a bit of an incentive to move to .NET that wasn’t there before. The syntax of C# is almost identical with that of Java, but the APIs are different.
If a language was a language was a language, and it cost nothing to move to a better language or platform, most of the world wouldn’t still be stuck using COBOL, C++, and Java.
Personally, I find it easy to learn (and use) different languages. But I know a number of people who do not. For them, they write incredibly crappy code in one language (despite having studied it for some time) and yet in another they write decent to excellent code.
For me though, I’ve found some languages are slightly better for certain tasks.
And then as RevAaron said, there is the legacy code.
So “a language, is a language, is a language.” is not entirely accurate.
I agree that J# is not going to make Java devs run to .Net and that if I program for .Net, I would probably use C#.
I don’t have to “learn” that much new stuff to throw out Windows apps, for me thats great, brush up a new API and I can stick both .net and Java2SE/EE on my CV.
Even better if MS write compatabity layers, at a guess even if they don’t some other group will.
I trid installing VS.NET last night, but my print spooler foo’ed. At a guess its a bad driver, but I can’t work out how to get rid of it, any one have any ideas (other than a reinstall)? As I can’t even upgrade to SP2 (which VS.net needs )
“I don’t have to “learn” that much new stuff to throw out Windows apps, for me thats great, brush up a new API and I can stick both .net and Java2SE/EE on my CV.”
Now this guy has the right idea. I don’t know why .NET vs Java has to be such a pissing contest, like you can’t use both for what each tool is best at. (And if you try and say that one is superior in every way to the other, well .. you can get off the tip of my **** with that bullsh*t).
Of course, some of us that are ‘less gifted’ do good just to learn one language, but it’s a nice option if you pick stuff up quickly
Knowing one or two languages very well is not for the ‘less gifted.’ I can pick up a new language very quickly, because it interests me. However, that doesn’t make me an experienced programmer in that new language. I know Smalltalk very well, with Lisp and Perl trailing behind. They all fill a certain domain in my personal language toolkit. However, just because I ‘know’ Haskell to an extent, it doesn’t mean that I’m proficient in it anywhere near as I am in Smalltalk. Same goes for any of us that are ‘gifted’ enough to pick up most any new language quickly.
It’s been a while since I’ve looked at J#, but, if I remember correctly, it was based on the MS JDK, (1.1.4), so, migrating code will not be very easy, as, most Java devs stopped using JDK 1.1.4 a LONG time ago. But as I said, it’s been a while since I looked at J#, so, I could be wrong on this point. But, if I’m right, that means you must “downgrade” your code, change package names, and everything else. And, when switching from one envrionment to another, you must always deal with legacy code, and the like. So, at that point, with the amount of work involved, why migrate? Especially if you have a working system. Why not port it, instead? For me, I think that would be just as easy, but, like Deletomn, this is not as easy for some people.
Still, a language is just a means to an end. If there is a reason to run an app in .NET, instead of where it is currently running, I would imagine I would want to use the language that was designed for .NET. It is my understanding, from other devs I’ve talked to, that there are certain things that can be accomplished in C#, that, say, cannot be done in VB.NET, and, from that I assume, there would be similar issues with J#. Though, I guess, you could just write part of the project in J#, part in C#, and parts in VB.NET, making everyone happy (or unhappy), and would also make sure you have to have 3 separate programmers around, because they all refuse to support the other programming language.
“It’s been a while since I’ve looked at J#, but, if I remember correctly, it was based on the MS JDK, (1.1.4), so, migrating code will not be very easy, as, most Java devs stopped using JDK 1.1.4 a LONG time ago.”
I guess legacy code doesn’t mean it was written in a version of Java that went obsolete, eh? I gave Java a try back when it was going through it’s constantly morphing stage (maybe it still is! I loved the “I’m sorry those function calls are obsolete, please buy a new more expensive book or check our crappy website for the newest API’s”) and that was one of it’s most irritating turn off’s. Maybe MS just figures that people can port their JDK 1.1.4 code (if that’s all it really supports) to .NET and then later port the newer code when they update J#.
Personally I think .NET is pretty decent and the C# language is also very nice. For teams that can’t standardize on a single language, being able to build modules in completely different ones and have them interact [relatively] seemlessly is invaluable. I’m surprised the industry didn’t recognize this long before … but then again we’re talking about “software” engineers (which aren’t real engineers . Just look at what passes for a decent interface.
Anyway, I think Microsoft probably invented J# more for their existing customers/those who wanted it rather than to attract the freaks who hate everything they do anyway.
First, it’s obvious you are not a Java dev. Most calls are never “obsolete” but, “depricated”. Being depricated, the method can still be used, but, may not be available in the future, and is recommended that you not use it. And what, does MS never change their APIs? I’m no MS dev, but, my coworkers say that they will change some things, completely breaking old code. It is rare to see old Java code not work in newer JREs.
Second, you seem to be Java bashing, and then complaining about MS bashers. What’s the saying, the pot calling the kettle black?
As for your opinion on .NET, that is valid, and some people think that is a good thing, for large software shops. But, if you have a small company, with say 3-5 devs, you probably don’t want to be using 3-5 different languages. What if the C# developer gets sick, who’s going to support his code? But, in large companies, with projects that have 20+ devs, I could see a “possible” value in this, yes.
I don’t forseen any pratical use for a J# .NET language. Most of the advantages of the .NET platform are already existing in the Java world for years now and the “innovations” are steadly be implemented…
As for the most hyped “Web Services” (i would call them web diservices… or web DoServices) are just a xml implementation os existing technologies in use for years and years with other interfaces… [i’m remebering corba and things like it].
As for evolution of J# to new the new Java API’s if i think that MS can’t do it… because it is forbiden to do it by the courts… [from the resolutions of that notable court decision regarding the case SUN/MS around the Java “Extensions”]…
Cheers…
Luis Ferro
P.S.- and what is the crazy corporation that allows the implementation of code in several high level languages simultaneously… and inside the same project? Only if they are interested in shutting down the whole corporation in the medium time!
Really, how hard is it to learn a new language? I mean, J# has new packages to fit the .NET framework, so, all you really keep is the syntax, which is VERY similar to many other languages, including C#. Which means, you are not gaining anything by using J#. In college, I mainly took theory courses for one reason, a language, is a language, is a language. If you write crappy code, it is still going to be crappy code, no matter what language it is in.
Though, I guess the way they look at it is, that if any moron goes and uses J#, even if only one, that is well worth the hundreds of thousands of dollars they more than likely invested in getting J# written.
Now, don’t get me wrong, I think .Net is a major step in the right direction for MS. I don’t think, J# is going to make all Java devs run to .Net though. If I had to program in .Net, I’d probably just use C#, and I’m a Java dev.
Well, I assume the idea is so that it’ll be easier to port from Java to .NET. According to MS, J# allows J++ and Java programmers to “leverage their existing knowledge and code.” Which I assume means an emulation/translation of the Java APIs, to make code very easy to port.
Sure, a language is a language is a language. But not when you have a buttload of legacy code sitting around. This gives people a bit of an incentive to move to .NET that wasn’t there before. The syntax of C# is almost identical with that of Java, but the APIs are different.
If a language was a language was a language, and it cost nothing to move to a better language or platform, most of the world wouldn’t still be stuck using COBOL, C++, and Java.
Personally, I find it easy to learn (and use) different languages. But I know a number of people who do not. For them, they write incredibly crappy code in one language (despite having studied it for some time) and yet in another they write decent to excellent code.
For me though, I’ve found some languages are slightly better for certain tasks.
And then as RevAaron said, there is the legacy code.
So “a language, is a language, is a language.” is not entirely accurate.
I agree that J# is not going to make Java devs run to .Net and that if I program for .Net, I would probably use C#.
I’m now playing with it…
I don’t have to “learn” that much new stuff to throw out Windows apps, for me thats great, brush up a new API and I can stick both .net and Java2SE/EE on my CV.
Even better if MS write compatabity layers, at a guess even if they don’t some other group will.
I trid installing VS.NET last night, but my print spooler foo’ed. At a guess its a bad driver, but I can’t work out how to get rid of it, any one have any ideas (other than a reinstall)? As I can’t even upgrade to SP2 (which VS.net needs )
Mlk
“I don’t have to “learn” that much new stuff to throw out Windows apps, for me thats great, brush up a new API and I can stick both .net and Java2SE/EE on my CV.”
Now this guy has the right idea. I don’t know why .NET vs Java has to be such a pissing contest, like you can’t use both for what each tool is best at. (And if you try and say that one is superior in every way to the other, well .. you can get off the tip of my **** with that bullsh*t).
Of course, some of us that are ‘less gifted’ do good just to learn one language, but it’s a nice option if you pick stuff up quickly
Knowing one or two languages very well is not for the ‘less gifted.’ I can pick up a new language very quickly, because it interests me. However, that doesn’t make me an experienced programmer in that new language. I know Smalltalk very well, with Lisp and Perl trailing behind. They all fill a certain domain in my personal language toolkit. However, just because I ‘know’ Haskell to an extent, it doesn’t mean that I’m proficient in it anywhere near as I am in Smalltalk. Same goes for any of us that are ‘gifted’ enough to pick up most any new language quickly.
It’s been a while since I’ve looked at J#, but, if I remember correctly, it was based on the MS JDK, (1.1.4), so, migrating code will not be very easy, as, most Java devs stopped using JDK 1.1.4 a LONG time ago. But as I said, it’s been a while since I looked at J#, so, I could be wrong on this point. But, if I’m right, that means you must “downgrade” your code, change package names, and everything else. And, when switching from one envrionment to another, you must always deal with legacy code, and the like. So, at that point, with the amount of work involved, why migrate? Especially if you have a working system. Why not port it, instead? For me, I think that would be just as easy, but, like Deletomn, this is not as easy for some people.
Still, a language is just a means to an end. If there is a reason to run an app in .NET, instead of where it is currently running, I would imagine I would want to use the language that was designed for .NET. It is my understanding, from other devs I’ve talked to, that there are certain things that can be accomplished in C#, that, say, cannot be done in VB.NET, and, from that I assume, there would be similar issues with J#. Though, I guess, you could just write part of the project in J#, part in C#, and parts in VB.NET, making everyone happy (or unhappy), and would also make sure you have to have 3 separate programmers around, because they all refuse to support the other programming language.
Oh well. To each their own.
“It’s been a while since I’ve looked at J#, but, if I remember correctly, it was based on the MS JDK, (1.1.4), so, migrating code will not be very easy, as, most Java devs stopped using JDK 1.1.4 a LONG time ago.”
I guess legacy code doesn’t mean it was written in a version of Java that went obsolete, eh? I gave Java a try back when it was going through it’s constantly morphing stage (maybe it still is! I loved the “I’m sorry those function calls are obsolete, please buy a new more expensive book or check our crappy website for the newest API’s”) and that was one of it’s most irritating turn off’s. Maybe MS just figures that people can port their JDK 1.1.4 code (if that’s all it really supports) to .NET and then later port the newer code when they update J#.
Personally I think .NET is pretty decent and the C# language is also very nice. For teams that can’t standardize on a single language, being able to build modules in completely different ones and have them interact [relatively] seemlessly is invaluable. I’m surprised the industry didn’t recognize this long before … but then again we’re talking about “software” engineers (which aren’t real engineers . Just look at what passes for a decent interface.
Anyway, I think Microsoft probably invented J# more for their existing customers/those who wanted it rather than to attract the freaks who hate everything they do anyway.
Some problems with your post:
First, it’s obvious you are not a Java dev. Most calls are never “obsolete” but, “depricated”. Being depricated, the method can still be used, but, may not be available in the future, and is recommended that you not use it. And what, does MS never change their APIs? I’m no MS dev, but, my coworkers say that they will change some things, completely breaking old code. It is rare to see old Java code not work in newer JREs.
Second, you seem to be Java bashing, and then complaining about MS bashers. What’s the saying, the pot calling the kettle black?
As for your opinion on .NET, that is valid, and some people think that is a good thing, for large software shops. But, if you have a small company, with say 3-5 devs, you probably don’t want to be using 3-5 different languages. What if the C# developer gets sick, who’s going to support his code? But, in large companies, with projects that have 20+ devs, I could see a “possible” value in this, yes.
I don’t forseen any pratical use for a J# .NET language. Most of the advantages of the .NET platform are already existing in the Java world for years now and the “innovations” are steadly be implemented…
As for the most hyped “Web Services” (i would call them web diservices… or web DoServices) are just a xml implementation os existing technologies in use for years and years with other interfaces… [i’m remebering corba and things like it].
As for evolution of J# to new the new Java API’s if i think that MS can’t do it… because it is forbiden to do it by the courts… [from the resolutions of that notable court decision regarding the case SUN/MS around the Java “Extensions”]…
Cheers…
Luis Ferro
P.S.- and what is the crazy corporation that allows the implementation of code in several high level languages simultaneously… and inside the same project? Only if they are interested in shutting down the whole corporation in the medium time!