Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

.NET vs J2EE (The truth)

Options

Comments

  • Banned (with Prison Access) Posts: 16,659 ✭✭✭✭dahamsta


    Uh, a Java "evangelist" extolling the virtues of Java on, uh, java.sun.com? So I'm assuming sarcasm/trolling?

    adam


  • Closed Accounts Posts: 156 ✭✭JJSolutions


    And my porche is faster than your lada - doesnt matter when you are not testing the same thing - microsoft changed the architecture of the application.


    Check Oracle's response http://otn.oracle.com/tech/java/oc4j/pdf/9ias_net_bench.pdf

    They claim to be 18 times faster on 9iAS using less resources.


    Even if .net is faster - would anyone be willing to move to it even though:

    Java is tried and trusted - .net is new (and going by M$'s track record very buggy)
    You are stuck with Microsoft - if you dont like it - tough, at least there are many J2EE vendors.


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by JJSolutions
    Even if .net is faster - would anyone be willing to move to it even though:

    Java is tried and trusted - .net is new (and going by M$'s track record very buggy)
    You are stuck with Microsoft - if you dont like it - tough, at least there are many J2EE vendors.

    Java became popular long before it was tried and trusted, while up against "respected" long-term languages like C++. Its hardly a convincing argument to say that being new, therefore, means any language/arcitecture cant be a threat.

    There are also many .NET vendors. There is only one company in charge of the .NET architecture and standards, but then again, there is only one company in charge of the Java standards at the end of the day as well.

    Dont get me wrong. I believe the J2EE platform has a lot of advantages over .NET, and it is currently my preferred platform, but .NET aint all that shoddy a job for a first iteration and it has numerous advantages over Java/J2EE as well.

    In terms of which will win the popularity war, its hard to say, and I'd prefer to see a draw. The vast majority of "MS Visual *" programmers will move to .NET which gives it a huge userbase very quickly - possibly enough to rival Java market share within a year or so. After that, I expect little to change for quite a while, unless something drastic happens in the OS wars.

    jc


  • Registered Users Posts: 2,494 ✭✭✭kayos


    Right that article on Sun after a scan through it is so full of crap.
    .NET is not widely deployed yet.
    Its not released yet thats why. But if you look in any software house that develop using existing MS tech's they are already looking into the move and using the beta versions.
    Thus, since no one has complete knowledge of .NET, it's not easy to implement .NET on other platforms. And .NET is a choice available only on Microsoft Windows, which neglects the non-Windows community.
    Like .Net has been on FreeBSD for the past few months where the hell has she been hiding. Also how could anyone have complete knowledge of it when its still not released yet.
    Also, there is no process in place through which the rest of the community can give their input to .NET technologies (apart from C# and CLR).
    Try MSDN and reporting things back to MS ffs.
    A great many companies have already invested years, dollars, and brains in J2EE. .NET has not been subjected to such scrutiny. If I were a CIO, I would certainly want my information systems to have been tested and approved by a wide range of other businesses and individuals, and by the whole community.
    How Long has J2EE been around? Where did it start?
    Another issue with .NET is the learning curve required. .NET is not about COM/COM+. ..... Thus, Microsoft Windows DNA (Distributed Network Applications) developers now have to learn this completely different component model, apart from CLR (Common Language Runtime) and .NET Framework SDK. Again, .NET does not support Visual Basic; instead, it supports a completely re-engineered (to support object-oriented concepts) version of this language--VB .NET--which is definitely not a logical next step for VB developers as far as learning is concerned. I am sure COM/COM+/VB developers must be feeling a bit abandoned with .NET.
    I'm a VB developer and all I say is bring it on and so do any VB developers I know who are worth their salt.
    Another challenge COM/ActiveX shops would have to face with .NET is how to take advantage of the .NET managed environment, while still retaining their investments in COM/ActiveX.
    Not a biggie from all stories I have heard the upgrade tool does a nice job.
    With PetShop's design, maintenance would be a big problem for applications with a high order of complexity. What would you do if your application had to migrate to another database, for instance, when all your SQL is lying in stored procedures? How are you going to manage such ports?
    Do I even need to say how dumb a remark this is... try maintaining your SQL code when its dotted around multiple classes. Never mind Network traffic dynamic sql causes and the speed difference between dynamic SQL (having SQL queries in your source code) and precompiled SQL (stored procedures)...

    I'm sorry I know I am a MS head and I know Phobos is a Java Head but hell man you could at least find an article that could stand up in a light breeze.

    kayos


  • Registered Users Posts: 16,413 ✭✭✭✭Trojan


    In my completely unbiased opinion, I believe that Kayos is 100% entirely wrong.

    :)

    Al.


  • Advertisement
  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    I think .NET sucks.

    But I'm not going to argue over that press release. It's a typical thing that every company does. Expect a rebuttal from MS, followed by "No your wrong" by another company.

    Ignore the bits where "Sun says MS suck" or "MS say Sun suck". The proper way to read it is only in relation to their parts.

    For example she mentions that MS changed the context of the code enough to make it a different application. Did they mention what it was like when you turned it back again. Was .NET still faster?

    .NET could be the next big thing, but I wouldn't go for it. I've been burned by MS too many times to trust that they are capable of making a good product that doesn't **** people over.


  • Registered Users Posts: 3,316 ✭✭✭ButcherOfNog


    its pretty obvious that the item is written from a java evanglists pov (it even says it is). and its full of crap and mistruths. the author doesn't actually seem to know alot about .net, its just another 'my dads bigger than your dad' piece.

    .net doesn't suck, its quite an improvement on what has gone before from MS.

    one simple point that shes not got a clue on:

    "Another challenge COM/ActiveX shops would have to face with .NET is how to take advantage of the .NET managed environment, while still retaining their investments in COM/ActiveX."

    em, hello? a .net wrapper perhaps around yer existing COM components to start off with?

    It would run into a maintenance nightmare because all the business logic in ASP .NET pages (written in C#)

    em, the C# code is in separate compiled pages 'behind' any HTML presentation code, its not in the same architectural layer as such (i know am being picky :o ). ASP.Net separates the code from the HTML and allows you to code it in whatever language you want (no more messy asp html/vbscript pages). as its complied code, it of course executes faster than the old ASP pages.

    What would you do if your application had to migrate to another database, for instance, when all your SQL is lying in stored procedures? How are you going to manage such ports?

    i won't even start on this statement, its just rather unreal.

    i'm not saying .Net is better than J2EE, or that J2EE is better than .Net, as i don't have an indepth knowledge of J2EE. But this twit of an author doesn't have much knowledge of .Net, yet is saying J2EE is better.

    When someone who actually shows they know both platforms does a proper comparison, and they aren't tied to either Sun or MS, i'll take some notice of what they say.


  • Registered Users Posts: 2,494 ✭✭✭kayos


    Originally posted by Trojan
    In my completely unbiased opinion, I believe that Kayos is 100% entirely wrong.

    :)

    Al.

    lol

    One thing I do wan to point out but I never put it in my orginal post is I dont know which will be better I honestly dont. I do know we are going with .Net and I dont have a problem with that. Time will tell which is better. And I wonder when SP 2 will be available for .Net thats when I will start trusting it :p.

    kayos


  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    Originally posted by kayos
    I'm sorry I know I am a MS head and I know Phobos is a Java Head but hell man you could at least find an article that could stand up in a light breeze.
    No dude you're getting me wrong there. I didn't start this thread as a dig towards VB (etc) programmers. The reason I posted the link is because I found it amusing that MS changed the distributed architecture of the application, and tried to fob it off to the world as a fair benchmark test. You have to agree the example they used (MS) couldn't be classed as similar in design to that of Sun's.

    I know my preffered language ATM is Java, and you VB, but this isn't Vs between you and me (or our languages of choice). It's got to do with the fear that J2EE has obviously put in MS that forced them to "cheat", before releasing performance details. I'm not saying that .NET is rubbish, I am intrigued, and expect to get my hands dirty when it matures a little more. But how does MS expect the world to trust their new development frameworks when they have to lie. I'm not saying that Sun & Java are perfect (nothing is), but considering stunts that MS have pulled in the past, this is just typical, and even worse; nearly "expected".

    Also just because you're a VB programmer and me Java, doesn't mean I'm tied to Sun, and you MS. Christ man, things can change, and I'll go whichever path I choose, right now, I think J2EE is on top, but in 6 months to a year I could have .NET raised on my shoulders (not likely, but we'll see).

    ;-phobos-)


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by phobos
    But how does MS expect the world to trust their new development frameworks when they have to lie.

    They dont - thats not why they do it.

    There is a section of the industry which will make choices based on the decisions of their "resident expert(s)" who may have their own preferences (like the religious pro- and anti- Microsofties). Some will actually base a decision based on the best impartial knowledge that they can drag up.

    Microsoft's advertising / benchmarks are not aimed at these people. They are aimed at the managers who all too often make the decisions based on their own "gee whizz, would you look at that".

    I mean - MS advertise .NET on CNN with a sad little "one degree of seperation" set of ads. Why are they aimed at? Techies? Not a hope - managers. Then these same managers see an article somewhere about MS.NET being n times faster than J2EE, and they think "we should be using .NET" and MS have another catch.

    Never be surprised - the advertising is aimed at those who havent got the experience or the smarts to see past it. The original MS report is nothing more than that.

    Also, you can be pretty sure MS will have gotten far more column inches out of "beating" Sun than Sun will get from this "re-test".

    Again MS win the media war. Which is what theyre so good at - marketing. Its not cheating, its marketing. Anyone who reads a report and believes it blindly without checking the impartiality of the source and the reactions of the "losers" deserves no better than whatever they end up with.

    jc


    <edited to fix my stupid cut n pasting :) >


  • Advertisement
  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    Originally posted by bonkey
    I mean - MS advertise .NET on CNN with a sad little "one degree of seperation" set of ads. Why are they aimed at? Techies? Not a hope - managers. Then these same managers see an article somewhere about MS.NET being n times faster than J2EE, and they think "we should be using .NET" and MS have another catch.

    Again MS win the media war. Which is what theyre so good at - marketing. Its not cheating, its marketing. Anyone who reads a report and believes it blindly without checking the impartiality of the source and the reactions of the "losers" deserves no better than whatever they end up with.
    [/B][/QUOTE]
    Agreed. But at the end of the day, this kind of marketing is bound to have adverse effects on the future of software development. I know it's an aging strategy of Microsoft's, but surely project management need to be more concious of the true benefits of the latest frameworks.

    Again Kealan, I'm not taking a stab @ your line of work, but surely you'll agree that for any company to pull a marketing stunt like this, the outcome cannot be positive. Some people say that .NET hasn't matured enough for us to criticise it along side J2EE, but the fact of the matter is, the .NET vs J2EE debait, didn't start just yesterday. Closer to home, take a look at the Eason catalog for computing books. Nearly every couple of pages you will find full page advertisments for .NET technologies. AFAI'm concerned it's fairly well established and should no longer hide behind an elementary status (if it was so elementary, it wouldn't even be compared, but the fact of the matter is that MS have marketed it as a competing technology to J2EE). So considering that, surely you will agree that as a competing technology, the company behind it would find more tech appreciative methods to market their product. Just my thoughts ;)

    ;-phobos-)
    PS: Nice cut n'pastin there bonkey, lol :p


  • Registered Users Posts: 2,494 ✭✭✭kayos


    Weston I no your not having a go at me and I wasnt having a go at you.

    What I was tring to say that report is the biggest heap of steaming bull.

    As far as I am concerned when it comes to writing an app you write it to run as fast as you can make it go without having any gap's or bug's. Hense using SP's to me is not lying or cheating. MS made an appllication that did the same job as the sun version and did it quicker. Lets put it this way if I saw someone in my office placing SQL code in a class I would beat them non stop untill they learned that they where not to do it.

    As for marketing its what makes the world go round every company is involved in these stunts in one form or another. Just think of it like this your cv is the marketing material for you. Now how often have you told porkie pies on your CV.... I know I had a few lies on mine when I started getting into the job market. I would look at this in the same way and MS are the market leaders at it :).

    As for calling me a VB programmer I havent touched VB in a very long while (bar one or two small things for DTS) I do SQL/OLAP/MDX. Well I did those but now I'm using Office, Project and Visio most of the time :(.

    kayos


  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    Fair enough, but when you only use MS techologies, it makes sense to always put your SQL in backend procedures (SQLServer). Taking a system that uses that .NET architecture, I agree with doing that. But take nearly every other development architecture, it would (as Sun said) make porting a nightmare if you didn't store your DB procedures in classes. If you keep the SQL procedures with the business logic, you can jump from DB implementation flawlessly. But while you're using .NET chances are you will be stuck with SQLServer. On the DBMS side I've been hopping between Oracle & MySQL, without ever having to modify anything more than one or two lines of code (connectors). I'm not a DB guru like yourself, a bit of an all rounder really.

    I can see great performance benefits by storing procedures in the backend, and it would make maintenance job easier, but it's obvious that if you're going to *slap* a developer over the back of the head because he implemented them in a class, then it's pretty obvious you have no plans on changing your selected development framework.

    I think this is the first time I've agreed with most of which you've said, but I still think your looking not looking outside of the MS circle, as in target platform & the inherited benefits. When you say that .NET appears to (and you have decided this as a manager) be able to do what you want "quickly", you must realise it's only effective on Windows (no where else). I know you mentioned FreeBSD, but I have never seen software developed using a MS framework been released on a UNIX derivative. I'm quite skeptic. But if I was a manager and sticking to Windows only environments, then I would probably be saying the same things as you (let's see what SP2 brings, etc), but right now I don't want to feel restricted.

    I am getting the feeling that this debait is about to go in to circles (if not already). Twas interesting nevertheless.

    ;-phobos-)
    Oh look at me I'm 1000 today (it turns out I've No Life after all ;))


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by phobos
    Fair enough, but when you only use MS techologies, it makes sense to always put your SQL in backend procedures (SQLServer). Taking a system that uses that .NET architecture, I agree with doing that. But take nearly every other development architecture, it would (as Sun said) make porting a nightmare if you didn't store your DB procedures in classes.

    This whole argument is a bit of smoke and mirrors from both sides.

    Regardless of what language you are writing an application in, you are faced with the choice of "support multiple databases or not". This is true in both .NET and J2EE.
    Both offer technologies which allow you to access relational data without writing any SQL - to have database-independant systems.
    Both allow you to tie your code tightly to a database if you so wish.

    How the developer chooses to implement an application, therefore, is not a factor in saying that one is better than the other, or that one approach is superior to another.

    When I write applications, regardless of the language, I am typically working on custom solutions - applications to meet a specific customer's needs, rather than a product.

    In every single case I have worked on one of these, the customer has told me the database system they needed to support, and in only one case were they interested in portability. In every other case, when asked if they wanted portability or if they would prefer database-specific optimised code, guess which they asked for?

    At the end of the day, both .NET and J2EE will permit you to do most of your database manipulations in a database-independant manner. Each will allow you to do it in a database-dependant manner. I fail to see, therefore, how this is an issue.

    jc


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by phobos
    If you keep the SQL procedures with the business logic, you can jump from DB implementation flawlessly.

    Actually, thats not true.

    SQL is a language, and like almost all other languages, there are multiple versions of it around. Typically, theres one for every database product on the market, often with significant differences as you move across versions of that product.

    There isnt even a guaranteed common sub-set of the SQL language which you could use for database independance.

    Oracle, for example, only supports SQL ANSI join syntax since version 9i. Every prior version used a syntax which was unique to Oracle. If you cant use a common syntax for querying more than one table at a time, what hope do you have.

    If you want to jump from Db to DB flawlessly, you need an approach which does not use SQL at all - such as data-binding in VB(.NET) or Entity Beans with Container-Managed Persistance in J2EE.

    jc


  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    Originally posted by phobos
    If you keep the SQL procedures with the business logic, you can jump from DB implementation flawlessly
    &
    Originally posted by bonkey
    If you want to jump from Db to DB flawlessly, you need an approach which does not use SQL at all - such as data-binding in VB(.NET) or Entity Beans with Container-Managed Persistance in J2EE.
    OK maybe I misworded that. But the difference between what I said, and you said, is SQL & DB procedures. I can't speak form a .NET perspective, but Entity Beans with Container-Managed Persistance does implement the DB routines abstract to the DB implementation. Keeping those procedures tied with the business logic tier, makes that possible, hence it was introduced in to J2EE app server functionality. The reason CMP Entity beans can remain abstract to the back end is because of the service the app server provides?

    Wait a minute how did we get from my first post to a discussion on distributed apps & portability, lol :)

    ;-phobos-)


Advertisement