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.


There are  - loading -  comments....



Other Recent Stories...

  1. 03/26/2019Undestanding how OAUTH scopes will bring the concept of APPS to your Domino serverWhile a full description of OATH is way beyond what I can do in this quick blog entry, I wanted to talk a bit about how "SCOPES" interact with the already rich authorization model used by Domino. Thanks to the fantastic work by John Curtis and his team, the node.js integration with Domino is going to be getting a rich security model. What we know is that a user's authorizations will be respected through the node.js application to the Domino server -- including reader names, ACLs, Roles, and so on. The way ...... 
  2. 02/05/2019Toro Yard Equipment - Not really a premium brand as far as I am concernedDear Toro Customer Service, I arm writing about the following machine: Toro Power Max 1120 OXEModel:38654S/N:31000#### Specifically, bearing part #:63-3450 This is the part ($15 online / $25 at the local dealer) that caused me to raise my objections on-line. This piece of garbage is supposed to be a bearing. It carries the shaft which drives both stages of the auger. The shaft passes through the bearing (which is what bearings do) after the auger drive pulley as the shaft goes through the back (engine ...... 
  3. 10/08/2018Will you be at the NYC Launch Event for HCL Domino v10 -- Find me!Come find me in NYC on Wednesday at the Launch Event if you're there. I really do want to talk to ...... 
  4. 09/04/2018With two big projects on hold, I suddenly find myself very available for new short and long term projects.  
  5. 07/13/2018Who is HCL and why is it a good thing that they are now the ones behind Notes and Domino? 
  6. 03/21/2018Domino Apps on IOS is a Game Changer. Quit holding back. 
  7. 02/15/2018Andrew’s Proposed Gun Laws 
  8. 05/05/2016Is the growing social-sourced economy the modern back door into socialism? 
  9. 04/20/2016Want to be whitelisted? Here are some sensible rules for web site advertising 
  10. 12/30/2015Fantastic new series on Syfy called “The Expanse” – for people who love traditional science fiction 
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.