Java vs. .Net

ziggy on 2003-12-16T18:48:49

Here are some observations from Don Park on the differences between Java and .Net coding practices:

I have examined quite a number of open source Java and .NET projects recently and there is a striking contrast between the two groups which is that Java projects tend to be over-architected and .NET projects tends to be under-architected.  In more mundane terms, it's the contrast between having too many joints and too few joints.  I am not talking about the kind that you strike a match to, but the kind that adds flexibility.  For Java, I think it might be a withdrawl from design pattern addiction.  For .NET, it's probably apply duct-tape til it works syndrome encouraged by Visual Studio .NET.
Interesting.

(via LtU)


The Java Assembly Line

chromatic on 2003-12-16T20:33:35

I haven't looked at .Net (or, more properly, C#), but most "standard" Java APIs make me think of long lines of coders in blue work-shirts connecting method call A to object B and passing the program down the line.

Of course, everything in certain sectors (financial, insurance) is probably that dull anyway....

Re:The Java Assembly Line

mary.poppins on 2003-12-23T20:27:08

I've always thought of it as:

    Boss: "I've decided to give the cooks blunt knives -- they might hurt
                    themselves with sharp ones."
    Cook: "But it will take us longer to cut all the vegetables."
    Boss: "We'll just hire more cooks. And more middle managers, and chef team
                    leads, and meal project managers. And I'm buying a whole bookshelf
                    about How To Cut With Dull Knives. Besides, chef schools don't bother
                    teaching people how to use sharp ones."
    Cook: "We can teach them . . ."
    Boss: "Not in time for our infeasible internal deadline for this meal!"

or:

    "The chef-hat company told us we need to use blunt knives and hire more
      cooks."

Re:The Java Assembly Line

chromatic on 2003-12-23T22:19:33

You're not in favor of "dull" typing systems then?