<< Hey, we've written about .Net before in other thread(s) in a completely civil manner. I didn't mean to be so beliggerent, but your first sentence just appeared to belie your intention to avoid invective. And besides, inflammatory flamefests between geeks are actually usually non-personal. >>
Cool. I'm glad that you made it clear that none of this was personal. I learn a lot from you (and respect you a lot) and I was kinda blown away when you labelled me a "MS fanboy". LOL
<< My reply to your point is that any serious n-tier application is developed in various modules or layers. If that makes .Net elegant, then it makes other frameworks elegant as well. In reality, elegance is harder to define/appreciate. For example, Java can be a verbose coding language (for example, due to the lack of operator overloading or generic programming). Some people view this as a weakness or even non-elegant, but I view this as a philosophy. A central design philosophy for Java was simplicity; cut out any features that non-guru developers will trip over. For the gurus who need advanced functionality, it's still there. It just happens to be wrapped up in some library. The other common response to code verboseness is that most IDEs have auto-completion anyway. Personally, I use emacs and don't use code completion. For one, because I'm a fast typer, and for two I like to learn the APIs well enough to memorize most identifiers. >>
What I found elegant about .NET (actually, my architect told me this) is that in .NET, objects are passed between layers with automatic serialization (which I believe also exists in Java). This is definitely an improvement from COM+. I keep calling it "elegant" because I never programmed this way before, and found it so damn cool. It was as though I was introduced to a whole new world.
I believe that my attitude this morning was related to my recent work also. I was fascinated about all these things so much that I reacted against all the posts here saying, "WTF are you all talking about? .NET is great."
<< Another simple convention that I feel makes Java the language more elegant than C# is that class identifiers are capitalized, while instance identifiers are lowercase. Believe it or not, this makes the code more readable. >>
Hmm.. Odd. That is exactly the naming convention we use as a C# Best Practice. Maybe other people do things differently.
<< In that comparison article, you definitely get a feeling that in a lot of ways, C# the language is quite similar to Java. They kept C++ syntax and just changed some of the identifiers to make the similarity not quite so stark. >>
Well it is so obvious that C# resembles Java with or without that article.
<< In conclusion, I'll once again say that .Net is a strong step-up for Windows developers. Speaking as a Java developer, the tradeoff between what I'd gain and lose is pretty much a wash at best for .Net. The fun thing will be to reevaluate the landscape in a year or two. >>
I definitely agree, although I'm not sure about the part coming from a Java developer (I know next to nothing about Java). My architect and I always joke about how all these ".NET Experts" talk about "Best Practices" and "industry experience" based on a technology that is now just over one month old.
