Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Sure but for those who remember history C# was Microsoft's answer to the incredible success that Java was clearly becoming.

Being years late to the party and basically creating a (back then) Windows-only copy of Java, it's quite normal that they managed to do a few things better.

Regarding UI editors: back in the days IntelliJ was already amazing and allowed to hide all that boilerplate Java code. This boilerplate code was still there, but hidden by the IDE.



sort by: page size:

I mean, C# only got created because Microsoft wasn't allowed to add native GUI features to Java. I feel like you might have missed all the critical history with J++ and the lawsuit from Sun.

I haven't had any issues with clunky Java IDEs since my 256mb ram IBM laptop died.

Visual studio on the other hand lacks so many of the things that made it nice to develop in Java, such as automatic implementation of interfaces, inplace renaming, the ability to move a variable from being inside a method to becoming a field at the click of a few buttons.

That said, C# is light years ahead of Java - too bad that the ide isn't.


Well said, it's crazy how much better C#'s become recently while Java is stuck in 1990 (and believe me I hate Microsoft as much as anyone else)

I am surprised with c# vs java as well, but they are close.

I code c++, javascript and java these days, and i greatly miss my c# days.

Say what you will about microsoft, but i consider C# and the default development environment in vs superior compared to what's available for other languages. That with Resharper back in the day was the bomb.


As a previous fan of C# and a long time Java sufferer, I'm pretty sure it's too little, too late for C#. Sadly, years of being locked to Windows has stunted the C# ecosystem and given Java enough time to get less horrible.

Java 8+ is okay. Lombok helps. There's other great, mature libraries around. There's a choice of IDEs. There's JREs to choose from - there's even JVMs to choose from. Gradle makes build files not suck and makes it easy to add static checking and linting to the build process. AFAIK, C# doesn't have auto-formatting options outside the IDE.

As much as I used to have your view, Java is alive, works fine, and makes money. Or Minecraft mods.


C# probably was but I suspect it wasn't a factor in the initial design of Java - I don't even remember there being any IDEs for the first couple of years of Java being widely available.

Not to mention that the best C# IDE is better than any of the Java ones.

I 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.

C# emerged around the time that Java IDEs emerged. Basically, MS did a decent job with the C# language and tooling. However, it was very much inspired by Java, Java IDEs and Microsoft's own Java IDE (Visual J++).

I think IBM was first with supporting refactorings for Java in Visual Age and Eclipse. Refactorings themselves emerged out of the Smalltalk community.

MS was very motivated to support that for C# as they were getting worried about losing marketshare to Java at the time and because J++ got a lot of negative press (compatibiltiy issues, vendor lockin, the usual MS stuff). In the end C# was held back by the same factors that held back J++ and it took them until very recently to openly support it on platforms other than Windows.


At this point C# little to nothing common with Java and builds a perfectly runnable binaries. C# is extremely capable and strong and arguably is one of the best dev platforms there is.

(On the other hand, call me an old fart, but my trust in Microsoft has been completely eroded in early millennium and did not came back.)


C# is not a better Java by any means, Java has a more diverse and greater ecosystem, you have plenty of choice for tooling, IDEs, libraries, platforms, etc... With C# you are pretty much stuck with Microsoft which everyone knows what that means (.net core runs everywhere, but still attached to msft in many ways), if you are serious about the C# ecosystem, you need to use Windows, C# IDEs outside of visual studio are mediocre at best. If you like running a operating system that doesn't give a f** about your privacy and developing for that platform then sure. There is a reason why C# (even with Msft huge lobbying efforts, not only to the goverments but to dev communities) have been relegated to boring(and sometimes dying) industries which get huge discounts for using Azure.

EDIT: typos


I've found the opposite. For me, C# as a language is nicer than Java. The libraries themselves are a bit of hit and miss - personally I've found Java's concurrency APIs to be much better than C#'s, however I've found the async and LINQ support in C# to be far nicer than the Java equivalent (including Java 8 streams etc). But tooling... wow... Visual Studio feels like such a huge dinosaur compared to IntelliJ IDEA. Not to say it's that bad, but IDEA is so far ahead of any other dev environment I've ever worked with it's not even funny. Even adding Resharper to VS doesn't feel much more than scratching the surface. As always, YMMV.

Microsoft's move to build their own version of Java with C# proved rather smart in that light.

C# is quite impressive, especially in comparison to Java. If it had been released earlier, wasn't owned solely by Microsoft, and supported all major platforms equally, it could have been huge, even larger than Java. If C# had reversed roles with Java a significant portion of the world would have been more productive.

HAHA, C# copied Java in many ways, now Java is following suit. Good for them.

It was always good enough, and evolved with the times. C# was under tight control MS for most of that time, thats why Java was widely adopted. You can't make that statement without addressing the history of the two languages

MS created Visual J++, and Visual J# afterwards. Ultimately C# was born out of these efforts and it's a much better language than Java nowadays (with some exceptions such as better enums in Java). The tooling is superb as well - Visual Studio is a kickass IDE.

Although adding ReSharper to the party doesn't hurt.


I think that C# copied Java and did a better job.

You mean IntelliJIDEA, right? That intellisense is really nice, I loved it when I saw it VS too. Get a kick out of Java devs who think it's new.

Sorry, not trying to bust on you, but I write in all these IDEs...I still love VS.

But hey, C# is just a copy of Java, so maybe it evens out.

next

Legal | privacy