Skip to main content

Java 6 vs C# 2005 gap analysis

6 replies [Last post]
netsql
Offline
Joined: 2004-03-07
Points: 0

Has somone invested in getting a gap analysis like we the developers will have to for our bosses?

For example msbuild, docking and table layout vs gridbag, associateive collections["row"]["col"], deployment size, delegates, etc.

It needs to be done by Sun so that they don't aruge w/ customers, (much negatibvity here from Sun on feedback, unlike apple) I think it would take a day or 2 and time well spet. It needs to be mandated by one of the big wigs so somone reads it.
C# Express 2005 is a free download or one can get one of the C# 2005 books (ex: Herber Schuildt C#2 reference)

(No I am not talking about the IDE features, who care, I am talking about C# 2005 features vs Java 6 features).

.V

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
netsql
Offline
Joined: 2004-03-07
Points: 0

And re dynamic typing in C#:
http://www.jroller.com/page/rolsen?entry=who_s_afraid_of_dynamic

I wonder if w/ "managed secure code" in Vista one will be able to do WebStart.

So... no need for gap anaylsis engineers?

.V

loubs001
Offline
Joined: 2006-01-05
Points: 0

ok: Java vs C# Gap Analysis in 30 seconds:

MSBuild is just a knock off of Ant.

Layout has been addressed by the Matisse guys and is far more flexible than Windows Forms (eg. platform and locale independant spacings)

collections["row"]["col"] are an example of operator overloading which goes against the Java philosophy mainly because they can get confusing (how do you look up documentation for an overloaded operator? ctrl-space in your IDE isnt going to work is it...)

The deployment size of the JRE runtime is 16MB on Windows, compared to the 25MB for .NET (v1.1, I imagine 2.0 is even bigger). Also if deployment size is an issue, pack200 can compress your JARs by as much as 50%. Try doing that with .NET assemblies. Also Java Webstart will make your deployment and versioning a breeze.

Delegates will never be in the Java language as they are considered harmful to OO. The interface based approach in Java for event handling is (in my opinion of course) superior since you can encapsulate your event handling logic in its own class, separating it from layout, and also means event handlers, being objects, can maintain state. For example, an event handler that implements MouseListener and MouseMotionListener that tracks mouse drags. In C#, this would be mixed in with the rest of your forms code.

see: http://java.sun.com/docs/white/delegates.html

Now that was just a quick rundown of my responses to the issues you mentioned. I understand that you might want more formal responses from a reputable source to show your boss, but I dont think you're going to get that from Sun. I think it would be a bad idea for them to try to promote their platform by directly attempting to show it's superiority over a competitor. Mainly because this would provoke a response from Microsoft and start a flame war between the two rivals (remember the old Pet Store debacle?)

It's best to make your own arguments and form your own conclusions if you can. Professionally I work full time on .NET exclusively because thats the platform my superiors have chosen, but I much prefer the Java platform, which I use for my personal projects.

netsql
Offline
Joined: 2004-03-07
Points: 0

Of course.... GroupLayout (aka Matise) is a separte download, and not a part of Java 6.
And .... as of SP 1 "patch", .NET is included, so you don't have to download it at all. I look at rt.jar in Java 6 that comes 45 megs that does have to download, not a part of OS.

People like dynamic langages and Sun plans not to make Java dynamic, that is so not a plus.
I don't need nothing for my boss, I want Sun to compete and list what is in C# that is not in Java and work on addressing it in JDK 6 (which is shipeding *after* C# 2 - shiped in octoboer last year)

C: dock.fill is very cool!
Sucks that Sun will not do a gap analysis, I just spent a few minutes but somone should do it now.
If Sun does not do it, then somone from the press will do it, and Sun will not be prepared.

OT: A nice Swing Thread:
http://www.theserverside.com/news/thread.tss?thread_id=38473

.V

loubs001
Offline
Joined: 2006-01-05
Points: 0

The JRE is nowhere near a 45MB download. The size of the rt.jar is after it has been decompressed. The download is heavily compressed, reducing its size to around 50%.

antonrechenauer
Offline
Joined: 2003-08-01
Points: 0

nobody ever talks about the fundamental problem with the so called value types in .NET

NET 1.1: an integer (or a date) cannot be NULL, and you have to deal with the mad "Convert.DBNull" Object

NET 2.0: Microsoft realized that this is a problem, so they extend the quagmire by adding "nullable types" (int?) - but you still have to check that there is a value before you can use it

In NET 1.1 you have to produce extremely ugly and confusing code when you have to deal with DB tables that allow a NULL, and it's not getting better :-(

alexlamsl
Offline
Joined: 2004-09-02
Points: 0

IMHO, IDE features (and the enablement of these features due to respective ones in C# / Java) is equally important.

Otherwise it would of course be a nice thing to compare, from the Java's perspectives, use cases for certain features in C# that can be better implemented if it is written in Java. This would make the whole picture clearer.

Although I would doubt whether we are in need of drawing C# programmers into the Java field, and if so which is the dominant area of interests, e.g. J2EE.