Reply
.net vs java.
Replies: 4   Views: 1240  Subscribers: 0

Posted by reece · 13-05-2012 - 13:00

Edited by reece · 12-11-2012 - 03:56
Enjoy.

­
Thought it was worth a laugh for the dorky amongst us.­

Posted by Justin · 14-05-2012 - 05:59

Edited by reece · 12-11-2012 - 03:57
LOL, Java and .NET's C# are nearly identical and C# is not limited to Windows. Think the dad would of survived if he used that rebuttal against "I want to use a programming langauge which doesn't only run on Windows". Nice video though.­[:TONGUE:]­

Posted by reece · 14-05-2012 - 15:15

Edited by reece · 12-11-2012 - 04:00
Justin
LOL, Java and .NET's C# are nearly identical and C#­
Similar but no where near identical. For this i needed to do a little googling to get a much clearer set of differences between the 2, initially i was going to point out things like namespaces, however i forgot java packages are actually almost the same thing. Here is what i found. Java does not for example contain unsigned integers, you would just use a regular integer. Java also does not support Partial classes, properties, operator overloading, indexers, implicit/explicit conversions, pointers, reference parameters, C# also supports lifted (nullable) types, Java does not. So if you work with a nullified numeric type in an equation in Java, you will get a NullPointerException. However in C# if you specify a type with a question mark after it then it will become lifted and a result can come of the equation. I thought i would explain this one a little because i did not know about this but found it quite interesting and thought i would share it. This is what i found from wikipedia. ­
Integer a = 42;
Integer b = null;
 
// This will generate a runtime NullPointerException,
// because it attempts to unbox the null value.
Integer c = a * b;­
­
int? a = 42;
int? b = null;
 
// c will receive the null value
// because * is lifted and one of the operands are null
int? c = a * b;­
The article i got a lot of this information from was ­Comparison of C# and Java­ The list i provided is by no means extensive, infact the comparison chart i drawn from is enormous and i did not wish to go through it reiterating the same points. So i picked out only the items i felt most relevant and common in programming languages. Further more if it seems like i am picking on Java i am not, its just that it would appear from the chart C# does have more features than Java but this may be simply because C# is a much newer language than Java. Java does still have some features that C# does not, but you can check them for yourself from the link. ­
Justin
C# is not limited to Windows. Think the dad would of survived if he used that rebuttal against "I want to use a programming langauge which doesn't only run on Windows". Nice video though.­[:TONGUE:]­
Hmm this is not entirely true. C# was and is primarily designed for Microsoft platforms. Support for 3rd party platforms is not provided through the official microsoft development platforms but rather through mono. Mono is a 3rd party and open source version of what Microsofts platform does. The difference being here is that Java is developed in house for all major platforms, while they do have an open source version of Java, Sun/Oracle has always supported all major platforms through their own official implementation. Also, Java works on 2 other major platforms that mono does not support (Symbian and Blackberry). This gives Java a slight edge in the mobile space in terms of interoperability and C# support on AIX is reportedly only partial.­

Posted by Justin · 17-05-2012 - 21:44

You made alot of good points there, and pretty much just helped enlighten people that C# is more flexible, intuitive, and promising then Java. I'm sure Java has its strong points  to, but multi-platform is not one of them. The Mono project has made an alliance with Microsoft so technically .NET is not limited to Windows OSs. In 2006, Novell(owner of Mono at the time) and Microsoft made a joint patent agreement between Novell's and Microsoft's products. From the moment that takes place, rights are interchangeable. So because Microsoft owns, contributes, condones, and endorses to the Mono project then the Mono project is apart of .NET Framework and is most certainly compatible with other OS's such as Linux and Mac OS X.­

Posted by reece · 18-05-2012 - 04:46

Justin
I'm sure Java has its strong points  to, but multi-platform is not one of them.­
You misunderstood me. Java is more readily deployable on more platforms than C# is. So while C# may have a lot more benefits than Java, Java still has the higher ground where multi-platform is concerned. Though marginal it may be, C#'s deployability is covering more ground continually, though please remember that this is through mono, and mono is usually a step or so behind Microsofts official implementation. ­
Justin
the Mono project is apart of .NET Framework and is most certainly compatible with other OS's such as Linux and Mac OS X.­
Mono is a separate implementation from Microsoft's. Though the patents are interchangeable, its more the technical specifications they share with each other in this agreement as opposed to actual implementations [not always but usually the case]. The codebases for Microsofts and Novells Mono are 2 separate implementations based from the same specification. Mono is consisting of its own CLR (Common Language Runtime [a sort of bytecode JIT]) and its own implementation of the .net Framework. Though the source code is their own implementation and has no Microsoft code in it, it is compatible with Microsofts implementation according to their license agreement.­