Andrew Pollack's Blog

Technology, Family, Entertainment, Politics, and Random Noise

Some thoughts on Eclipse/Java vs VS.net

By Andrew Pollack on 08/22/2005 at 03:48 PM EDT

I should start by saying that I know comparing VS.net with Java/Eclipse is ignoring the choice of which language I'm using in VS.net. IMO, it doesn't matter that much because the nature of .net is such that the object models you work with are largely the same, as is the IDE. There are syntax differences, but I'm not really attempting to compare the "value" of one language or another. I just have some observations on what its like to program with the tools.

Very briefly on the languages themselves -- I've decided I prefer Java as a language to VB.net; though I haven't done much with C# yet. Java still bugs me from the standpoint of case sensitivity -- something I place no value in -- but VB bugs me in the way variable declaration is handled and its strange type casting rules. I don't do C or C++ any more. I did a long time ago, but its been so long that any comparison would be unfair.

The first thing to get used to, is that vs.net tends to take an approach that starts with look and feel, and provides drill-down mechanisms for putting code behind the features. Unless you've installed plug-ins and add-ons, Eclipse development is more focused on starting with functional object creation with the idea being to later on in the process control those objects with a user interface. This sounds subtle, but its got far reaching implications in the code you write. Of course, you can ignore the UI stuff and start by creating class modules in VS.net; and you can go right to a plug-in visual UI tool for Eclipse-- but in both cases you're taking the steps to go outside the normal way they tend to work. I tend to work on functionality first, producing only as much UI as I need to test the core code. Most of the time that original "unit test" user interface gets tossed out when the real one is made. As a result, Eclipse as an IDE matches my work style much better. With VS.net I find I end up with a thousand machine generated declarations with names like "ButtonBar1" that I don't need or want. I am forever deleting them. Yes, I know why they get created and how to avoid it -- but its not the way I work.

What could be more important than the debugger environment? Eclipse is built around the idea of "perspectives" so when you're debugging the whole screen is oriented around debugging operations -- and the settings for what goes where are specific to debugging. In VS.net this doesn't seem to be true at all. The code window, variable windows, browsers and so on are all the same no matter if you're writing code or debugging running processes. I'm spoiled -- I want my perspective to change with my activity.

So for development work, particularly when working on complex functionality the Eclipse style is much more effective for me. Where VS.net shines, however, is building the front the end. The drag and drop UI tools are solid and easy to work with (as you'd expect). Best of all is the ability to very quickly create an installer application which manages version control and dependancies. You can do that for Java, but of course its got to be done through add-on products and tools.

The two other things to look at are documentation and add-on libraries. Both Java and .net have no shortage. VS.net is a much more commercial crowd with the java people being more likely to open source a good library. That said, both sides have no small amount of garbage floating around out there calling itself good tools. If you want to work with Windows services, Microsoft provides quite a view SDK's as well, including DirectX (sound and video). Documentation, however, is where Microsoft loses all the points. I'm surprised by this but its not up for debate. I found the language package came with documentation only on CD which was so bloated and at the same time poorly laid out that its incomprehensible. You end up spending most of your time on MSDN where the on-line documentation is BIG and has LOTS of topics, but almost no detail or explanation. Its also very poorly organized and in many cases the only way to find anything is a search. Searching landed on plenty of 401's (page not found) and worse into outdate documentation for older versions with no indication that I was headed down the wrong path. I have four books on the environment and didn't find them to be much better. By contrast, I have found documentation on the Java core libraries to be remarkably rich and detailed.

My conclusion -- VS.net provides some really powerful tools for making Windows client specific user-oriented applications. This coupled with the difficulties in predicting what the local JVM environment will be like on a client machine makes VS.net the way to go for user apps. Its worth the frustration of doing code heavy-lifting in the environment to get the benefit of an easily managed user application. For back-end work, Java done in Eclipse has really matured and together they make a very enjoyable and powerful place to build things.

What a shame that the two code bases play so poorly together. The tie in from front end Win32 to back end Java pretty much has to happen as web services or customized network calls. I think if the local JVM was just more predictable on the average Joe-User machine, I'd invest in an install kit tool for Java on Win32.


  • car icon

    On Site Training

    We can bring the same kind of top quality training you get at conferences right to your offices. If your team needs training in a single topic, or you want to do a whole series on site, we can put a mini-conference together just for your team. For more information, Contact Me.
  • There are  - loading -  comments....



    Other Recent Stories...

    1. 01/04/20092009 starting off HOT! CFD run #2 for 2009 is a huge structure fire! Photos, Video, & Audio here...I'd already mentioned in this previous postthat our first run of 2009 was a structure fire on a really cold night. Well, shockingly, our SECOND run of the new year was also a structure fire. The weather wasn't as cold -- this time it was just below freezing -- but the fire was much, much larger. I rolled up in our Ladder 7, and just our luck we were 20 seconds behind Falmouth's Tower truck. They ended up putting their stick in the air and running their master stream for hours, while we ended up "staging" ...... 
    2. 01/02/2009Starting the year off HOT and COLD with a Structure Fire on a sub-zero nightWe don't get that many structure fires here in Cumberland. I've been to more fires out of town than in. That makes it all the more strange to have Run #1 for 2009 come in as a structure fire -- but that's exactly what happened. With temperatures hovering at around 0 degrees Fahrenheit ( -17 C for you Europeans reading this) and winds gusting from 5-20 miles an hour it was extremely cold. To make matters worse, the part of town where this home is has no hydrants or town water system. All the water to fight ...... 
    3. 12/30/2008Quick product review: Eye-Fi - a wireless card for your digital cameraForgive me, FSM. It has been 9 days since my last blogfession. The Flying Spaghetti Monstera religionmade up as aprotest to the Kansas School Board. protest to the Kansas School Board. I consider myself a member of that religion (a Pastafarian) in as much as I consider myself a member of any religion.Sorry to be away so long. First we had the ice storm, then a few quick days to catch up before our big snow storm, then the holidays. Wow, time does fly when you're running behind. A few neat gifts this year ...... 
    4. 12/21/2008Stormcam is up if anyone is interested 
    5. 12/16/2008There are HOW MANY prizes this year for wearing your C.U.L.T. Shirt? 
    6. 12/14/2008The 2009 C.U.L.T. Shirt Top Ten List - Submit Your Ideas Now! 
    7. 12/14/2008Is the "Users want Outlook because they use it at home" argument valid? 
    8. 12/14/2008Maine Ice Storm Update -- 3rd Day w/o Power, 15 Degrees ( -9 degrees C) 
    9. 12/12/2008Ice Storm 2008 - Deady Beauty - Pictures finally uploaded 
    10. 12/10/2008How can we help IBM make better core level decisions about the Notes client and Designer? 
    Click here for more articles.....


    pen icon Comment Entry
    Subject
    Your Name
    Homepage
    *Your Email
    * Your email address is required, but not displayed.
     
    Your thoughts....
     
    Remember Me  

    Please wait while your document is saved.