101 Reasons Java is Better than .NET

Discussions

News: 101 Reasons Java is Better than .NET

  1. 101 Reasons Java is Better than .NET (64 messages)

    Carlos Perez has been putting together "101 Reasons Why Java is Better than .NET" on his blogs.

    Carlos recently posted:

    "There are alot of people who are in uproar with this list. Well I can't blame them, however let me make a few disclaimers first. The list is a work in progress, and as I've stated when I began posting it, the goal was to solicit comments and gather feedback with the ulimate goal to reach 101 reasons. Now, people have pointed out some flaws in some entries, and yes it'll be corrected in due time."

    View the 101 Reasons

    If you have any you think should be added, send him an email. If you think some area flawed, let him know too.

    Threaded Messages (64)

  2. ARRRGGGGGGGGHHHH!

    Drop me an eMail if somebody posts other stuff than "Java vs .NET".
  3. I agree. Surely the art of being a good software engineer is to use the correct tool for the job whether it be Java or .NET or something else. Surely discussions in these forums should be about Java and not if its better or not than any other technology. What do these discussions achieve other than to antagonise other people - we learn nothing from them!
  4. Freeroller Is OverLoaded[ Go to top ]

    Everyone,

    If you're interested in see the list please head over here instead:

    http://www.javablogs.com/ViewBlog.jspa?id=10056

    Click on "Details" to read the entry, it's been cached there.

    Thanks,

    Carlos

    P.S. If you like the list, please send a donation to freeroller.
  5. 101 Reasons Java is Better than .NET[ Go to top ]

    I hope Carlos mad a big donation to freeroller. First, it appears on javablogs, now on TSS, next up is probably slashdot.
  6. 101 Reasons Java is Better than .NET[ Go to top ]

    javalobby of course.

    What about collections? .Net doesn't seem to have a comparable collections framework than java has ...

    What about design patterns? Sure they are there, but most of the .Net guys (at least the ones in my company) don't even know what a singleton is.

    Regarding 34, "Model2 Architecture". I do not quite understand why this is a feature of Java that .Net does not have. ASP.Net has the "Code-behind" notion, which separates the markup from the presentation logic (IMHO even better than what WebObjects components have). Conceptually, from there on, you can have as many layers to your database as you want and it basically comes down again to the knowledge about design patterns.
  7. 101 Reasons Java is Better than .NET[ Go to top ]

    What about collections? .Net doesn't seem to have a comparable collections framework than java has ...



    Collections suck in Java. It's ridiculous not to have type-safe collections in a strong-typed language. All our code is littered with casts. JGL was way better. It's fortunate that .NET collections are not better yet.

    > What about design patterns? Sure they are there, but most of the .Net guys (at least the ones in my company) don't even know what a singleton is.

    Design Patterns are irrelevant to the language. You may check Fowler's last book, he wrote it for both Java and .NET. A wise man. The first Design Patterns book came with C++ examples. POSA book is also language independent. It's ridiculous to tie DP to Java.
  8. 101 Reasons Java is Better than .NET[ Go to top ]

    Design Patterns are irrelevant to the language.


    This list doesnt compare programming languages, Java vs. .NET languages.

    That is quite a nice list. IMHO
  9. 101 Reasons Java is Better than .NET[ Go to top ]

    I'm not quite sure of the point you are trying to make. The idea that DPs are technology-agnostic and that the .net crew doesn't seem to (want to) embrace them seems to be a part of the original poster's point. You (as far as I can tell) are affirming that. Where's your beef?
  10. 101 Reasons Java is Better than .NET[ Go to top ]

    At least, to me they seem to be more powerful in Java than .Net since you have a more finegrained control. E.g. you have control whether you implement a List as ArrayList or a Vector. You can implement Map as a TreeMap, HashMap WeakHashMap... In dotnet, I see only system.collection.Hashtable.

    Design Patterns are not totally irrelevant to the language. To OO languages, yes, see my previous comment on Model2 architecture. But if you wanna try and implement just a simple singleton in VB, you will have a very hard time (VB6 of course, not VB.Net).
  11. 101 Reasons Java is Better than .NET[ Go to top ]

    E.g. you have control whether you implement a List as ArrayList or a Vector. You can implement Map as a TreeMap, HashMap WeakHashMap... In dotnet, I see only system.collection.Hashtable.


    When I started with Java, there was only Hashtable in jaava.util. Collections were added later. At the same time there were few public domain collections libraries. C++ core language didn't have whole lots of collections either, before the standard. So what? Do you think tere won't be nice collections in .NET any time soon?

    It's a matter of taste wheather to include such facilities into language or leave them for 3rd parties.


    > To OO languages, yes, see my previous comment on Model2 architecture.

    I don't understand why Model2 is an issue here. First of all, you certainly can do it with ASP.net. Secondly, if I were really want MVC (like in Smalltalk), I'd say that J2EE doesn't support it. Try to make an original MVC with JSP and Servlets. Even to implement Model2, you either need to use something like Struts, or do all the infrastructure (controllers, page navigation, flow etc.) yourself. J2EE doesn't help you there much.

    > But if you wanna try and implement just a simple singleton in VB, you will have a very hard time (VB6 of course, not VB.Net).

    Some people think that if you need a Singleton, then you better check what's wrong with your design. I won't comment on this further, but I'll point you that it's not THAT STRAIGHTFORWARD to make singletons in AppServer environment, just think of clusters, mu;tiple class-loaders, serialization etc.

    More, I never needed singletons, neither in Java nor in VB6. The point is that, the fact that you can do some patterns better in one language doesn't make that language better. Maybe, it's just you feel more comfortable with things you know and use.
  12. 101 Reasons Java is Better than .NET[ Go to top ]

    "...Do you think tere won't be nice collections in .NET any time soon?"

    Sure, but if you look at it like this the whole list probably deflates to 10 ... 5 ... 2 points? E.g. don't you think a third party can implement a log4j in .Net? The same of course works the other way round. Everything that is in VS.Net can be done with Eclipse.

    "...Some people think that if you need a Singleton..."

    As you said for collections, it is a matter of taste. Same applies for singletons. I find them very useful.

    "...The point is that, the fact that you can do some patterns better in one language doesn't make that language better..."

    I did not say that. I just said that some patterns can't be applied (or not easily) in some languages.

    "...Maybe, it's just you feel more comfortable with things you know and use. "

    True.
  13. This guy doesn't have all his facts straight:

    #42. Log4J is a sophisticated logging library available for Java that has no parallel in .NET.

    http://www.neoworks.com/products/free/log4net/
  14. Yes, its true - there are ports underway of most good Open Source Java projects (Nant, log4net, etc etc).

    But are they as mature or as featured? No. I think that was his point.

    (I think too many people here post violent disagreements just to get above the background noise.)

    -Nick
  15. 101 Reasons Java is Better than .NET[ Go to top ]

    Argyn: "I'll point you that it's not THAT STRAIGHTFORWARD to make singletons in AppServer environment, just think of clusters, mu;tiple class-loaders, serialization etc."

    FWIW - Singletons are now very easy in a clustered environment with Java/J2EE. Using .NET remoting makes it similarly simple in .NET, although prone to "single point of failure" becuase it's not clustered (e.g. the built-in "session server" functionality with ASP.NET). BTW Using products like JNBridge, you can accomplish the same clustered singleton in .NET, or for that matter you can get to just about anything Java from .NET and vice versa.

    Argyn: "More, I never needed singletons, neither in Java nor in VB6."

    Generally speaking, they're good to avoid, that is to say that they're good to avoid up until the point where you really need them ;-)

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  16. 101 Reasons Java is Better than .NET[ Go to top ]

    FWIW - Singletons are now very easy in a clustered environment with Java/J2EE.


    well, don't make me post here M$ marketing material :) Somehow Tangasol relates with "Cameron Purdy" in my mind :)
  17. 101 Reasons Java is Better than .NET[ Go to top ]

    <<<<
    What about design patterns? Sure they are there, but most of the .Net guys (at least the ones in my company) don't even know what a singleton is.
    >>>>

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/singletondespatt.asp

    Are you talking about level of developers in your company?

    <<
    Design Patterns are irrelevant to the language.
    >>
    It's not true, because

    compare please next implementation:

    .NET Singleton Example
    // .NET Singleton
    sealed class Singleton
    {
        private Singleton() {}
        public static readonly Singleton Instance = new Singleton();
    }

    and discuss below:

    http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
  18. singleton-shminglton[ Go to top ]

    .NET Singleton Example

    // .NET Singleton
    sealed class Singleton
    {
        private Singleton() {}
        public static readonly Singleton Instance = new Singleton();
    }


    Does this work in clustered environment? What about n-tier application?

    The problem with Singleton in Java arises when we talk about distributed apps, multiple class-loaders and so on. For simple stupid local app you just get GoF book and implement it in 2 minutes.

    When you start building complex apps like with J2EE, you'll get the same problems in .NET, unless M$ starts to support Singletons in that sort of environment.
  19. 101 Reasons Java is Better than .NET[ Go to top ]

    "...Are you talking about level of developers in your company? ..."

    Yes :) And others as well (the famous .Net experts that come for consulting purposes).

    "...http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/singletondespatt.asp ..."

    There is a lot of knowledge about architecture/patterns at Microsoft. Checkout http://msdn.microsoft.com/architecture/default.aspx. All I'm saying is that Microsoft did/does not do a good job in conveying this knowledge to their developer base. Read http://www.ejb-sig.org/docs/PetShopArchitecture.html, at least those guys should know better.
  20. Looks the same to me...[ Go to top ]

    This singleton code looks just like the "Making it work for static singletons" chunk of code (if I understand the .NET code correctly in your example). I'm not sure what difference you're trying to point out.

    Mark
  21. The comment was an illustration that there are 1) more design patterns that are recognized in the java community - a result of the fact that the community and open source knowledge pool is strong. Implicite was that 2) design patterns are much simpler to implement using java. The language is elegant. That's why microsoft is trying to steal it's underpinnings and philosophies.

    Best,

    John C. Dale
  22. Why isn't this forum threaded?[ Go to top ]

    It would be much easier to follow streams of thought and conversation.

    Best,

    John Dale
  23. 2) design patterns are much simpler to implement using java.


    Do you know where design patterns came from? I'm kinda not sure you know.

    If there are design patterns in architecture (not software architecture, but real architecture which deals with buildings), then why wouldn't be patterns in .NET? Why would they be more difficult there? This is nonesense, I'm sorry.

    There are design patterns for VB6/Access applications. They might be very different from GoF's catalog. It's Ok.

    "A pattern is a recurring solution to a standard problem. When related patterns are woven together they form a ``language'' that provides a process for the orderly resolution of software development problems."

    There are DPs in cooking and even dry cleaning.
  24. "design" patterns are everywhere![ Go to top ]

    Aryan K: ...why wouldn't be patterns in .NET? They might be very different from GoF's catalog. It's Ok.

    I aggree with Aryan on this point completely!

    Some of you folks may remember the fun OOPSLA 1998 confenrence, where they had an interesting court marshal of GoF et al...

    The tone of that 2 hour fun was exactly this- even GoF agreed that they need to refine what they meant by design pattern, and there could be more than the once in their GoF book ;-)

    Moreover, MSFT launched a website called ".net architechure center" which deals with MSFT-ish "design patterns". If you glance thru' it, you may find that no every thing should be "GoF" style alone, to be tagged as a design pattern.

    Regards,
    /Ravi
  25. "design" patterns are everywhere![ Go to top ]

    My last 2 cents on this:

    The GoF created a bunch of patterns, which was very useful, because you now suddenly had a language like "Singleton", "Visitor" and "MVC" that one could use to communicate with others without going into the details of what it is, what it implies, how it is implemented. It was a little bit like saying "sundown"; most everybody knows what it is, but to somebody who does not know it, it is kind of long and difficult to explain.

    To be mentioned, the patterns described by the GoF totally abstracted from the language.

    Then, later, books on Java patterns came out and Sun posted the J2EE patterns and basically those were just examples of the original GoF patterns using Java plus some specializations.

    Then the whole thing went off and everybody wanted to invent patterns but in most cases they either did not work properly or were so specific one could hardly call them pattern anymore (appserver specific patterns anyone:-).

    The same can happen, did happen, will happen with all other languages/platforms, where people see the same problems reocurring over and over again and try to formulate a generic solution. The resulting solution/design pattern can be applied and will work in a specific problem domain and will fail outside. If you have a generic solution for a VB problem and you are mostly dealing with VB, then fine, call it a design pattern. So, there will always be lots of different patterns, each and most importantly with a very different scope, like:

    - the generic GoF patterns
    - Persistenc patterns
    - Java patterns
    - EJB patterns
    - Entity bean patterns
    - JDBC patterns
    - Visual basic patterns
    - C patterns
    - deployment patterns
    - WebObjects patterns
    - WebLogic patterns
    - .Net patterns
    - dry cleaning
    - maintaining a motorcycle
    - ironing
    - ironing shirts
    - something that just I do over and over again, but nobody else ever will

    I should have said etcetera, my apologies. But to finally come to a conclusion: I never said that .Net does not have design patterns. In fact, I believe I stated the opposite in one of my previous posts. The original statement I made was, that the knowledge of design patterns in the java "community" is unparalleled and therefore this could be added to this list. But of course, this is not a hard fact and everybody who wants to may think otherwise.
  26. "design" patterns are everywhere![ Go to top ]

    The original statement I made was, that the knowledge of design patterns in the java "community" is unparalleled and therefore this could be added to this list.


    I disagree with this. "Pattern" jargon littered Java community, that's true. Everyone's talking about them. Doesn't mean they really understand them. Patterns are about design, most people don't have a clue about design. Yeah, they are "familiar with patterns". It makes me sick. DP are supposed to ease communication, in reality often they confuse everything, due to the different understanding of patterns. Ok, Singleton is easy to understand, but surprisingly some others are not. E.g., I've seen people debating on adapter vs bridge for a couple of hours, or a heated discussion on decorators.

    No, Java community doesn't know patterns any better than VB folks. Those who have design skills, they are everywhere, some of them in Java, some in Fortran. They know patterns.
  27. What about collections? .Net doesn't seem to have a

    > comparable collections framework than java has ...

    Huh? What is the .NET System.Collections namespace all about then?

    See the .NET collections namespace API here
  28. is already discussed in this thread. system.collections does not hold the variety of collections than java does (e.g. just system.collections.hashtable). Third party providers of course can add more (like in java). I would therefore vote to put it in the list, but others obviously think, no.

    My reason for adding this is, at least this is part of the core language (whereas lots of others are not, like XUL, AspectJ).
  29. |
    |Huh? What is the .NET System.Collections namespace all
    |about then?
    |

    Not comparable means "they dont compare" - not "they dont exist".
    The statement was purely that the java.util collections are more complete.

    I am going from memory now - but the things that I seem to remember missing was equivilents for things like Tree, Set, HashSet, etc

    -Nick
  30. 101 Reasons Java is Better than .NET[ Go to top ]

    27. Pure Java Relational Databases

    >There are several relational databases that are >implemented in Java, these are Pointbase, HSQL, Instantdb, >Firstsql and Cloudbase.

    I think you mean Cloudscape. Pure Java databases arent so fast as native ones. I did some tests and compared speed of entity beans using MySQL, Pointbase, Cloudscape, JDataStore.

    The results were as follows:
    1) MySQL (about twice fast as JDataStore)
    2) JDataStore (one more to mention on your list)
    3) Pointbase
    4) Cloudscape

    Maris
  31. 101 Reasons Java is Better than .NET[ Go to top ]

    However, entity beans with "database" concurrency policy (WEBLogic 7.0)doesnt work with MySQL at all. Because lack of tx support, I guess.
  32. 101 Reasons Java is Better than .NET[ Go to top ]

    Did you checkout SAP DB as well?
  33. SAP[ Go to top ]

    Bob, I will check out SAP DBMS too, if you are interested
    I can send you test results later, drop me an email at smike at apollo dot lv

    Maris Orbidans
  34. SAP DB[ Go to top ]

    SAP DB has almost exactly the same overall performance as
    MySQL. (both latest stable versions)

    Maris
  35. 101 Reasons Java is Better than .NET[ Go to top ]

    15. Larger Talent Pool
    25. Higher Paying Jobs

    - I am sure some VP somewhere out there read this and decided to explore .NET as a cheaper solution. Less people needed and smaller salaries. Sounds like a benefit to me.

    Some points are valid but I think these two are a bit far reaching.

    This is like telling me that BMW's are better because there are more higher priced mechanics for them. So my car will break more often and cost me more to fix? I am ok cause there are lots of people to charge me to fix it?

    I think the Java community needs to take the Honda approach. Good solid cars that let the tweakers put in nitro if they really want it... But then again there is always that idiot that puts one of those HUGE aluminum wings on their modified Civic and thinks it is a good thing. :P

    Listen to Black Sabbath,
    Greg
  36. 101 Reasons Java is Better than .NET[ Go to top ]

    Well it looks like FreeRoller has crapped out. As of 4:55EST, it is down.
  37. 101 Reasons Java is Better than .NET[ Go to top ]

    Try getting it from javablogs: http://www.javablogs.com/ViewBlog.jspa?id=10056
  38. OT: Black Sabbath[ Go to top ]

    Gregory,

    "Listen to Black Sabbath"

    I know at least 101 reasons to prefer Alice Cooper over Ozzy Osbourne but that's a different story. :)

    Yann
  39. 101 Reasons Java is Better than .NET[ Go to top ]

    Many of presented reasons are true, but not because Java is better, but because Java has been around for longer time than .NET. I'm sure in a couple of years, .NET will have sophisticated logging and messaging mechanisms if still widely used on the market.

    As for object oriented databases like Cloudscape, there is absolutely no necessity to write databases in .NET, because there is very little room for this on the market, nobody would use it just because giants like DB2, Oracle, and MySQL have already taken away all marketshare.

    I myself work with Java and think main motivation of Microsoft creating .NET was kicking IBM's butt as usual. The whole idea of "one platform - multiple languages" just doesn't seem revolutionary enough to emerge and overthrow other existing concepts and frameworks that already established themselves.
  40. Pure Java Database[ Go to top ]

    The argument for pure java databases are
    (1) Portability
    (2) Ease of installation

    One excellent example of this is JIRA. Installation of JIRA, which happens to be a web based application, is painless.

    That is, unzip the file in a directory, run the batch file. It runs (1) The Web Server (2) The App Server and (3) The Database Server.

    With other non java databases you have to do a whole lot of work.
  41. let`s not forget opensource[ Go to top ]

    Many comments list that java has more features than .NET because it´s been around for more than 7 years.

    Let´s not forget the opensource community and the free nature of Java (Log4J, Struts, etc.. ARE Opensource Projects)

    Does anyone think Microsoft will change it´s policy about OpenSource any time soon ??? :)
  42. let`s not forget opensource[ Go to top ]

    CLI .NET and C# are in public domain now....
    and open source community have begun to use them (see project modo, the X-manager 'gnome' migrating to .net, free c# compiler on linux, etc...)
  43. #99 XUL (XML UI) Motors Abound[ Go to top ]

    My favorite is upcoming #99 XUL (XML UI) Motors Abound

     Java sports numerous open-source XUL (XML User Interface Language) motors that let you build UIs for Swing or SWT using XML.

     I try to keep track of all of them at "The Richmond Post" link-opida online at http://luxor-xul.sourceforge.net/post/links.html

    Here's a sampling:

    - Luxor @ http://luxor-xul.sourceforge.net
    - Thinlet @ http://www.thinlet.com
    - KoalaGML @ http://koalagml.sourceforge.net
    - SwingML @ http://swingml.sourceforge.net
    - JellySwing @ http://jakarta.apache.org/commons/sandbox/jelly/jellyswing.html
    - Java GUI Builder @ http://jgb.sourceforge.net/

      So far there's only one tiny XUL motor for .Net named Mot @ http://motlib.net

      To get started in XUL check out:

    - O'Reilly's free Mozilla XUL book @ http://books.mozdev.org
    - XUL Planet @ http://www.xulplanet.com
    - The Richmond Post @ http://luxor-xul.sourceforge.net/post - Chronice of the XUL Revolution
  44. #99 XUL (XML UI) Motors Abound[ Go to top ]

    Yeah, keep track of all these doomed-to-fail XML UI schemes. It'll make interesting history. Here's why.

    For the schemes that want to express Swing as HTML:

     - it's just plain stupid and not expressible
     - now that the judge is forcing MSFT to support Java on Wintel, there are better alternatives: Swing Applets+Jumpstart.
     - if it's still all to be done in a text editor, it won't fly very far

    For those schemes that want to devise an XML language that's rendered by arbitrary UI machines, such as web-browsers and Swing extensions:

     - All the above, plus...
     - Great, now we get to experience the "success" of HTML like:
       (i) constantly changing "standards"
       (ii) differing, "extended", machine implementations
       (iii) MSFT doing everything it can to make it fail
       (iv) bad or non-existent tools for the generation of this XML
     - Hey, all you need to do is download Mozilla for the rendering engine. Yeah, my mom will do that.
      
    Swing is the baseline and Applets+Jumpstart are the deployment answer. HTML is for hypertext, thus the HT.

    Obviously I am a Java fan, but I see all of this as a waste of effort.

    Spend your effort making sure the Plugin and JumpStart are supported on all platforms and on all browsers. Apple's new browser doesn't support JumpStart yet! Come on, Steve.
  45. #99 XUL (XML UI) Motors Abound[ Go to top ]

    JumpStart --> WebStart

    Didn't it use to be called JumpStart?
  46. Where is the .Net list[ Go to top ]

    Here is a suggestion. To be fair someone should start a '101 reasons why .net is better than Java'. It should contain things like:
    - Nice IDE
    - support multiple languages.
    - Strong use of XML
    - Backed by Microsoft

    Mayby someone already did this. I don't know .... but it would be nice to have to two lists and compare in the end.
  47. - Nice IDE
    http://www.geocities.com/ceperez/EclipseMainRouter.html
    - support multiple languages.
    http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html
    - Strong use of XML
    http://xml.apache.org
    - Backed by Microsoft
    Lock-in, Mandatory Upgrades, Software Assurance
  48. Where is the .Net list ...[ Go to top ]

    Now which ones make it better (or are better)? :)
  49. 101 Dalmations[ Go to top ]

    Hendrik:
    - Nice IDE
    - support multiple languages.
    - Strong use of XML
    - Backed by Microsoft

    I would state the benefits of .NET differently:

    - It is Microsoft's current development platform (if you want to be strategically alligned with Microsoft)
    - Supports a Java-like language (C#) and libraries (makes it _relatively_ easy to hire/train developers)
    - The IDE is a significant improvement over the MSVC era (IMHO improved for coding web page events and designing windows forms)
    - Excellent support, with a few painful exceptions, for XML (allows easier interop with other systems, e.g. SOAP, although at a lower level of fidelity than the older COM+ model can provide)
    - Something you didn't mention is that .NET actually makes it easier (IMHO) to support/bridge older Microsoft technologies like COM/ActiveX and COM+.

    So I would suggest that, for most C/C++, MFC, ATL, COM/DCOM, COM+, and ASP developers targeting the Windows platform and strategically alligned with Microsoft, .NET is a great leap forward.

    Regarding multiple languages, IMHO .NET does not really support multiple languages. It supports C#, and the other languages (such as the partially supported C++) are there just to support C# (i.e. allowing C# to use old DLLs and APIs), or as marketing gimmicks.

    The potential exception to that is VB.NET, which (as it stands today) is neither fully VB nor fully .NET (i.e. you can't take all your old VB6 stuff in, and you can't take full advantage of the .NET features either). However, I would expect that in the next couple of upgrades it will have improvements to ease porting the many VB6 apps into it. That's why relatively few VB developers are going to .NET today, while .NET is already fairly popular with ex-MFC Windows GUI developers.

    So anyone still writing Windows-only applications (and I should mention Microsoft IIS applications, which can support non-Windows clients via the browser) and migrating VB6 applications will probably be using VS.NET and, with the exception of some VB developers, will be much better off for it than when they were using Microsoft's last generation of development tools and technologies. There will be companies that stay in the pre-.NET world on Microsoft Windows, but that is mostly because of large existing code bases or specific low-level technical requirements.

    Regarding Mono, it's a wild card. It seems at this point that there is very little interest in it from Microsoft customers, which is not surprising because the customers that wanted something different than Microsoft products long ago switched to Java. Most of the people who have tried Mono are the Java/Linux crowd, particularly those that like the open source nature of Mono.

    Microsoft's biggest challenge will be convincing ISVs and SIs that .NET is a market, not a product. Right now, they treat it more like their product, (e.g. more like how Borland markets JBuilder or IBM markets WebSphere), which is why there is relatively little support for it from ISVs, while Sun was smart enough with Java to get lots of companies involved with it to make it into a self-sustaining market. In a way, it is a replay of the Cathedral and the Bazaar.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  50. 101 Dalmations and one cat[ Go to top ]

    To add on to what Cameron said. VS.Net is also a significant improvement for the MSVB IDE (viewing objects, adding properties and methods, ...).
  51. Refactoring?[ Go to top ]

    As somebody who is unfamiliar with MS development tools, I have this question...what is the refactoring support like in .NET development environments. For me, this is one the best features in top-notch Java IDEs.

    Ryan
  52. Refactoring in VS.Net[ Go to top ]

    As far as I have seen, there is no mention of refactoring. So you have to use search and replace or roll your own via extensibility.
  53. refactoring by keyboard+mouse[ Go to top ]

    VS.NET does not have any refactoring support.
  54. Refactoring
    ===========
    http://www.xtreme-simplicity.net/CSharpRefactory.html

    Continuous Integration
    ======================
    http://sourceforge.net/projects/draconet
  55. Cameron> Regarding multiple languages, IMHO .NET does not really support multiple languages. It supports C#, and the other languages (such as the partially supported C++) are there just to support C# (i.e. allowing C# to use old DLLs and APIs), or as marketing gimmicks.

    Cameron, recall that ASP.NET has a "code behind" feature, that does things that JSP world currently does thru' TAG libraries such as Apaches Session taglib, and java-bean-enabled frameworks such as Struts. I have used both, and I feel ASP.NET's design is better over Apache's designs so far. That's where project mono will add value for Linux/OS-X user community at large. After all, we should give pats off to the designers when they do it right.

    The implementation in ASP.NET can make use of the separation of concerns, via presentation "HTML" and code-behind "DLL". The "code behind" page can be implemented using any of the .NET supported languages such as managed-C++, C#, ActivePerl, Eiffel from ISE, COBOL from Fusitsu, and so on...27 as of now. I have actually used many of the .Net languages created by Microsoft and partners. MS Office 11, FYI currently in beta, supports .NET framework from VBA too!

    In short, the multiple languages support in .Net framework is not marketing gimmick. VS.Net is one IDE that shows it. Mono project can expand on that further.

    Cameron, you have to learn to read between the lines. Do you guys think CLR is associated with the VS.NET default set of languages alone ;-) At least learn to respect the designers of CLR and C# created by the architect behind Borland's Delphi! Have you heard the latter at OOPSLA 2002?
    Just as Gosling works for Sun, MSFT does have OO gurus working passoinately.

    Cameron> - .Net Supports a Java-like language (C#)

    Actually, C# runtime behaves more like "managed" C++, while the syntax is java like, besides support for scripting like "foreach" tokens that come handy. Besides that, C# supports pointers & references both, whereas java(TM) supports references mainly. Note that the JVM does "expose" 2 well-documented pointers- but only for writting JNI code in C/C++.

    As any unbiased J2EE as well as .NET community member would do, I would use the "right" technology where it matters, instead of wasting time on these "A better than B" kind of fights.

    Bottomline is: The choice of programming language makes one comfortable with the IDE eventually.

    Regards,
    /Ravi
  56. Enough Already[ Go to top ]

    This thread is pathetic. We're all nothing more than victims of our environment; although a few have the luxury of choosing it more freely than the rest in these economic times. Anyway, how many of us Java loyalists would be bashing Microsoft if the only jobs out there paying top dollar were .Net?

    I'll admit, I'm a 5 year Java/J2EE zealot and wouldn't switch unless I had too. On the other hand, I was a Microsoft zealot for 6 years 5 years ago. Hmmm… may we live in interesting times, this horse is dead; let it rot…..


    cheers
  57. How is code behind equivalent to model-2 architecture?
    It's like saying writing scriplets in JSP is the same as model-2 (i.e. Struts, Webwork etc.).

    Can someone explain to me?
  58. Code behind is not equivalent to model2. But also, there is nothing in .Net that prevents Model2.

    Code behind is just a very nice implementation to separate the code and markup in the presentation layer, IMHO comparable to the WO components of webobjects.

    Also, regarding point 6 in the list, "multiple version of the VM". It is absolutely possible to have multiple versions of the .Net runtime running simultaneously and isolated on the same machine. Deploying apps to one of the runtimes pretty much comes down to an xcopy install, meaning the application does not depend on any other resources outside the installation directory.

    Personally, I think the list should be boiled down to less items. I cannot really quantify the value of items like "More webservices deployment", "Most popular language in corporations", "More searchable references" and "Higher paid jobs", whereas "Mature Object Oriented Relational Mapping Tools" is a very strong point. I just think that if only 95 out of the 101 items are solid and the 6 others, that were added to just get to the 101, are hilarious (let me exaggerate), the whole list loses all value.
  59. Depends on your point of view[ Go to top ]

    "Mature Object Oriented Relational Mapping Tools" is a very strong point, however, that's because you're a developer who recognizes it, however, getting paid more is also a strong point, that is for other people.

    I'm thinking of a list with different categories or maybe a list of different views. So, if you want a list of "Air Tight Reasons Why Java is Better than .NET", then you can get a subset of the list.

    The 101 target is more like a brainstorming session, suspend some judgement for a moment, and write down as much ideas as possible. The next step can then be to refine the ideas.
  60. <b>Java is environmental friendly</b>

    Could you imagine how many trees was cut down to print books upon books of VB and other MS technology?!?

    I myself has books of VB starting from version 3, DCOM and etc, everytime they come-up with new technology/version I need to throw-away my old books and buy new one. *sigh*

    hmmmm... maybe that's why lots of MS technology authors are happy these days...?!? ;-)

    and my java version 1 book is still with me and applicable until now!
  61. You are correct sir[ Go to top ]

    I couldn't agree with you more, suez. I'd write Word docs if it paid enough.
  62. enjoy applet[ Go to top ]

    http://investor.cnet.com/investor/quotes/chart-java/0-9970-1044-0-MSFT.html
  63. Where can I give more Suggessions?????[ Go to top ]

    Guys,

    Anybody has any idea where can I give / suggest new POsitives of Java to the guy who wrote this article???

    Raj
  64. Where can I give more Suggessions?????[ Go to top ]

    Mail? ceperez@yahoo.com
  65. Where can I give more Suggessions?????[ Go to top ]

    Thanks Bob