5 ms·
Java is painful after experiencing .NET. I'm not sure this is really news though.
by DanielStraight 17y ago
Java is painful after experiencing .NET. I'm not sure this is really news though.
- habs 17y agoI wouldn't describe it as painful myself. But, I would agree with sentiment. Having spent 3+yrs working with Java and then moving to C# (2yrs+ dev) has been a pleasant experience. C# is great language with features like delegates, Indexers, Pointers and Unsafe Code (executed in an unsafe context) and constraints on type parameters. In contrast, I hate the msdn documentation for C# and still have a soft spot for java documentation.And yes, C# v Java is not the same as JVM v CLR
- lunchbox 17y agoI hate the msdn documentation for C# Not sure if this is addresses your complaint, but MSDN's low-bandwidth formatted site makes it easier to work with. Example: http://msdn.microsoft.com/en-us/library/system.xml.xmlreader%28loband%29.aspx http://msdn.microsoft.com/en-us/library/system.xml.xmlreader... Here's a link to a bookmarklet you can use to turn loband on: http://weblogs.asp.net/jgalloway/archive/2008/08/30/msdn-low-bandwidth-bookmarklet.aspx http://weblogs.asp.net/jgalloway/archive/2008/08/30/msdn-low...
- chaostheory 17y agoI think another thing I really hate about C# documentation is that it's merged with docs for other languages like VB.NET. It's a small thing but when I need to do something, I really don't want to be wasting time constantly filtering through stuff I don't need.
- Rexxar 17y agoThere is a language filter in order to display only language we want to see (in the standard version, not the low bandwidth one).
- chaostheory 17y agoThanks Rexxar - you've made my life easier. For some reason I've never noticed it before. Maybe it's because I use Firefox and the filter button looks really small on it.
- habs 17y agoIn hindsight, hate was a bit strong. thanks for the bookmarklet. I too prefer the low-band version of the msdn. But I prefer java docs layout. It's a lot easier to use and navigate. With namespaces at the top, classes just below and method/class details as the main view. I think it's very elegant.
- DanielStraight 17y agoDelegates do it for me (even though VB.NET doesn't have delegate subs), especially their use with IEnumerable.
- sbt 17y agoExactly. This is not news. C# has always been a step ahead of Java. They're both enterprise languages, good for large teams. But C# has always offered comparable features to Java as well as more higher level features. Add to this, albeit a subjective opinion, that VS is a superior IDE to Eclipse.
- gaius 17y agoAt my company about a year ago, we held a Java vs .NET seminar. The attendees were probably 10% .NET, 80% Java and 10% interested onlookers (like me). The main .NET guy stood up to speak. He said he'd done this project recently in Java and that project in C# and these were his experiences. He talked about the maturity of the tools, particularly VS vs Eclipse support for programming in the large, LINQ, he mentioned that in the Java world there were many competing frameworks whereas a C# developer could get up to speed on a project without having to learn a new one, a whole bunch of stuff. He was calm, articulate, prepared, and clearly had the attitude of "the right tool for the job" and "what's best for the company". Then it was Java's turn. Their speaker hadn't prepared any examples, and he'd never used .NET. I scented blood in the water. This was going to be fun. It went something like this: Him: Java is cross platform! Me: So what? We only use one platform for all Java, the Ops guys insist on it. Him: Java is used by lots of large companies including X, Y and Z Me: All of whom write their major products in C and C++ Him: You can use lots of languages on the JVM! Me: So the best thing about Java is that you don't have to use it? Is that all you got? Then he prepared his killer blow: Him: Java is not Microsoft! Me: Haha, OK you got me there. No wait, there's Mono... IMHO right now Java should be considered a legacy language, and Java programmers either assigned to maintenance or those who are good, retrained (not necessarily in C#, there's Scala for example). The JVMs are generally good and if you need a VM language on Unix then worth considering (tho' there are other VMs out there). Personally, I would advise against starting a new project in Java.
- DTrejo 17y agoOuch.
- 17y ago
- bradgessler 17y agoI should point out the obvious that C# was designed after Java was in the wild for some time; thus, Microsoft got to learn from the mistakes Java made when designing the language.
- jrockway 17y agoJava has made many design mistakes since C# was released. I keep thinking one day the Java folks are going to come out and say, "AHAHA, WE TROLLED YOU ALL BIG TIME", but sadly I doubt that is going to happen.
- nollidge 17y agoSome examples? I haven't used Java for a while now, so I'm asking in earnest.
- gaius 17y agoI disagree. Anders Hejlsberg was already an experienced language designer with the highly commercially successful Turbo Pascal and Delphi under his belt before he came to Microsoft and developed C#. James Gosling only had worked on Oak before Java, a language which never made it past the stage of an internal research project at Sun. It's disingenuous to say MS "copied" anyone in this case - they simply went out and found an experienced languages guru and hired him. Just like when they needed someone who knew about operating systems, they hired Dave Cutler from DEC.