Brian Keller on J# and Java in .NET

Discussions

News: Brian Keller on J# and Java in .NET

  1. Brian Keller on J# and Java in .NET (120 messages)

    Over on our sister community, Brian Keller, Program Manager for J# talks about the origins of J#, the Sun/Microsoft Agreement, and the future of Java development for the .NET Framework. It gives us a little insight on Microsoft looking over the fence at us.

    Watch the entire interview

    Does anyone here have experience with J#?

    Threaded Messages (120)

  2. Cute![ Go to top ]

    It gives us a little insight on Microsoft looking over the fence at us.
    Aw! Just a widdle Micwosoft looking owa the fence. Cute!

    Sandeep

    NOT!
  3. I've left Java behind for .Net![ Go to top ]

    Sorry Guys! I have to admit that I've left Java behind for .Net!

    The reason being kind of simple that my company wanted to standardise on a single code base, and Java lost.

    I feel dirty in saying this but .Net isn't actually bad at all.

    The reason I say this is that using .Net isn't a painful experience at all. It hangs together well, the IDE is very productive and simple to use, having more than one language is a boon and come on and be honest, Java's syntax can be alittle too Geeky at times, which is dead annoying if you want to just get the job done.

    The really scary thing is that .Net is only on version 1.1, Java is on version 5 ... and version 2.0 is out next year. So, come on guys, credit where credit's due ... admit it ... go on ... will it kill you? ... Microsoft have actually done a good job!

    ... and here is the killer, I'm coding to Linux and NOT windows half the time, www.go-mono.com !!!
  4. I've left Java behind for .Net![ Go to top ]

    I feel dirty in saying this but .Net isn't actually bad at all. The reason I say this is that using .Net isn't a painful experience at all.
    I personally also don't think that .Net is amazingly bad, however I'm not overly impressed either, I'm just, well, neyeah about it all (I think it's called passive indifference) - the things that really annoy me about .Net are lack of checked exceptions, and the class docs are badly organised. I also, in all honesty, don't believe that the standard class library is all that great, collections being a case in point.
    The really scary thing is that .Net is only on version 1.1, Java is on version 5 ... and version 2.0 is out next year.
    Yeah but when .Net was released, Java was on 1.4.
    So, come on guys, credit where credit's due ... admit it ... go on ... will it kill you? ... Microsoft have actually done a good job
    I would say Microsoft hasn't done a bad job, but if the Sun-MS lawsuit had not have happened I doubt .Net would exist.Moreover, I think the only reason, in my eyes, that MS have done a good is not when you compare .Net to Java, but when you compare .Net to VS 6 i.e. the whole bunch of unrelated toolkits that came before it. That and DLL Hell
    I'm coding to Linux and NOT windows half the time, www.go-mono.com !!!
    Good for you! Especially since Mono has preview support for C# generics. I'm mainly a Java guy, and also mainly a Jini guy. When .Net can allow me to build a grid service as quick as Java/Jini I'm might consider looking at it more closely, but for me, .Net seems to be all client and no server; Web Services look like they're going to implode under the weight of their own critical mass, and the "will there/won't there be Remoting" stance is unappealing to me.

    Until MS really starts to think about third party vendors and ISV's and giving them generic hooks like, for instance, JMS rather than forcing you down a single path MSMQ, then I doubt .Net will really get any cross-platform appeal.Case in point, the Messaging API's for Mono (last time I looked) are just stubs.

    From my point of view, .Net is really good for developers that can quite happily sit within the constraints of .Net as placed by Microsoft, if, however, your needs change so that you can't work within those constraints and you need choice based on standards within a platform, it's severely lacking in .Net
  5. Calum: "I personally also don't think that .Net is amazingly bad.." etc etc etc

    Sounding exactly like a minister from some former east-block country explaining to his flock about another 5-year plan. Thank you for giving a face to the bombastic pontifications we are used to getting served from the Java camp!

    Or? I was satire true?

    Regards from
    Rolf Tollerud
  6. P.S.[ Go to top ]

    But you forgot the XA transactions! ;)
  7. P.P.S.[ Go to top ]

    There is a risk though. Cameron will not take lightly to that you are making fun of him! (even if it was a little joke..)
  8. A security flaw in Microsoft's ASP.NET technology could allow intruders to enter password-protected areas of a web site by altering a URL. A fix is not yet available, but Microsoft is offfering guidelines to help ASP.NET users secure their sites against intrusion attempts. The flaw exists only in ASP.NET, not ASP (Active Server Pages).

    Microsoft reported: "This issue affects Web content owners who are running any version of ASP.NET on Microsoft Windows 2000, Windows 2000 Server, Windows XP Professional, and Windows Server 2003."
  9. Sun Java Secure Socket Extension (JSSE) Authentication.
    Flaw May Validate Invalid Certificates
    http://www.niscc.gov.uk/niscc/docs/br-20040519-00269.html

    about the deficiencies of J2EE security:
    http://www.javaworld.com/javaworld/jw-07-2004/jw-0726-security.html

    "Without these types of enhancements to the J2EE specification, custom security will always be at a loss because the container will have no knowledge of the user. Thus, declarative as well as programmatic security becomes effectively unusable."

    Best regards
    Rolf Tollerud
  10. Calum: Thank you for giving a face to the bombastic pontifications we are used to getting served from the Java camp!
    My point was, I look at it subjectively; I won't simply loathe .Net because it is not Java, but I also won't accept that 'optimised for Windows' makes .Net amazing, when you consider that Microsoft also make the operating system, Windows optimisation is an expectation not a feature. "It looks great on the client", I concur, BUT the client is not all there is to .Net, just as Swing is not all there is to Java.

    Let me put it another way - For long time MS developers, .Net is the best thing since sliced bread - suddenly I can do threads a whole lot easier, I get AppDomains, etc., etc.

    But to me I've seen it all before, and in my eyes, the .NET class libraries are a poor relation of Java's - If .Net is SO good, give me one single unrevokable, irrefutable reason why I should suddenly turn off my Linux box, wipe the hard disk, install MS Windows Server 2003 and start coding 100% .Net, until then I'll use .Net where I need to, and at all other times, I'll use Java.

    And please don't preach to me about pontifications, Rolf; you are the worst one for doing it.

    Regards

    Calum
  11. Ohh...you're using Mono. Good luck. Can't wait until M$ stabs to in the back and you are then 'forced' to move your code to windows...

    Then again, you might be able to convert it from C# to java if sourceforge gets its project going:

    http://java.foundries.sourceforge.net/comments.pl?sid=7332

    As an alternative, you could move your C# code from .NET to mainsoft, then compile it to Java using their C# compiler for java, then de-compile the bytecode back into Java.

    **There is no legally viable non-microsoft implementation of .NET, and there probably never will be. Depending on mono is dangerous.**

    See:
    http://www.gnome.org/~seth/blog/mono

    Mike
  12. Use of J#[ Go to top ]

    Yeah, I tried Visual J#. Though this was a while ago I didn't get a very positive opinion of it. You are really limited in terms of Java APIs (1.1.4 support, with spotty coverage of 1.2 collections and Swing - basically the "Pure Java 1.1" parts), so you'd have to use .NET APIs with Java if you wanted to get any real work done. This can be hard, since, for example, .NET APIs use unsigned bytes and Java uses signed bytes with no way at all to create unsigned ones. So you'd be better off using C#, which from a language-only perspective is at least as good as Java and not very hard to learn if you already know Java.

    I think J# is only useful if you are in one of the following situations:
    1. You have some Java code that isn't API heavy and want to incorporate in a .NET project in a quick-n-dirty way
    2. You are trying to maintain code that used the old MS Java VM and want to avoid the MS JVM bugs
    3. You are trying to use Visual J++ and are tired of the crashes and need an upgrade path
    4. You are writing toy Java apps and don't have access to anything else (e.g. you are a college student and MS or your school gave you J#).

    So J# gets no respect from me...
  13. Use of J#[ Go to top ]

    With the way .NET is, you really are talking about the syntax lexer, not the actual langauge. The fact that it actually has support for some Java APIs is amazing in itself, as that means the CLI behind it knows how to work with them.

    I agree J# for Java development is as useful as any other text editor with more or less decent text formatting options, but for those who want to access the full set of .NET features, but not worry about migrating over to C# syntax and specifics, even if it is easy (I prefer to migrate), J# is perfect as it gives you the luxury of wiritng .NET apps in Java syntax.

    Well, kudos to the .NET CLI pluggable lexer architecture...soon we may see MS Visual Perl or something to that extent...cool, but useless...at the moment at least...
  14. Use of J#[ Go to top ]

    ...soon we may see MS Visual Perl or something to that extent...cool, but useless...at the moment at least...
    In case anyone thought this was perhaps only a joke...

    http://aspn.activestate.com/ASPN/NET/
  15. Brian Keller on J# and Java in .NET[ Go to top ]

    In 25 years of IT experience, the popularity of .Net is one of the strangest things I have come across. There is very little that .Net can do that Java can't, yet there are overwhelming advantages to Java: multiple vendors supplying VMs, the SDKs are generally free, some first-rate IDEs are free, and its highly portable both on the client side and server side. Its not like Java is inadequate on Windows: with frameworks such as SWT, Java has good Windows support and can make use of ActiveX components and other Windows services. Unless there is some major aspect of .Net I don't know about, I really can't see the advantage of .Net, or why anyone is bothering with it. Can it really be only on the basis of pretty developer tools? Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
  16. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
  17. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    +1
  18. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    +1
    +1
  19. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    +1
    +1
    Can not agree more!
    +1 for me +1 for a friend of mine
  20. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    +1
    +1
    Can not agree more!+1 for me +1 for a friend of mine
    -1 and -1 * n for anyone who actually knows about productivity during the life time of an application.
  21. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    +1
    +1
    Can not agree more!+1 for me +1 for a friend of mine
    -1 and -1 * n for anyone who actually knows about productivity during the life time of an application.
    -1 -1 +1 +1 -1
  22. Brian Keller on J# and Java in .NET[ Go to top ]

    can n be < 0 ?
  23. Brian Keller on J# and Java in .NET[ Go to top ]

    If it is just "data" probably, but if you are good at story problems then no. :)
  24. NET is user friendly.[ Go to top ]

    Here's just one simple example.
    I'm a user of hibernate. And naturaly i was intrested in code generation tools that support hibernate, such as Middlegen and andromda.
    I tried to download and use Middlegen 3 times !!! COuld not pass the stage of messing with ant scripts, config files, copying jar files to correct locations.
    Finally on a 4-th try I spent couple of hours and did it !! Boy i was happy just to see finally GUI with my tables loaded in it. And mid you Middlegen is old and established product.

    Now let's go to NET side. I'm also working with dotnet now, and because i'm a happy user of hibernate i naturally picked up NHibernate. AFter some research I found out that there are free codegeneration tools in dotnet. Namely CodeSmith and MyGeneration. I chosed MyGeneration because it already had some hnibernate templates. Download, installation and running GUI took less than 2 minutes ! And no messing with configs, jar files, scripts, environment variables etc.
    In a nice GUI I just clicked the button, selected database, provided username and password and voila ! Nice tree view with all my dtabase objects, tables, columns, foregn key, properties, custom properties, scripts source code, script output screen, everything ! Is this product commercial ? No ! Is this product 10 years old ? No !

    Do you still wonder why MS wins debelopers ? I do not. Cause i'm sold already !
  25. NET is user friendly.[ Go to top ]

    this product 10 years old ? No !Do you still wonder why MS wins debelopers ? I do not. Cause i'm sold already !
    Good IT development is about engineering and supporting code, not how quickly something can be glued together with a neat IDE. With MS, supporting code can mean a forced migration to new non-backwards compatible versions every few years.
  26. NET is user friendly.[ Go to top ]

    Good IT development is about engineering and supporting code, not how quickly something can be glued together with a neat IDE.
    Is Good IT development and nice GUI mutualy exclusive ? :))
    I do not see any relation between these 2. I actually want Good IT developmetn AND nice GUI tools. Don't you ?
  27. NET is user friendly.[ Go to top ]

    Good IT development is about engineering and supporting code, not how quickly something can be glued together with a neat IDE.
    Is Good IT development and nice GUI mutualy exclusive ? :))I do not see any relation between these 2. I actually want Good IT developmetn AND nice GUI tools. Don't you ?
    Sure. And I have them with Java.
  28. NET is user friendly.[ Go to top ]

    Good IT development is about engineering and supporting code, not how quickly something can be glued together with a neat IDE.
    Is Good IT development and nice GUI mutualy exclusive ? :))I do not see any relation between these 2. I actually want Good IT developmetn AND nice GUI tools. Don't you ?
    Absolutely. I think Eclipse and Netbeans 4.0 are amongst the best IDEs I have ever seen, and I haves used very many IDEs over the years, including Visual Studio. (The absolute best IDEs I have ever used were VisualWorks Smalltalk and VisualAge Java, but I think Eclipse and the latest Netbeans are coming close).

    I did not say that good IT development and a nice GUI were exclusive: my point is that a nice GUI should NOT be a major part of the reason for choosing a development language. Much longer-term considerations (such as "What happens if a major client decides to switch to Linux?" or "If MS put up their prices, can I use alternative development tools?") should be important.
  29. NET is user friendly.[ Go to top ]

    Is this product 10 years old ? No !Do you still wonder why MS wins debelopers ? I do not. Cause i'm sold already!
    To say this is a fault of Java doesn't make sense to me. Your criticism should be focused on the creators of MiddleGen, not Java. I've seen crappy software written in all different languages. Just because can can write crappy piece software that is hard to configure doesn't mean the language is faulty.

    Do you blame the English language when a author writes a hard to follow book?
  30. NET is user friendly.[ Go to top ]

    I chosed MyGeneration because it already had some hnibernate templates. Download, installation and running GUI took less than 2 minutes ! And no messing with configs, jar files, scripts, environment variables etc.In a nice GUI I just clicked the button, selected database, provided username and password and voila ! Nice tree view with all my dtabase objects, tables, columns, foregn key, properties, custom properties, scripts source code, script output screen, everything ! Is this product commercial ? No ! Is this product 10 years old ? No !Do you still wonder why MS wins debelopers ? I do not. Cause i'm sold already !
    We wrote MyGeneration basically in 6 months, in the evenings and weekends. Thanx for the compliment.
  31. NET is user friendly.[ Go to top ]

    In a nice GUI I just clicked the button, selected database, provided username and password and voila ! Nice tree view with all my dtabase objects, tables, columns, foregn key, properties, custom properties, scripts source code, script output screen, everything ! Is this product commercial ? No ! Is this product 10 years old ? No !Do you still wonder why MS wins debelopers ? I do not. Cause i'm sold already !
    And then, your employer or customer comes back to you in a few months and says 'We are fed up with Microsoft security issues and licensing, we would like to investigate the use of Linux desktops and servers - are you ready for this?' (This is a very, very common situation)

    What do you say... 'The .Net system had a nice GUI?'...

    The future of the server and desktop markets is a mixture of systems. .Net can't cope with this future.
  32. Please show a J2EE-EJB site with >= 3000 t/per sec if you can.

    London Stock Exchange .NET System achives 3000 transactions per second.
    http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=13911

    I'm waiting..
  33. Please show a J2EE-EJB site with >= 3000 t/per sec if you can.London Stock Exchange .NET System achives 3000 transactions per second.http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=13911I'm waiting..
    How is this an argument for .Net?

    A company with billions of dollars wants a demonstration example of a technology, and they get it. What a surprise! What is not a surprise is how few examples of such .Net deployments exist.

    Can I mention something that, if tuned right can give way more than 3000 transactions per second?

    dBase-III under MS-DOS.

    Yes, on a multi-gigahertz processor, this 20-year-old program sure beats J2EE (and even .Net).

    How does it do it? Using the raw operating system and no security.

    The fact is, that for server side deployment - even on Windows Servers - J2EE is the standard, because it is robust, multi-vendor and secure.

    The Stock Exchange may have a fast system with .Net, but suppose Microsoft change the licensing terms for their system - where do they go? If there are problems and bugs in .Net, where do they go? Where are the alternate competitive .Net suppliers?

    With J2EE, you can request competitive tenders for service providers and software.
  34. You will not find any mission critical, high performance J2EE-EJB applications because it isn't any. But there is a number without EJB! "It is human to err" Yes, but when you have done a mistake on such a magnificent scale, that may even have been a catalyst to the recession, I would be very quite and put myself into a little hole for at least 10 year if I were you. And to think that the whole J2EE EJB Applications enchilada were a source of reverence, veneration and worship for a long time!

    I have a confession to make. I have been a secret collector of EJB stories for a long time! Do you want me to serve some choice specimen from the menu? Ok then, only for gourmets:
    Jakarta consider J2EE consider harmful
    (Jacarta belong to the "sane" IBM/Open Source part of Java community)

    "In the last project (a major customer-care callcenter app), they had used
    Entity Beans, and Websphere, and there were 500 EJBs, and 4700 distinct
    application classes."
    http://www.mail-archive.com/general at jakarta dot apache dot org/msg03376.html
    read also,

    "could you please tell us what was/were the reason(s) to migrate the EJB-based application to Spring-Hibernate?"
    http://www.theserverside.com/news/thread.tss?thread_id=29294#141991

    "Now we have server side applications that behave like 1992 desktop applications"
    http://www.theserverside.com/news/thread.tss?thread_id=24823#116183

    It is human to err but it is not company policy to forgive!

    Regards
    Rolf Tollerud
  35. You will not find any mission critical, high performance J2EE-EJB applications because it isn't any.
    What silly nonsense! First of all, its not a good idea to say 'isn't any' about anything, because proving absence is hard, secondly, if you go around looking for stories of failure, you will find them about any technology.

    Companies who use J2EE-EJB in high-performance mission-critical applications are too numerous to list, but they include major banks, Oil companies, Stock exchanges...

    Go to job search sites. Look for J2EE EJB. See the huge number of jobs for EJB experts required to work on existing successful EJB projects.

    I don't like EJB, but then I don't write applications where EJBs are useful - high-end clustered applications. I prefer other persistence mechanisms like JDO. But, no matter what I do or don't like, I don't say things like 'there are no high performance critical uses of EJB'.
  36. why, indeed?[ Go to top ]

    To all my friends of common sense I will take a little of my precious time to explain the Java camps strange behavior.

    1) They have the best solution for client-development right now; SWT-Eclipse compiled with Excelsior give fast stand-alone applications from 2-3 MB that doesn't need JRE or any other VM to run.

    2) As far as I know Spring is the currently the best Server Framework, both in J2EE world and .NET.

    So why do the Java zealots desperately cling on to The Big EJB Application Servers that .NET can beat easily blindfolded and with on hand in the pocket in all areas: Performance, Productivity, Uptime? Why, indeed?

    The answer is that it is the loss of status as "Academic Über-Computer-Scientists" that hurts. Also the Sun/JCP camp do not like that IBM/Open Source has taken home the game, "eclipsed the sun".

    Regards
    Rolf Tollerud
  37. why, indeed?[ Go to top ]

    They have the best solution for client-development right now; SWT-Eclipse compiled with Excelsior give fast stand-alone applications from 2-3 MB that doesn't need JRE or any other VM to run.2)
    Compiling Java to native code has some advantages, but loses many others:

    One of the most significant advantages of Java over .Net is that you can deploy java binaries on a large number of platforms. This means you can even run a J2EE on mixed platforms. You can't do that with .Net.
    As far as I know Spring is the currently the best Server Framework, both in J2EE world and .NET.So why do the Java zealots desperately cling on to The Big EJB Application Servers that .NET can beat easily blindfolded and with on hand in the pocket in all areas: Performance, Productivity, Uptime?
    You are completely mixing up serveral ideas. Spring is not a replacement for an application server, Spring can be used by application servers. Spring does not replace EJBs - Spring can use EJBs as one of the persistence methods! Spring is great, but its not a replacement for anything - its a great addition to the developer's toolkit.

    As for performance, productivity and uptime - are you seriously suggesting that .Net on some Windows 2003 servers can compete in terms of performance and uptime with Java on WebSphere on a large multiprocessor IBM mainframe? Microsoft have always been trying to pitch good quality low-end tools in competition with large servers and mainframes, and failing.
    Why, indeed?The answer is that it is the loss of status as "Academic Über-Computer-Scientists" that hurts.
    Anyone who things that EJB is anything to do with high-level computer science is very much mistaken. Computer science, although important, has very little to do with business code. Computer science is about research. Business code is about established technologies.
    Also the Sun/JCP camp do not like that IBM/Open Source has taken home the game, "eclipsed the sun".RegardsRolf Tollerud
    We have been through this before, and I don't understand why you have a problem with the fact that Sun and JCP have no connection, either positive or negative with open source. Here are some facts:

    * Tomcat is open source and produced by the Sun and the JCP.

    * IBM is a member of lots of many JCP groups.

    * JBoss is open source and conforms to many JCPs

    * the JSF JCP reference implementation is open source and produced by Sun

    * The very widely used Netbeans IDE is open source and produced by Sun

    Sun and IBM both do open source, and both are involved in the Java Community Process.
  38. Please show a J2EE-EJB site with >= 3000 t/per sec if you can.London Stock Exchange .NET System achives 3000 transactions per second.http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=13911I'm waiting..
    To anyone actually building transactional systems, that setup is not a trading system. It's a value added system, using bulk inserts with MOLAP to provide data feeds. We're talking simple analytics using Microsoft Analysis service. I would recommend you try running and reproducing those results.

    By the way, regardless of the software, a dual CPU server simply cannot handle 3K transactions/second with significant current transaction support with medium level of isolation. Even simple inserts take 100ms under load. That means a maximum of 10 transactions per second per CPU. On a dual CPU server with lots of ram, that's still only going to be 20 transactions per second. Even if a person manages to optimize the heck out of the insert to 25ms, 80 transactions/second is going to be the max. The only way to 700 inserts/second is to use batch inserts. Anyone that understands the concept of isolation knows there's a big difference between an atomic insert and batch insert.

    Is it possible to achieve 3K inserts per second? Not with any Sql97 compliant database that I know of running on a dual CPU server. I'm sure someone could write a kick ass database with no isolation, no support for commit/rollback, no indexing, no network calls and no fault tolerance to achieve 3K inserts per second. But that's not usable in real world trading systems.
  39. Please show a J2EE-EJB site with >= 3000 t/per sec if you can.London Stock Exchange .NET System achives 3000 transactions per second.http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=13911I'm waiting..
    Have you actually read the article?

    Its not 3000 .Net actions a second, its 3000 database transactions a second. Hey, that's not bad, but not that great: I can get 500 transactions a second using PostgreSQL on my home PC, using a J2EE/JDO combination. Some of the biggest databases can handle high tens of thousands of transactions a second even in mirrored and clustered setups.

    Comparing .Net to J2EE based on database performance is like comparing them based on hard disk speed - irrelevant. What you have to compare is messaging performance with multiple connections. That case study described a .Net installation handling 500 messages per second. There are plenty of reports of JBoss (for example) providing this kind of performance. If you really want to see speed, you can use RMI calls to a server - you can get tens of thousands of messages a second, even on a standard PC.

    But anyway... .Net is fast, I agree. J2EE is fast too. The really big deal is that J2EE is fast on Windows XP, Windows 2003 server, Solaris, Linux, HP/UX, MacOS/X, Aix, z/OS, OS/390...
  40. what kind of hardware?[ Go to top ]

    Hey, that's not bad, but not that great: I can get 500 transactions a second using PostgreSQL on my home PC, using a J2EE/JDO combination.
    I'm curious, what kind of hardware are you using? I remember earlier version of mysql and postgres were faster than Microsoft SqlServer 6, and 7. In the benchmarks that we've performed, 200-250 is about the max for a Quad 2.6ghz server with 4Gb of RAM, windows2K3 server and Sql Server 2K. The insert is into 1-3 tables. the largest insert has about 20 columns. This particular benchmark was optimized with a stored procedure, but that is pretty much the max on this kind of hardware. The benchmark was multi-threaded, so it did test performance under concurrent load.
  41. what kind of hardware?[ Go to top ]

    Does a Cray computer come in a PC version? Maybe that is it. Would be great. Comes with its own therapeutic water fall.
  42. what kind of hardware?[ Go to top ]

    Does a Cray computer come in a PC version? Maybe that is it. Would be great. Comes with its own therapeutic water fall.
    that is funny. I wasn't going to say it quite like that. Based on the old benchmarks I've seen for postgres and mysql, doing an insert with 10-20 columns still takes 30-100 milliseconds. doing an update takes longer than simple inserts as usual. that PC wouldn't be over clocked to like 6ghz would it :) silly joke on my part, but I am curious what kind of hardware is achieving 500 trnx/second and what kind of insert it is.
  43. Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    I think I'd add performance and platform integration to that: the portability that Java provides comes at a cost of performance and platform integration on Windows. If you only plan to target Windows, then .NET is a better choice than Java for simplicity, productivity, performance, and platform integration (of course, if you need or want portability to Linux/UNIX, then Java is obviously a better choice than .NET).

    Here's a cross-post of other comments I made on TheServerSide.NET:

    We've had very good success porting a fairly large (over 1,000 classes) server-based application to .NET using J#. Microsoft recently published a case study on our efforts:

    http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=15864

    In addition to JDK 1.1.4 compatibility, J# also implements the collections classes of the java.util package, which are probably the most significant additions to Java in JDK 1.2 (and since) for server-based applications (that is, if you don't care about Swing).

    We successfully ported all or portions of several Jakarta open source projects to .NET as part of this task: Lucene, Commons Collections, Commons HttpClient, Crimson, ORO, etc.

    One of the interesting challenges we face is that we're continuing to maintain and develop the Java and .NET (J#) versions of this applications in parallel; that is, it wasn't a one-time, one-way port. So, we want to keep the code base as common as possible. This means limiting the portions we convert to C#, using Crimson for XML processing rather that the native .NET APIs (for example), and creating abstract classes that have different implementations in Java and J# when we absolutely couldn't reconcile the Java and .NET APIs (in some cases, the abstract class definition is in J#, but the concrete implementation for .NET is in C#, which is pretty cool).
  44. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
  45. Brian Keller on J# and Java in .NET[ Go to top ]

    Is there any benefit to choosing a technology that specifically limits your choice of vendor and deployment targets?
    Lots of people don't need that flexibility, and would rather have the benefit of simplicity. They only need one vendor/platform and they've picked MS and Windows. What they want is productivity and I think that's where .NET smacks down Java for many (but far from all) applications, at least at this time.
    (Please excuse my accidental blank message).

    Whenever I see anyone say that they don't need flexibility or portability, I feel they should always add 'yet!'. A large part of my work consists of re-engineering old code that was 'never' going to need to be portable. Examples include an old DOS database that now has to be on Linux, and (relevant to this discussion) vast Visual Basic projects that will have to be converted into a more cross-platform language (most likely Java).

    I am now convinced from bitter personal experience that portability of code is one of the most important considerations of any IT project. It may mean using less friendly development systems, and producing the application may take longer, but the potential savings can be enormous against having to re-write everything when your code becomes 'legacy' and unsupported or you find you have to deploy on a different client or server platform. These situations are very common!
  46. Brian Keller on J# and Java in .NET[ Go to top ]

    Please excuse my accidental blank message).Whenever I see anyone say that they don't need flexibility or portability, I feel they should always add 'yet!'. A large part of my work consists of re-engineering old code that was 'never' going to need to be portable. Examples include an old DOS database that now has to be on Linux, and (relevant to this discussion) vast Visual Basic projects that will have to be converted into a more cross-platform language (most likely Java).I am now convinced from bitter personal experience that portability of code is one of the most important considerations of any IT project. It may mean using less friendly development systems, and producing the application may take longer, but the potential savings can be enormous against having to re-write everything when your code becomes 'legacy' and unsupported or you find you have to deploy on a different client or server platform. These situations are very common!
    I concur. Several of the projects I've worked on involved undoing or replacing these "practical" quick and dirty applications because they become hard to maintain and extend.

    Under-engineering is as great a problem as over-engineering.
  47. Brian Keller on J# and Java in .NET[ Go to top ]

    We need to use an engineering level that will suit Goldy Locks. :)
  48. Work![ Go to top ]

    Go back to work people! :P
  49. Brian Keller on J# and Java in .NET[ Go to top ]

    I read these discussions once in a way when I want to take a break from work and feel like reading something amusing.

    I have to say Cameron Purdy, Rolf Tollerud and Mark Nutall make for entertaining reading...not necessarily in that order ;)
  50. to all champions of lost causes[ Go to top ]

    Dear D M

    When you are older you will realize that it is always at least two versions, the "official" and the real. Not only in the computer-rooms, but in all areas of life. Imagine what havoc and what protests that would emerge if the teachers suddenly began to teach the plain truth to the innocent youngsters in school!

    So for a long time the "accepted(official) truth" about the Big EJB Java Application Servers was that they was the epitome of Computer-Science, made by superior Engineers backed by solid theory. Alas, as we all know, that was not the case. :(

    Unfortunately there is still some lingering that has not got it yet.
    It will pass.

    Regards
    Rolf Tollerud
  51. to all champions of lost causes[ Go to top ]

    Dear D MWhen you are older you will realize that it is always at least two versions, the "official" and the real. Not only in the computer-rooms, but in all areas of life. Imagine what havoc and what protests that would emerge if the teachers suddenly began to teach the plain truth to the innocent youngsters in school! So for a long time the "accepted(official) truth" about the Big EJB Java Application Servers was that they was the epitome of Computer-Science, made by superior Engineers backed by solid theory. Alas, as we all know, that was not the case. :(Unfortunately there is still some lingering that has not got it yet. It will pass. RegardsRolf Tollerud
    It would be good to have some actual evidence or examples to back the claim that EJB Application Servers are the considered by anyone to be the 'epitome of Computer Science' backed by 'solid theory'. It would also be helpful if we could be told where we can find the 'official truth' about these things - perhaps a website address? You may or may not like EJBs, but where does 'Computer-Science' come into this?
  52. to all champions of lost causes[ Go to top ]

    It would be good to have some actual evidence or examples to back the claim that EJB Application Servers are the considered by anyone to be the 'epitome of Computer Science' backed by 'solid theory'. It would also be helpful if we could be told where we can find the 'official truth' about these things - perhaps a website address? You may or may not like EJBs, but where does 'Computer-Science' come into this?
    you might have to wait until hell freezes over, since Rolf already admited he is primarily a GUI guy and has limited serverside experience. For some one to appreciate what EJB's do, they would have to actually use it to solve the challenges of complex integration or complex transactions.

    I sometimes get the feeling many of the people who complain EJB's are hard, bloated, complex or useless don't have the stomach to deal with real-world issues of integrating new applications with dozens of existing legacy apps. I've personally met numerous people who scream and shout EJB's blow, but when asked how they would solve complex problems, their answers were "I wouldn't do that job to begin with." or "oh god, throw it away and start fresh."

    Of course Rolf had to bring up London Stock Exchange, when I've already taken the time to explain what the deployment really does and how it's achieved. there maybe someone out there achieving 3K atomic transactions/second using windows and a really big Unisys box with lots of CPU's (like 16), but I haven't come across any. I've tried to find examples, since I was asked to build a system that can handle 10K transactions per second with .NET. After a year of searching, benchmarking, prototyping and profiling, I couldn't find a live production example outside of TPC results. that isn't to say there isn't. I'm just not aware of them.

    I'm sure someone could build a system capable of handling 3K transactions/second using windows2K, .NET, 24CPU's, 40Gb of RAM and multiple 2gb ethernet ports, but they would have to write their own messaging server, an EJB like container to handle complex transactions, clustering and distributed transaction manger. That would take 3-5 years to build and likely cost several million dollars. I don't think any financial company would take that route, since they would get their butts kicked by their competitors using stock J2EE products. of course I'm grossly over generalizing, but I'm confident a 4 or 8 CPU windows server can't achieve 3K transactions/second with win2K, Sql Server 2K and .NET. Heck you could put Java/J2EE on it and you still won't achieve 3K transactions/second. Physics wins here :)
  53. "while you were sleeping"[ Go to top ]

    http://www.beust.com/smackdown.html
    Some scalability stories: major insurance company (200 tps, 700,000 tx/day), Merrill Lynch: 21,000 tps (yup, twenty-one thousand), 75M tx/day, CNET 4400 tps, 1.5M tx/day.
    http://www.microsoft.com/resources/casestudies/ShowFile.asp?FileResourceID=6002

    Integration with its other processing environments, including IBM MQSeries
    Bank of New York
    http://www.microsoft.com/windowsserver2003/evaluation/casestudies/CaseStudy.aspx?CaseStudyID=13938

    I am still waiting for the EJB success stories..I don't hold my breath though. In a previous thread at TSS "TheServerSide Calls for Real World J2EE Project Stories", no EJB references emerged either.
    http://www.theserverside.com/news/thread.tss?thread_id=17347

    But I am a little irritated by your reference to "Gui programming". Was it a sleight? If you think I am impressed by J2EE why don't you read,

    Real Programmers Don't Use Pascal

    Regards
    Rolf Tollerud
  54. "while you were sleeping"[ Go to top ]

    http://www.beust.com/smackdown.htmlSome scalability stories: major insurance company (200 tps, 700,000 tx/day),
    that is totally reasonable and believable using a standard 4 CPU server.
    Merrill Lynch: 21,000 tps (yup, twenty-one thousand), 75M tx/day
    no where does the merrill lynch paper say 21K tps. the smackdown states 21K without any details. I hate to be the one to break the news to you, but a 8 way HP proliant server can't achieve 21K atomic tps (ie non-bulk insert). the laws of physics say it's not possible. Only a big mainframe can handle those kinds of loads. the best a 8 way HP proliant server can handle is ~1000 tps. Even then, I doubt it can reach that. More likely than not, it can only handle 800-500 tps. Don't take my word for it, try it yourself. Or if you're lazy, call up a HP sales rep and ask them how many transactions a 8 way proliant can handle.
    CNET 4400 tps, 1.5M tx/day.
    since you didn't provide a link for CNet, I googled for it and found this http://www.microsoft.com/resources/casestudies/ShowFile.asp?FileResourceID=1275. Based on that paper, I'm guessing they did the simple approach. Setup a database for each customer and scale horizontally. this way, they can distribute the load across 20-40 Sql Servers. I can achieve this with postgres just as easily. I'm totally biased and consider this simple transactions.
    Integration with its other processing environments, including IBM MQSeriesBank of New York
    If you actually took time to read the article closely, BNY already had heavy clients in their original architecture. Therefore it makes absolutely no sense to move to EJB or some other heavy middleware approach. From the article it states..
    While the MQSeries wrappers are written in Managed Extension to C++ , which extends the standard C++ language to make it easy to add support for the .NET Framework to new and existing applications, other components of the solution are written in C# and Visual Basic .NET. Rather than locking it into a single development tool, Visual Studio .NET gives BNY the flexibility to choose the tools best suited to its developers and its needs, and to mix components created with different tools, as desired.

    "Where we are re-creating front-end applications originally written in Visual Basic 6.0, we want to use Visual Basic .NET—and for other components, we see advantages to C++ and C#," says Gerbino. "Visual Studio .NET makes it easy for us to deploy more developers—and to be more flexible in how we deploy them—for faster development. And it also makes it easy for us to architect a better solution that will be faster and easier to maintain over the long term. In the past, we didn't have that flexibility."
    earlier in the article, it states this..
    These issues were particularly noted in BNY's Image and Workflow Systems (IWS) group which creates custom applications with connections to back-end mainframe applications using messaging architectures such as IBM MQSeries. The IWS group is responsible for custom applications as diverse as stock transfer services, global trading services, accounts payable travel and expense (T&E). Its application development environment was based on Microsoft Visual Studio® version 6.0 and a variety of third-party components.
    My interpretation of the article is this. BNY was leaning towards Microsoft and had the skills in house. They probably lacked the expertise in house to go J2EE route. In my mind, BNY absolutely made the best choice for them. It would be crazy for them to go a completely new route and end up throwing away 10 months while their developers learn J2EE. Sun and IBM might claim it's easy, but honestly it's not. Frankly, Sun and IBM do themselves a great disservice and are to blame for retarded BS marketing. That kind of shift is very painful to make. Only practical way to make this kind of drastic change is to build a whole new team with seasoned J2EE experts.
    But I am a little irritated by your reference to "Gui programming". Was it a sleight? RegardsRolf Tollerud
    I'm sorry you were offended by my joke. But I've yet to see you demonstrate first hand expertise in complex transactional systems. From what I know of mutual fund/financial services companies, Fidelity is the largest. After that is UBS, Putnam, Wellington, Citigroup and BOA. Not necessarily in that order. I'm guessing when the article refers to EBR, they're referring to what SEC requires http://www.nasdr.com/pdf-text/howtobecome_books_formats.pdf. In that case, my understanding is this stuff is processed in batches and not real-time. Most systems I know of do EBR in batches and at night to resolve conflicts. If my guess is right, it should be feasible to start up 16 batch inserts and achieve 21K tps with a 8 way proliant server. Again, the reason I say this is because no matter what, it's hard to optimize non-trivial inserts beyond 15-20ms.

    1000 / 15 = 66 inserts per second
    66 inserts per worker thread x 16 worker threads = 1056 inserts

    bulk inserts should be 10-20x faster, so 21K makes sense. this kind of performance is standard for batch processes and those with hardcore database experience know when to use it. the performance is impressive, but it's not unique or unmatched. the people building the system did the right thing and made it work. hopefully my lengthy explanation helps explain how these types of systems are built.
  55. "But I've yet to see you demonstrate first hand expertise in complex transactional systems."

    I consider a good programmer is someone that "can do more and faster with less code". Or are you saying that muralist Diego Rivera as a better painter than Leonardo da Vinci?

    Anyway you are good at criticizing the MS cases I bring forth. I could send you 2 new cases every day for a whole year, along with 2 "J2EE disasters". But what that is more interesting are EJB success stories!

    Until I get some I will live in the opinion that EJB is best used in EAI scenarios without heavy load and mostly to do batch operations – I guess because CORBA is even more painful..

    Regards
    Rolf Tollerud
    ("receiver of boasts and insults")
  56. "But I've yet to see you demonstrate first hand expertise in complex transactional systems."I consider a good programmer is someone that "can do more and faster with less code". Or are you saying that muralist Diego Rivera as a better painter than Leonardo da Vinci?Anyway you are good at criticizing the MS cases I bring forth. I could send you 2 new cases every day for a whole year, along with 2 "J2EE disasters". But what that is more interesting are EJB success stories!Until I get some I will live in the opinion that EJB is best used in EAI scenarios without heavy load and mostly to do batch operations – I guess because CORBA is even more painful..RegardsRolf Tollerud("receiver of boasts and insults")
    You have to be joking. If a project can use batch processes, there's no good reason to go EJB route. Oracle, DB2 and Sql Server all provide facilities for batch processing. having said that, most of what I work on can't be done in batch processes, or requires incrementally re-calculating analytics that have semi-realtime requirements. In those cases, some mechanism is needed to update aggregates throughout the day as transactions go through the system.

    One could do it all with stored procedure, but these analytics are tough. Doing it in a database would mean recalculating the value for every single transactions. It's far better to incrementally recalculate these rolling changes outside the database so it allows the DB to focus on just persistence.

    In the cases I see, for every single transaction, there maybe 10-30 analytics which has to be recalculated. If it was done in the database, that would mean each insert would require an additional 400-600ms at minimum. In some cases, calculating an aggregate for all positions in the database could take 2-5 seconds. You do the math and tell me where these types of processes should live? I don't really care which language or system I use, if it gives me the desired result. for the record, these types of applications are probably easier to build using messaging, filtering and some kind of rule engine. but again I'm baised, since I work with rule engines.
  57. are a mess, cost a fortune, don't work, take ages to write, are over-marketed and don't meet customer expectations ( case in point crappy Swing applications ).

    Java is owned by a dying indecisive company ( a loser ) who may just take the platform down with them ( by refusing to open source ).

    .NET is owned by a winner that is a safe business bet for people who just don't care whether Scott or Bill has the bigger yacht. All they want to do is finish work at 6, go home and make babies with the wife.

    Seriously .. how many people are so brainwashed. I'm sure there's still a couple of die hard EJB fans on the boards rubbing each other up with SOAP and muttering about key generation patterns.

    Of course they're probably just employees of one of these vendors, have they taken the red pill ? Who knows ? Who cares ?

    But he who shouts loudest .....

    Oh and I know I'm going to get flamed for writing this post but I don't care.

    I amn't going to read the follow up messages where all the vested interests will jump on the bandwagon and proclaim that Swing performance is sufficient .... when processors hit 5gb and everyone has 2048mb of memory.

    Any fool can see that a SWT application is what consumers want but the developer knows best ... yes, yes, you are the expert, you know it all because you know what they want rather than vice versa ....

    I'm not planning on jumping ship to .NET for at least a year or so but seriously I wonder about the future of a such a mismanaged platform as Java.

    If the situation hasn't improved within 6/8 months it never will.
  58. The Java code-base, be it from sun or from open-source projects, tends, in many case, to be a little biased on the academic side, fragmented and over-engineered.
    Microsoft code-base tends to be practical.
    Having a pletora of choices is in general a very good thing, but at the same time is a bit scaring for the customers. With Microsoft you are in a vendor lock-in but if you trust the vendor this is not such a huge problem. Microsoft old and deprecated tecnologies still works in modern systems, try instead of running an applet written in java pre 1.2 in a browser with a 1.4 plugin installed and see what happens.
    In addition if you consider java server-side development you have an insane number of different web-frameworks. If you sell a product written with Structs, Maverick, spring, echo, webwork or whatever your choice may be and your company dies the customer has to find a developer or a company who knows the particular implementations you have used (hoping some community still maintains it). With Microsoft you only have ASP.Net, limiting but at the same time somewhat conforting.
  59. With Microsoft you are in a vendor lock-in but if you trust the vendor this is not such a huge problem.
    This is the root of my problem with .NET. How many vendors are out there that are really worth placing the trust of your entire enterprise in their hands for the long term? With Microsoft, IT shops were asked to just trust them when they wanted to shift to annual licensing fees instead of purchasing licenses for software when it came out, justifying it by comparing a 3 year upgrade cycle. They're making a mockery of every company that trusted them in this with the gap between XP and Longhorn. My company trusted PeopleSoft when they guided us to heavily customize our installation of their product. Now, we're staring down the barrel of another heavy customization to get up to a new release of their product. We need to find vendors whose products we can trust in our enterprise, but placing trust in them to be benevolent once we're in a compromised position... no thanks.

    It's not that I think companies are maliciously doing these things. Priorities and plans change with vendors just as they do in your own company. Trusting a vendor, particularly one that's looking to lock you into their product, just doesn't seem like a wise decision.
  60. It's not that I think companies are maliciously doing these things. Priorities and plans change with vendors just as they do in your own company. Trusting a vendor, particularly one that's looking to lock you into their product, just doesn't seem like a wise decision.
    Absolutely!

    However, I would put it more strongly:

    "Trusting a vendor, particularly one that's looking to lock you into their product.." and has a long-established reputation for forcing regular costly upgrades to often backwardly-incompatible versions (as any MS Access developer, for example, will know), is very short-sighted and fundamentally bad business practice.
  61. But we've come so far.

    When I started programming professionally 10 years ago, I was working on a university physics tutorial that had to support both PC and Mac. Using C++, we spent far more time making a cross-platform GUI library than simulating physics. I'm betting that AWT/Swing, even with its crappiness, is far more than adequate for that project, it's a godsend.

    Now I work on a client/server network management application. We have to support Unix servers, both Sun and Linux, and Windows clients. The UI is a little clunky on account of Swing but livable, and the server works quite well. We've found a data persistence scheme we can live with. Java, in this case, has been a godsend. Couldn't have pulled this one off with MS .NET, at least not yet, and MS should take note if they want to touch this market.

    I also work on a whizzy GUI application for Tablet PCs. Compared to the finicky C++ MFC stuff that took volumes of code, .NET is a godsend. Couldn't have done nearly as well with Java on this one; the Swing UI is too cumbersome and the results never look as good. In this case Sun should take note, if they want to touch this market with Java.

    I'm glad to have a choice, and look forward to even better options in the future.
  62. the Swing UI is too cumbersome and the results never look as good.
    Then don't use Swing - use SWT.
  63. Not really[ Go to top ]

    the Swing UI is too cumbersome and the results never look as good.
    Then don't use Swing - use SWT.
    Don't use SWT using SWING with XP L&F and winLAF project.

    BTW With JDK5.0 the NetBeans 3.6 visual designer (written in swing) is *much* more responsive than the Eclipse Visual Editor for SWT.
    SWT uses the old pre-XP look and feel, and the API is much more limited.
    With the latest hardware there are no Swing performance issues at all. SWT apps load faster and use a bit less memory, but the novelty wears off quickly when the API is so restrictive.
  64. Not really[ Go to top ]

    .SWT uses the old pre-XP look and feel.
    I'm pretty sure it doesn't, as SWT does not have a look and feel: It uses Windows components directly. If you are on XP, it will be XP.
  65. Not really[ Go to top ]

    .SWT uses the old pre-XP look and feel.
    I'm pretty sure it doesn't, as SWT does not have a look and feel: It uses Windows components directly. If you are on XP, it will be XP.
    I am using XP, and the buttons are all old and square. Some of the components such as scrollbars look like XP scrollbars though. It depends on which windows dll version they link to. BTW I am using Eclipse 3.0. Wish I could attach a screenshot.
  66. Not really[ Go to top ]

    There is some file that you have to put in the right directory to get the XP look to appear. I seem to remember the file is in with the swt dll, but it is not a dll. Strange, annoying, but you can get SWT to use the full XP look.
  67. Not really[ Go to top ]

    BTW With JDK5.0 the NetBeans 3.6 visual designer (written in swing) is *much* more responsive than the Eclipse Visual Editor for SWT.
    ..............

    Comparing like for like yet again, the Swing guys speciality. The eclipse
    visual editor is pre-alpha and has well known performance issues. If you
    were to use SWT Designer by Instantiations Inc you would notice it is in
    fact considerably faster.

    Incidentaly if a gui editing tool is slow it doesn't necessarily mean that
    the underlying widget kit is slow.

    Swing on the other hand, in any form is not only slow but looks crap. I know you guys are really proud of all the study time you put in when learning swing,your getting a little older now and slower to learn new technology so you want to stick with what you know .....who could blame you ?

    This really reminds me of the vice-presidential debate.

    The truth is out there somewhere ......


    --b
  68. Not really[ Go to top ]

    BTW With JDK5.0 the NetBeans 3.6 visual designer (written in swing) is *much* more responsive than the Eclipse Visual Editor for SWT...............Comparing like for like yet again, the Swing guys speciality. The eclipse visual editor is pre-alpha and has well known performance issues. If youwere to use SWT Designer by Instantiations Inc you would notice it is infact considerably faster. Incidentaly if a gui editing tool is slow it doesn't necessarily mean thatthe underlying widget kit is slow. Swing on the other hand, in any form is not only slow but looks crap. I know you guys are really proud of all the study time you put in when learning swing,your getting a little older now and slower to learn new technology so you want to stick with what you know .....who could blame you ?This really reminds me of the vice-presidential debate. The truth is out there somewhere ......--b
    I have to agree that a problem with one app shouldn't be used to characterize an entire class of applications. Similarly you shouldn't claim Swing looks bad just because of a couple of bad apps.

    BTW The Eclipse Visual Editor was *released* on Sep 30.

    Actually Swing didn't take very long to learn at all. And for the record I am certainly not old!
  69. Not really[ Go to top ]

    Incidentaly if a gui editing tool is slow it doesn't necessarily mean thatthe underlying widget kit is slow. Swing on the other hand, in any form is not only slow but looks crap.
    This is a very broad generalisation. Swing can definitely be slow on older VMs. but did you know that Swing on 1.5 can be OpenGL accelerated, and so can be very, very fast?

    Its interesting to say that Swing *in any form* looks crap, as there are hundreds of Swing look and feel designs out there. You must have done a lot of research over the years to know that they are *all* crap!
  70. Interesting[ Go to top ]

    Isn't it interesting how there are FAR more .NET people posting here than there are over on TheServerSide.NET regarding this article. The last time I looked, there were 5 comments there, compared to 45 here - of which half are clearly supporters of the .NET framework over Java.

    Why is this doubly interesting? Java developers are supposed to be particularly zealous supporters of the platform - and yet there are no rabid Java platform 'pushers' pushing Java over at TheServerSide.NET.

    If we take the other tack, and assume that the two populations are similar, we'd expect the proportion of zealous platform pushers to be roughly identical on each side. This is clearly not the case.

    It would be interesting to perform more analysis of this.

    In the meantime, draw your own conclusions.
  71. Interesting[ Go to top ]

    Java developers are supposed to be particularly zealous supporters of the platform - and yet there are no rabid Java platform 'pushers' pushing Java over at TheServerSide.NET. If we take the other tack, and assume that the two populations are similar, we'd expect the proportion of zealous platform pushers to be roughly identical on each side. This is clearly not the case.It would be interesting to perform more analysis of this.In the meantime, draw your own conclusions.
    Speaking as a Java developer etc since 1.0.2, I don't feel the need to convert .NET people to Java. In my experience people that choose .NET for their needs fit into 2 categories.

    The first is people that do not have the time or abilty to work with anything other than what they know or were sold. A VB/ASP shop that never investigated anything else and doesn't want to. These kinds of folks are the types that won't be converted unless you had a Java IDE that mimiced Visual Studio .NET. So why bother trying to convert those who aren't listening

    The second is people that took a firm look at their requirements past, present and future and have determine that things like portablity and needs to connect to proprietary Microsoft APIs are necessary. People that want to extend or customize Exchange server, or require interaction with clients registry, and that ilk. If you are required to have interactions with these things, and said that .NET wasn't the answer, I'd be beyond skeptical. These folks are smart enought to know what both Java and .NET do. They are smart and informed and they may have never written even a Hello World program in Java.

    I've found that my Java colleagues don't feel that we have defend Java vs .NET. We know what it can and cannot do well and are happy to fit our round Java pegs into round IT holes all over the world. We don't feel that we have to put it into square Windows holes.
  72. there are two Java worlds, not one[ Go to top ]

    1) Sun & JCP
    2) IBM and Open Source

    IBM spend ten times as much money as Sun to Java development and without IBM's 2 billion dollar yearly to Linux it would not have gotten anywhere. Then we have the Open Source contribution with Eclipse, Tomcat and Spring and Hibernate and Tapestry and iBatis and people like Rod Johnson, Juergen Hoeller, Gavin King and Howard Lewis, etc.

    On the other hand we have Sun & JCP that between them has no other merit than:
    "The Big Elephant EJB Java Application Servers are the worst nightmares ever to have roamed the earth. Nobody can guess the total cost of all the expensive project disasters. They could very well have been the real culprit behind the recent recession! 100 billion? 200 billion? 300 billion? Nobody will ever know."

    (Sorry to quote myself! :)

    Regards
    Rolf Tollerud
  73. there are two Java worlds, not one[ Go to top ]

    1) Sun & JCP2) IBM and Open SourceIBM spend ten times as much money as Sun to Java development and without IBM's 2 billion dollar yearly to Linux it would not have gotten anywhere.
    Here's a history lesson. Linux on Java was very well established a long time before IBM got involved. This was done by an organisation called Blackdown. Eventually Sun got involved (realising Linux was an important platform), and the combined efforts produced compatible versions of Java for Linux years ago. IBM came to Linux relatively late, and their versions of Java for Linux have always been a release or two behind the versions that Sun release.
    Then we have the Open Source contribution with Eclipse, Tomcat and Spring and Hibernate and Tapestry and iBatis and people like Rod Johnson, Juergen Hoeller, Gavin King and Howard Lewis, etc. On the other hand we have Sun & JCP


    More confusion. The matter of closed and open source bears no relation to whether something is in a JCP or not, or whether its from Sun or Not. Eclipse is a good IDE from IBM, and its open source. Netbeans is a good IDE from Sun and its open source. There are very many high quality open source JCP implementation projects. Tomcat is, in fact, the reference implementation of a JCP! One of the best implementations of the recent JSF JCP standard is also open source. Sun have announced that the reference implementation of JDO 2.0 will be open source.

    And as for application servers.... what is the most popular J2EE/EJB server? JBoss! Guess what? Its open source!

    The truth is that there are very many Java worlds, and its far more complicated that the false situation you describe. Some organisations (such as Sun and IBM) are in several of those worlds (for example the open source world and the commercial world).

    And as for your strange and weird 'facts' about disastrous projects - If you are seriously suggesting that the use of failed Enterprise Java Beans projects has cost the world more than the Apollo moon missions... I don't think statements like this help people take your comments seriously.
  74. there are two Java worlds, not one[ Go to top ]

    1) Sun & JCP2) IBM and Open SourceIBM spend ten times as much money as Sun to Java development and without IBM's 2 billion dollar yearly to Linux it would not have gotten anywhere. Then we have the Open Source contribution with Eclipse, Tomcat and Spring and Hibernate and Tapestry and iBatis and people like Rod Johnson, Juergen Hoeller, Gavin King and Howard Lewis, etc. On the other hand we have Sun & JCP that between them has no other merit than:"The Big Elephant EJB Java Application Servers are the worst nightmares ever to have roamed the earth. Nobody can guess the total cost of all the expensive project disasters. They could very well have been the real culprit behind the recent recession! 100 billion? 200 billion? 300 billion? Nobody will ever know." (Sorry to quote myself! :)RegardsRolf Tollerud
    First of all IBM contributes very little other than to their own WebSphere range. When was they last time they added a major enhancement to the JDK. Yes they do a lot J2EE stuff, but what have they actually contributed to the average developer. Next to Sun, not much.

    As for the "200 billion" the entire app server market in 2001 was about 2 billion.
    Besides which company came up with the EJB idea?

    And considering that Sun has contributed more source code to the open source community they ANY other commercial company in history you should have a rethink about who supports open source.

    Oracle, Sun and lots of other companies contribute to Linux. So what?
  75. there are two Java worlds, not one[ Go to top ]

    When was they last time they added a major enhancement to the JDK. Yes they do a lot J2EE stuff, but what have they actually contributed to the average developer. Next to Sun, not much.
    IBM have been doing good things with Java - their JVMs are known for very high performance, and Eclipse is a pretty big thing to come from IBM to the average developer...
  76. Interesting[ Go to top ]

    Speaking as a Java developer etc since 1.0.2, I don't feel the need to convert .NET people to Java.
    Which is exactly my point. I can see where each sit in their niche; both platforms are used where I work. There is no technical reason to "convert" people across from one platform to another, as their niches are different (although there is overlap - hence the competition).

    So, where is this fanaticism coming from in .NET?
  77. are a mess, cost a fortune, don't work, take ages to write, are over-marketed and don't meet customer expectations ( case in point crappy Swing applications ).Java is owned by a dying indecisive company ( a loser ) who may just take the platform down with them ( by refusing to open source )
    IBM have a HUGE investment in Java, so does HP and other companies. Whatever happens to Sun, Java will go on.
    ..NET is owned by a winner that is a safe business bet for people who just don't care whether Scott or Bill has the bigger yacht. All they want to do is finish work at 6, go home and make babies with the wife. Seriously ..
    But what about quality of code? What about something that is supported on new platforms in 10 years time? What about large-scale server development, where MS has hardly touched the market? There is such a long history of abandoned Microsoft technologies, of nightmare forced upgrades - hasn't the IT industry learned its lessons yet? I thought the idea of single-vendor products and trusting one company had gone deservedly out of fashion in the 80s, when 'open systems' were introduced. Its sad to see the IT industry regressing.
  78. Oh and I know I'm going to get flamed for writing this post but I don't care.
    There is no reason to "flame" you. The content of your commentary alone would make it redundant.
    All they want to do is finish work at 6, go home
    I never miss a tee time trying to cull MSDN "documentation" for libraries that may or may not exist/work. I can look at the source code directly and find out exactly what is being done and how to make it do exactly what my client wants it to do. I can make my code do only what I want it to do and not effect other systems
    I'm not planning on jumping ship to .NET for at least a year or so but seriously I wonder about the future of a such a mismanaged platform as Java.If the situation hasn't improved within 6/8 months it never will.
    I have no issues with .NET, C#, J#, etc. There are many instances when .NET is the best solution. I have decided not do involve myself in these projects because I've found that the business owners are not looking for solutions that are scalable and extensible. They want something "out there now". So it looks like there is a market for your skills. Good luck in your travels.

    John Murray
  79. I have decided not do involve myself in these projects because I've found that the business owners are not looking for solutions that are scalable and extensible. They want something "out there now". So it looks like there is a market for your skills. Good luck in your travels.John Murray
    But... With a good Java IDE and the right skills, business owners can get both something "out there now" AND a solution that is scalable and extensible AND portable.

    Of course, there is a considerable amount of IT work out there now caused by businesses who did not want scalability and extensibility (and portability), but now find that is exactly what they needed!
  80. I have decided not do involve myself in these projects because I've found that the business owners are not looking for solutions that are scalable and extensible. They want something "out there now". So it looks like there is a market for your skills. Good luck in your travels.John Murray
    But... With a good Java IDE and the right skills, business owners can get both something "out there now" AND a solution that is scalable and extensible AND portable.Of course, there is a considerable amount of IT work out there now caused by businesses who did not want scalability and extensibility (and portability), but now find that is exactly what they needed!
    I fully agree with the right IDE and the right skills. Unskilled carpenters with the easiest to use tools will still make a poor house. I have recently become an fan of Eclipse. I had been using JBuilder since version 2. I have also used Weblogic Workshop. I like the fact that with Eclispe you can easily implement the plug-ins that you want and cut the fat out of the IDE. My productivity has never been better.
  81. There is no reason to "flame" you. The content of your commentary alone would make it redundant.

    ......

    Because if I don't agree with Java orthodoxy I should be treated with contempt ? The emperor not only has no clothes but he's suffering from
    a nasty case of melanoma.

    shhh don't tell him, he might get upset !!!!
  82. There is no reason to "flame" you. The content of your commentary alone would make it redundant. ......Because if I don't agree with Java orthodoxy I should be treated with contempt ? The emperor not only has no clothes but he's suffering from a nasty case of melanoma.shhh don't tell him, he might get upset !!!!
    Because if I don't agree with Microsoft monarchy I should be treated with contempt ? The emperor not only has no clothes but he's suffering from a nasty case of melanoma.shhh don't tell him, he might get upset !!!!

    :)
  83. 1) Java is cross platform.
    2) .NET is better, "Java done right".

    As Java has the cross-platform advantage it is unnecessary and childish to discredit .NET - it is so far ahead. Java guys should keep to the cross-platform issue, it is a big factor. Trying to bash .NET is only comic and the effect may very well be the opposite of intended.

    In short, don't throw away your credibility.

    Regards
    Rolf Tollerud
  84. Just changin words and havin fun. :)
  85. 1) Java is cross platform.2) .NET is better, "Java done right".As Java has the cross-platform advantage it is unnecessary and childish to discredit .NET - it is so far ahead. Java guys should keep to the cross-platform issue, it is a big factor. Trying to bash .NET is only comic and the effect may very well be the opposite of intended. In short, don't throw away your credibility.RegardsRolf Tollerud
    Saying ".Net is better, 'Java done right'" is meaningless - its just marketing-speak. I could just as easily say "Java is better, '.Net done right'" . These statements as they stand are meaningless. A good discussion should provide evidence or justification for such opinions. I think I can justify my version: imagine that Java has only just come out and you had not heard of it. I could say "there is this new system called Java: its just like .Net, with a language that is very close to C#, but its more secure (no 'unsafe' code), can be downloaded for free, runs not just on Windows, but also on MacOS/X, Linux and other systems, and you have a choice of VMs, IDEs and libraries from a large number of companies." I would find it VERY easy to make the case that Java was '.Net done right'.
  86. the situation is 50-50[ Go to top ]

    Steve,

    I know it is difficult but let us try to use some logic!

    From my point of view the set is 50% - 50% between Java - .NET (Java is cross platform but .NET is better, "Java done right")

    From your point of view the set is 100% - 0% between Java - .NET

    In that case I ask:
    If that is true how it is possible then that .NET has overtaken Java in such a short time in spite of seven years head start? (Especially when you take into consideration that there is a world wide "lynch-mob" against Microsoft that manifest itself in every list, in every forum all over the globe!)

    "You can deceive all people some of the time and you can deceive some people all of the time but you can not deceive all people all of the time" ;)

    Regards
    Rolf Tollerud
  87. P.S.[ Go to top ]

    In any case the reason I use .NET has nothing to do with the above 1) and 2).
    I use .NET because it is not (at least not yet) infested with "Computer Scientist".
  88. P.S.[ Go to top ]

    In any case the reason I use .NET has nothing to do with the above 1) and 2).I use .NET because it is not (at least not yet) infested with "Computer Scientist".
    The IT industry would be better off if there were more "Computer Scientist"s.! Software development should be a technical skill, not quick-and-dirty hacking using drag-and-drop IDEs. Well, that's my opinion!
  89. thank God[ Go to top ]

    Your reasoning is perfect. .Net comunity must be proud of you.
  90. the situation is 50-50[ Go to top ]

    Steve,I know it is difficult but let us try to use some logic!From my point of view the set is 50% - 50% between Java - .NET (Java is cross platform but .NET is better, "Java done right")From your point of view the set is 100% - 0% between Java - .NET
    Where did I say that? I didn't say that at all. I said .Net was good, but Java seemed to me to have more advantages than .Net.

    In that case I ask:If that is true how it is possible then that .NET has overtaken Java in such a short time in spite of seven years head start?Who says .Net has overtaken Java? If you look at job search sites, the number of job requests for Java skills is many, many times that of .Net. The key skills in demand in the IT industry seem to be SQL, Java and C++ - .Net is not yet that important (although I'm sure it will be).
  91. the situation is 50-50[ Go to top ]

    If that is true how it is possible then that .NET has overtaken Java in such a short time in spite of seven years head start?
    With the assumption that the above quote is true, the answer is quite simple.

    Because Microsoft was late to the VM game, they where able to copy/leverage the concepts of a industry proven VM approach to system design that others put alot of hard effort and time into creating. As the old saying goes, imitation is the most sincere form of flattery.

    .NET developers have also had the luxury of being able to directly copy/port from the huge wealth of Java based open source software concepts/code as well. Conversely, the amount of code/concepts/implementations coming from the .NET world to Java is a trickle by comparison.

    It also seems that .NET advocates like to shirk off not only the importance but the difficult challenge of creating a true multi-platform VM. The reality is that it is a difficult task (ie it takes time) to create a VM that provides a common runtime/behavior across multiple architectures and operating systems. If you take the multi-platform permutations of the VM away, the problem set you need to solve is drammatically reduced as well as the timeline involved in creating a new VM/CLR.

    In addition, the process of establishing industry agreed to standards can also be a reason that Java innovations are slower to market. However, the process of establishing and implementing industry agreed to standards is, for the most part, a necessary process that history has shown promotes long term vitality. Look what the open x86 motherboard architecture did for the adoption of PC by both the home and corporate IT industry.

    The fact that J# is not a complete up-to-date version of Java indicates to me that Microsoft still doesn't seem to willing to give back to or fully support the established industry that they borrowed many their ideas from.
  92. what is fair and just[ Go to top ]

    Dustin: "it is a difficult task (ie it takes time) to create a VM that provides a common runtime/behavior across multiple architectures and operating systems"

    Yes, of course. That is the realities aren’t it. It is easier to optimize for one OS than 18(?). It is also easier when you have unlimited recourses and can hire anyone you want, it is also easier when you have the luxury of being able to directly copy/port draw upon and "steal" from Java. Sure, sure, all this is true. But why then are there so many Java proponents that persist that "Java is better"? Logic must say otherwise..

    After all is said and done Java is still cross platform and .NET is still optimized and runs better on Windows. So what? I can not understand why it is so difficult to agree upon the color of an orange.

    If we only could get this matter out of hand we could have the more interesting discussion about what is fair and just.

    Regards
    Rolf Tollerud
  93. what is fair and just[ Go to top ]

    is the realities aren’t it. It is easier to optimize for one OS than 18(?).
    Java is well optimized on each OS. This is not difficult, as different Java suppliers tend optimize Java for their own OS: HP optimized Java on HP systems, IBM on IBM systems, Sun on Solaris and Linux. Java runs particularly well on Windows and Linux because there are several companies competing to produce JVMs for these platforms.
    .NET is still optimized and runs better on Windows.
    I don't understand what you mean by 'runs better': Java is highly optimised on Windows and runs at high speed, especially on very good VMs like IBMs. You would find it hard to show that any particular C# or VB.Net program runs any faster than Java on Windows.
    So what? I can not understand why it is so difficult to agree upon the color of an orange.
    Its because you keep saying things like ".Net runs better" without saying what you mean by this.
  94. what is fair and just[ Go to top ]

    is the realities aren’t it. It is easier to optimize for one OS than 18(?).
    Java is well optimized on each OS. This is not difficult, as different Java suppliers tend optimize Java for their own OS: HP optimized Java on HP systems, IBM on IBM systems, Sun on Solaris and Linux. Java runs particularly well on Windows and Linux because there are several companies competing to produce JVMs for these platforms.
    .NET is still optimized and runs better on Windows.
    I don't understand what you mean by 'runs better': Java is highly optimised on Windows and runs at high speed, especially on very good VMs like IBMs. You would find it hard to show that any particular C# or VB.Net program runs any faster than Java on Windows.
    So what? I can not understand why it is so difficult to agree upon the color of an orange.
    Its because you keep saying things like ".Net runs better" without saying what you mean by this.
    +1 don't you find it annoying when people keep doing +1 posts ;)
  95. it is about intellectual honesty[ Go to top ]

    Lots of reasons why .NET runs better on Windows. Interaction with unmanaged code, Swing vs Winforms, better memory management or as John puts it "If you need to write an Exchange server event sink to block spam or perform some other task, I wouldn't recommend using Java." All Windows products together forms a ecosystem that are more tight bound than its counterparts in the other world and .NET plays the part that it is specially contructed to do. And in Longhorn even the Win API itself will be done in C# and bound with XAML.

    I agree with Nick and say ZZZZzzzzzz......

    Why can’t you just agree and say something like "OK, I admit that .NET is better on Windows, I even admit that C#/Windows is better than Java/Linux! But when we consider what that is fair and just then..."

    But it is never going to happen. How sad. Hypocrisy wins.

    Regards
    Rolf Tollerud
  96. it is about intellectual honesty[ Go to top ]

    Lots of reasons why .NET runs better on Windows. Interaction with unmanaged code, Swing vs Winforms, better memory management or as John puts it "If you need to write an Exchange server event sink to block spam or perform some other task, I wouldn't recommend using Java." All Windows products together forms a ecosystem that are more tight bound than its counterparts in the other world and .NET plays the part that it is specially contructed to do. And in Longhorn even the Win API itself will be done in C# and bound with XAML.I agree with Nick and say ZZZZzzzzzz...... Why can’t you just agree and say something like "OK, I admit that .NET is better on Windows, I even admit that C#/Windows is better than Java/Linux! But when we consider what that is fair and just then..."But it is never going to happen. How sad. Hypocrisy wins.RegardsRolf Tollerud
    Once again you are being vague:

    Better memory management? Perhaps you explain but I haven't seen this claim before.

    Swing vs Winforms? Most folks who have used both complain that Winforms is inflexible and more difficult to customize.

    .NET doesn't perform better on Windows.

    Even if the windows API is written in C# how does this make C# better?
  97. it is about intellectual honesty[ Go to top ]

    M A: Better memory management? Perhaps you explain but I haven't seen this claim before.
    You must be joking, just run any micro-benchmark and notice how Java needs almost twice the memory to run at equal speed. Or open a Java desktop application.

    Swing vs Winforms?
    What shall I say? "Double memory half the performance"? (and 4 times startup-time! ;)

    API (Avalon in Longhorn) is written in C# how does this make C# better

    SVG was scrapped because it didn't mapped close enough to C#..You can say that XAML is custom-made to C#.

    Regards
    Rolf Tollerud
  98. it is about intellectual honesty[ Go to top ]

    M A: Better memory management? Perhaps you explain but I haven't seen this claim before.You must be joking, just run any micro-benchmark and notice how Java needs almost twice the memory to run at equal speed
    This is a vague generalization with no basis. .Net applications and Java both run on efficient VMs. The simplest Java programs can run in just a few MB, as (I expect) can .Net apps. After all, one of the biggest Java markets is on mobile phones. Now that is what I call memory management!
    Swing vs Winforms?
    What shall I say? "Double memory half the performance"? (and 4 times startup-time! ;)
    Again, generalizations with no evidence. Is it double the memory? How do you know? Are you using Sun's Java VM, IBMs or Microsoft's to measure the memory and performance? As for start-up time: is it 4 times, 3.9 times, or 2.5 times ? Are you using Java 1.3 (slow start-up) or Java 1.5 (very fast start up?)
    You can say that XAML is custom-made to C#
    What a neat idea! Don't just write user interfaces for Windows - limit yourself even more, and restrict yourself to coding for Longhorn which isn't even out yet. This is in an IT environment where a large fraction of the users are still on Windows 98!
  99. it is about intellectual honesty[ Go to top ]

    M A: Better memory management? Perhaps you explain but I haven't seen this claim before.You must be joking, just run any micro-benchmark and notice how Java needs almost twice the memory to run at equal speed. Or open a Java desktop application.Swing vs Winforms? What shall I say? "Double memory half the performance"? (and 4 times startup-time! ;)API (Avalon in Longhorn) is written in C# how does this make C# betterSVG was scrapped because it didn't mapped close enough to C#..You can say that XAML is custom-made to C#.RegardsRolf Tollerud
    Double the performance, half the memory?
    WinForms isn't exactly light on memory either. As for performance I use Swing apps all the time with no problems. Maybe that's because I have a reasonably new computer.

    As far as microbenchmarks go, I tried one of my long-running algorithms out in J# last year. Exactly the same code was 10 times slower in J# than JDK1.4.
  100. XAML <> Avalon[ Go to top ]

    Hi Rolf,
    Btw as far as I know XAML is Avalon based and Avalon was dropped from Longhorn so how this is possible ;-) ?! And do you want to say that the Windows drivers, stream encoders/decoders etc. will be written in C# ... is this a joke or the Longhorn kernel will be OO designed and C# implemented ?! And for the rest of the world and discusion participants :-), please drop the zelot attitude and be professional, dont't behave like middle-age minded persons, myself I doo Java programming for more than 4 years and C# for more than a year, you must remember as engineers and architects to choose allways the best solution for the customer problems, this makes money for your familly and for the customer and this is important, business is business and not laboratory life ... yes I want money and time for me and my familly and this is the main criteria you need to have on your life priorities list, the rest is nothing ... and when my goals are achieved with Microsoft technologies I respect Microsoft, when Java pays my bill for my child school I have respect for Java, when neither does this I will drop both and I will try something else ... keep your energy for your private life, zelot place and attitude is always dangerous and has nothing to do with a civilized, creative interaction ...
    Respect and regards,
    Cristian
  101. XAML <> Avalon[ Go to top ]

    dont't behave like middle-age minded persons, myself I doo Java programming for more than 4 years and C# for more than a year, you must remember as engineers and architects to choose allways the best solution for the customer problems, this makes money for your familly and for the customer and this is important, business is business and not laboratory life
    Hey! What's wrong with being middle aged? I'm middle aged!

    But seriously, I think this attitude is one of the major problems with IT. True engineers and architects don't just go for what the customer immediately wants, they go for something reliable that lasts. A developer gets a good reputation by providing what a customer really needs, not just what they think they want.

    Arguments over IT technology are important because IT is important. Quality in all areas of engineering is important. In some cases, bad IT choices cost huge amounts of money, and can do serious damage.

    One aspect of being middle-aged is having decades of experience!
  102. Sorry for missunderstanding :-)[ Go to top ]

    Only I wanted to meant the historic middle-age era when the religion based differences were reasons to start wars, I'm not a native english speaker, maybe this is the reason for this missunderstanding ... Yes, I know the clean, noble engineering feeling of building something that lasts( see Eifel as reference :-) ... ), but unfortunately today always I meet only managers interested in business success and not in perfect engineering solutions, there is a study founded by a Harward University professor, about the "Disruptive economy", when no manager are interested anymore about long term plans, but only short, 100% realizable business targets, and this is the world we live today, world is evolving and for the economy the same, you must change in the same direction or you will be lost, eliminated, so the tehnologies and tehnologists need to addapt to the ecomomic requirements and not opposite ... its about natural selection, and the market will decide between Java and .NET, I love Java :-), but if Microsot.NET pays my bills, what you have to say ?
    Respect and regards,
    Cristian
  103. Sorry for missunderstanding :-)[ Go to top ]

    Only I wanted to meant the historic middle-age era
    heh - I understand.
    its about natural selection, and the market will decide between Java and .NET, I love Java :-), but if Microsot.NET pays my bills, what you have to say ?Respect and regards,Cristian
    Well firstly, there are far more jobs for Java than .Net, and secondly I think its a mistake to think there is any kind of decision between Java and .Net in most of the IT world. .Net is hardly used in the large server market, or on the mobile device market, and there is no sign of any change here. This is where Java dominates. Where Java has not been very widely used is for writing Windows applications, which is where .Net dominates. The situation is likely to end up with .Net and Java both suceeding well: .Net on the client side, Java on the server side.

    I'm just trying to understand why Java is so rarely used on the client side....
  104. SVG was scrapped because it didn't mapped close enough to C#..You can say that XAML is custom-made to C#
    So a standard isn't good enough, so do we:
    a) contribute to the next version of that standard, merging our needs with the needs of others thus making a better standard all round
    or
    b) Forget the standards and write our own, which we'll then try and force upon everyone as a de-facto standard.

    It's all getting rather familiar is this
  105. Lots of reasons why .NET runs better on Windows. Interaction with unmanaged code, Swing vs Winforms, better memory management or as John puts it "If you need to write an Exchange server event sink to block spam or perform some other task, I wouldn't recommend using Java.
    If I had to start new project *exclusivelly* on Windows I would definetlly use C#. It works well on Windows, it is just good product. It performs better in most cases than java and it's, of course much more close to Windows specific functionality.

    Unfortunatelly (fortunatelly) now we have a lot platforms becoming more and more popular. Clients are becoming more aware that there is something behing Windows. Especially if we are talking about enterprise systems.

    I consider this unsafe to hook into one, vendor specific solution, even if clients are *sure* that they will be locked in. It is because that clients have one very common property - they frequently changes their minds. Personally I found Java as a little bit more "safe" when clients just ask for deployment of my shiny new application on Linux/whatever just few days before project deadline. It is not uncommon.
    "OK, I admit that .NET is better on Windows, I even admit that C#/Windows is better than Java/Linux! But when we consider what that is fair and just then..."But it is never going to happen. How sad. Hypocrisy wins.RegardsRolf Tollerud
    How You can compare apples (.NET/Windows) to apples (Java/Linux). In some cases, of course .NET wins, in other Java on linuks wins and there are plenty cases where it is even actually impossible to say how we can compare both platforms, not to mention what is "better". To make long story short, Your prevoius statement is simply false.

    Back to flame :) - I personally think that the more options we have the better World is. Since there is .NET, java world gained a much more momentum. We have new language features, some of these features are of course borrowed from .NET. .NET users have some tools borrowed form java community etc. This is what I like .NET even if I currently don't use it :).

    Artur
  106. I should have known better.
    Hypocrisy always wins.
  107. I should have known better. Hypocrisy always wins.
    You haven't even given evidence as to why anything that has been said is 'Hypocrisy'. Hypocrisy is doing one thing and saying another. As many of us are saying we like Java for many political and technical reasons, and we are actually using Java, that is the exact opposite of 'Hypocrisy'.
  108. All Windows products together forms a ecosystem that are more tight bound than its counterparts in the other world and .NET plays the part that it is specially contructed to do. And in Longhorn even the Win API itself will be done in C# and bound with XAML.
    This ecosystem is a big part of the problem. And instead of saying counterparts, let's get this right - Microsoft doesn't have and never will have counterparts - they view everyone as competition.

    The concept that being able to do something quicker, either because an IDE makes it quicker, or you have tighter integration with default (MS) components, makes it better is just ludicrous - expediency is not a sound basis to make a formal business/technical decision upon.

    Now let's go to the Mono point of view. Yes DotGNU and Mono are available, but as said previously they do not provide an adequate version of compatability. Windows.Forms support is provided by Wine in Mono, but this is not good enough. However, this won't stop me learning C#. They will _never_ be equals to MS .Net and if the day ever comes that they are, people in MS will try to stop it. .Net is like every other thing that comes out of Redmond - a way to try and get companies to buy other MS products.

    The view of having multiple languages being used in a project is just irrelevant, with the more languages being added, adding to the cycle of blame.
  109. what is fair and just[ Go to top ]

    After all is said and done Java is still cross platform and .NET is still optimized and runs better on Windows. So what? I can not understand why it is so difficult to agree upon the color of an orange.
    So what? Try telling that to a company who has already invested millions of dollars in enterprise class Unix based hardware. Go tell them "so what?" and see how far you get when you try to sell them on adopting Windows only/"more optimized" .NET solution. Just tell them that they don't need their existing multi-million dollar enterprise class Unix based systems anymore.

    If you want those type of businesses to even consider .NET technologies to replace their backend systems, then you must be able to run on already purchased, proven enterprise class Unix based hardware. Java from the beginning has done this and will continue to do this as well as run very effectively on the Windows platform.

    So, it's not about agreeing to the color of an orange, it's about understanding that there are more fruit types then just an orange.
  110. It is nothing as boring as this discussions Java vs .NET
    Yet you never fail to show when one comes up!
    .NET is better, "Java done right".
    ZZZZzzzzzz......
  111. You guys are missing one Huge point.
    .Net is not about only one Language, like Java.
    It is about multiple languages, and one Common Language Runtime. CLR.
    There are more then a dozen languages, including pure functional languages like F#, http://research.microsoft.com/projects/ilx/fsharp.aspx
    In addition to that, .Net is also availiable for other plataforms by the open source community:
    http://www.dotgnu.org/ and http://www.mono-project.com/about/index.html

    So, with .Net you can combine different languages, using specialized languages when necessary but accessing the same set of libraries. With java, well, you can program in Java only.

    To summarize:
    (Sun = multiple plataforms - 1 Language)
    (MS = multiple languages - 1 Plataform), (but thanks to open source folks this is changing)
  112. So, with .Net you can combine different languages, using specialized languages when necessary but accessing the same set of libraries. With java, well, you can program in Java only. To summarize: (Sun = multiple plataforms - 1 Language)(MS = multiple languages - 1 Plataform), (but thanks to open source folks this is changing)
    Most sensible projects will choose one, perhaps two languages to meet their needs. In that case, they need one, possibly two runtimes to run their application. While it is an interesting feature to be able to have the flexibility of running applications in different languages on a single server, only 2-3 of those languages (C#, VB.NET, F#) can't be run on nearly all platforms using the languages' natural runtimes. Anyone who is designing a new application with 3+ languages designed to work together under CLR is asking for a maintenance nightmare. I can see some monolithic legacy applications being compiled against CLR as part of an integration or migration effort, but in that case, the effort is so gargantuan, the gain from running on the CLR is minimal in comparison to the overall effort. I can see a case for standard libraries using this to advantage (like can you use nUnit from any .NET language?), but that's about it.
  113. <sarcasm>Oh yes, thats really what I want: digging through code written in 26 different languages (including pure functional languages), when I have to debug an application.</sarcasm>
  114. You guys are missing one Huge point..Net is not about only one Language, like Java.It is about multiple languages, and one Common Language Runtime. CLR.There are more then a dozen languages, including pure functional languages like F#, [....]
    So, with .Net you can combine different languages, using specialized languages when necessary but accessing the same set of libraries. With java, well, you can program in Java only.
    No, this is not true. There are far more than a dozen languages on the Java VM! They include Lisp, Prolog, Tcl, Python, Smalltalk, Basic, Pascal, COBOL, Oberon, Scheme, Modula, Ruby, Rexx, Eiffel, Sather, Ada, Forth and Fortran.

    Also, you forgot to mention that many companies make Java, not just Sun. There are open source Java developments too!

    To summarize correctly:

    (Sun,IBM,HP and others = multiple platforms, multiple languages)
    (MS = multiple languages - 1 platform)

    Also, as MS is not working to help migration of .Net to other platforms, the implementations of .Net there are incomplete, with significant libraries missing. Projects like Mono are coming on well, but they will always be playing 'catch up' with MS .NET on Windows. With the JVM, full implementations are available on a large number of platforms.
  115. Really just marketing[ Go to top ]

    You guys are missing one Huge point..Net is not about only one Language, like Java.It is about multiple languages, including pure functional languages like F#, http://research.microsoft.com/projects/ilx/fsharp.aspxIn addition to that, .Net is also availiable for other plataforms by the open source community:http://www.dotgnu.org/ and http://www.mono-project.com/about/index.htmlSo, with .Net you can combine different languages, using specialized languages when necessary but accessing the same set of libraries. With java, well, you can program in Java only. To summarize: (Sun = multiple plataforms - 1 Language)(MS = multiple languages - 1 Plataform), (but thanks to open source folks this is changing)
    Multi language support is a bit of a red herring. First of all no sane individual is going to code an enterprise app in F#.
    For all intents and purposes there are effectively two .NET languages : VC#.NET and VB.NET
    If I were to choose between the two I'd choose VC# because is was specifically written for .NET
    The CLR is not as language neutral as it appears. VB had to undergo a complete overhaul for it to work with the the CLR. In all the bencmarks I have seen C# beat VB.NET in every case. Besides it is very difficult to take many VB programmers seriously. The VB syntax is a joke. For serious programming in .NET you have 1 choice : C#.NET

    There are over 190 languages currenly supported by the JVM:
    http://www.robert-tolksdorf.de/vmlanguages.html
    Just like .NET effectively has 2 languages, very few people are going to use any language other than Java to code Java apps, so the point is really academic.

    Yes, there are projects to get portions of .NET running on other platforms. Will anyone actually write enterprise apps with these? Unlikely.
    Will the apps you write in VS.NET run here? No.

    As for me I am just glad that VB is not supported by Java. C# programmers may find themselves having to work with VB guys writing code into a project. Fortunately with Java I don't have to deal with that as we have one excellent standard language to work with.

    .NET is quite useless to us because it won't run on any of our non-Windows servers.
    Serious server hardware runs Solaris, AIX, or HP-UX.
  116. Why use .NET? From my experience...[ Go to top ]

    If your organization depends heavily on customization or interaction with MS products such as Exchange and Office, you might want to consider using .NET. That is, unless you like to waste time and not get any work done. I haven't seen any documentation out there on how to create Outlook Add-in extensions using Java. If you need to write an Exchange server event sink to block spam or perform some other task, I wouldn't recommend using Java. The frustrations of a Java developer working in a Microsoft shop will push the developer into .NET, specifically, C#. Don't waste your time with VB or J#. My strategy is to use Java wherever possible, but I keep C# in my bag of tools for most MS product tasks. .NET just keeps things simple when dealing with Windows systems.
  117. Why use .NET? From my experience...[ Go to top ]

    If your organization depends heavily on customization or interaction with MS products such as Exchange and Office, you might want to consider using .NET.
    After working with exchange for the last few years, If found that you almost have to stick with VB6 for that. And MSMQ has been a pain. I've not done office with .Net yet. I gave up trying to get what sometimes works on one machine and doesn't another and went back to VB6 when needing Interop with Exchange and running under ASP.Net.

    But you are right, if you are already subject to vendor lockin with Office and Exhange then what's the point. Although there is something to be said for breaking the shackles.

    BTW, John if you have examples of working with Exchange (not Outlook) please share.
  118. Java is getting rapidly better[ Go to top ]

    Java is getting rapidly better, in part to it's diversity. Hibernate and Spring came from some incredibly smart guys that were tired of the way the 'vendors' were doing things. They introduced polished products that can be downloaded, and easily used by a pro java developer. The community and the innovation seems ahead of the .net world, despite Microsofts billions of dollars. And if the tech argument doesn't sell you on Java, the psychological part should most definitely.

    If you create anything in Microsoft that leads to a huge success and huge profits, Microsoft is eventually going to want a cut, and eventually own it.
  119. J# - don't be fooled.[ Go to top ]

    Well, it seems the discussion has in some cases turned into Java vs. .Net, instead of a discussion of J#. I've used J# a fair amount because I had some old projects that needed to be migrated from J++. And I can say, that if you want to use .Net, that is one thing, but unless you have a really good reason, don't use J#.

    Yes, the Java language is supported in J# - that won't run on .Net without also installing the J# runtime. So, you end up having to install .Net on the target machines, and the J# runtime - it is a 2nd class citizen to C# and VB.Net if there ever was one. There is also the J# browser control which allows you to run J# applets - and this is another separate install.

    The migration from J++ can be very painful and I ended up just porting 1 app to SWT, and giving up on the other app.

    J#, when calling certain Java APIs, is slow as molasses, in comparison to Java or C#, which in general perform well. Please check some benchmarks online before you choose J# for anything.

    J#, if useful at all, is only useful as a migration tool from J++. Anyone who was unfortunate enough to choose J++ can extend the life of their project perhaps with J#, but perhaps not for long. You will find its Java API support to be just as half-assed as J++, with nothing in the way of a vibrant user community like Java or C#, and with not much interest on the part of Microsoft in enriching or enhancing it.

    J# is simply the minimum MS could do to try to get J++ developers to move to .Net instead of abandoning them, no more, no less.

    I for one tried this, and this was what made me want to get off of the MS treadmill once and for all, and I did. I don't dispute that C# and .Net are useful and productive. But I now use Java, SWT, Hibernate, Eclipse, and as a developer I've never been happier.
  120. Brian Keller on J# and Java in .NET[ Go to top ]

    J# is a migration path from Java to .NET. That's all it is, nothing more.

    ...

    All this Java vs. .NET, and which is better is futile. I am sure we can all find a situation where one is better than the other. It all depends on the context. The rest is just BS.

    However, saying that .NET has taken over in short time while it took many years for Java to get here, and using that as proof of .NET superiority is an inflammatory comment. It is a comment made in full awareness that it has no basis in reality. The author of this comment knows very well that:

    1) There would not be any .NET without Java, period.

    2) It is always easier to copy things than create them. Java started out of nothing - there was no Windows, or billions of dollars behind it right from the start.

    The story of .NET is a typical Microsoft story. Microsoft does not plant seeds - they wait all the little seedlings planted by others to grow and copy the best ones for their own purposes. They can do this because they are a monopoly. Nobody can overturn them over night so they can wait for the best ideas to show up and they can then harvest the fruits by copying the ideas.

    It is not wrong to do this and Microsoft is very effective in their job. But things like .NET, Internet Explorers or Longhorns are not revolutionary or unique. Somehow this 'xeroxing' does not impress me.

    Sure, Java is a copy too, but at least it is an unique combination of ideas copied. I can have some respect for that.
  121. What is up with all of the .NET fanboys here?

    I am beginning to wonder about TSS.

    Where is the coverage of the new WebSphere that just came out?

    This is a major 'Enterprise Java' news item...such a major omission leads me to believe that TSS may have other motives now than covering enterprise java.

    Mike