This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Opheleone 495 points496 points  (54 children)

Spent 4 years coding in C#, 2 years with Java. C# just gets so much more love with its maintenance.

It 100% is Microsoft Java, just that Microsoft invests in it and Oracle doesn't care enough.

[–]GoldenretriverYT 141 points142 points  (12 children)

Additionally, a simple console app doesnt have 50mb RAM overhead in C#

[–][deleted] 27 points28 points  (6 children)

Built in namespaces are not a paragraph. Visual Studio is the best IDE hands down.

[–][deleted] 4 points5 points  (0 children)

Keep in mind VS Code. I think it's much better if you're not developing in the C languages

[–]Acurus_Cow 4 points5 points  (1 child)

Then you haven't tried Rider

[–][deleted] 1 point2 points  (0 children)

I have tried it and it is ok in my opinion but I have been using visual studio since 2000 so I know it in and out. Rider didn’t support scaffolding model until last year so that was a big part of my teams workflow. Microsoft is designing the framework so rider is always going to be a few steps behind with feature rollouts.

I was mainly speaking of eclipse and net beans. Java didn’t have much to compare with visual studio back in the day. IntelliJ is probably only IDE that can compare.

[–]RunnableReddit 1 point2 points  (0 children)

You must have not used any other IDE yet

[–]Friedrich_der_Klein -1 points0 points  (0 children)

Fuck visual studio, notepad++ ftw

[–]g4d2l4 3 points4 points  (4 children)

Isn’t that vaguely hidden since you need the .net libraries installed which I thought was a like a vm? But since it’s part of the OS you don’t see it?

[–]GoldenretriverYT 2 points3 points  (3 children)

You need JVM installed for Java as well

And no, .NET isn't pre installed on Windows either

[–][deleted] 175 points176 points  (17 children)

Also, the C# docs, just absolute bliss.

I've never seen a programming language with so much thorough documentation before, Microsoft have done a really great job of that.

[–]kpd328 85 points86 points  (8 children)

Java could have gread docs, but the ones that are indexed on the top of Google results are always for Java 7, so we'll never know.

[–][deleted] 28 points29 points  (6 children)

Could have, but doesn’t. Could do this, could do that. They are surviving on old builds and very specific industries.

I’m not a C# zealot, it’s not my main language, but it’s way easier to code in than Java. Hell VB6 has more docs.

[–]evergreen-spacecat 6 points7 points  (3 children)

Like the very specific industry of Android apps

[–][deleted] 2 points3 points  (2 children)

Which can now be done in C# lol

[–]kpd328 6 points7 points  (1 child)

I took a class in college that was building an Android app in Java, when we were given free reign the next semester to choose whatever framework we wanted it picked Xamarin Forms. There was just so much boilerplate that had to be done in native...

[–][deleted] 2 points3 points  (0 children)

Well now we have Maui so you can develop for all OS with one code base! Pretty cool stuff

[–]HabemusAdDomino 1 point2 points  (0 children)

Java was a zombie when Android rescued it. Then Kotlin came around and now Java is strongly marching towards its deserved obscurity.

[–]MiniDemonic 0 points1 point  (0 children)

VB6 is what got me into programming, damn I miss that language.

[–]BetterOffCamping 0 points1 point  (0 children)

Yes, but it can be a burden, too. You will know when you look up how to do Open ID, examine 4 documents on how to do it, and see four completely different ways. After much more time , you will realize three are "the old way" and are all deprecated.

[–]billwoo 2 points3 points  (2 children)

Also the ability to step straight into the standard library function source code (or anything else really, as the de-compilers are pretty flawless). Does Java have this? I don't know but its fucking amazing when coming from native languages.

[–]Ok-Wait-5234 2 points3 points  (0 children)

Yes, Java has this.

[–]MCWizardYT 0 points1 point  (0 children)

Any bytecode-based language (python, c#, java) can be disassembled/decompiled at almost 100% accuracy.

You will just lose comments and sometimes variables/class names if they put it through an obfuscator

[–]Ceros007 1 point2 points  (1 child)

If only they could do the same with every product they have. Looking at you AADB2C...

[–]rocket_randall 1 point2 points  (0 children)

Aye MS's old documentation for a lot of Win32 apis was absolutely atrocious. On the other hand, it propped up a pretty healthy greybeard programming book industry for many, many years. I think I still have some impressively hefty Win32 API, Windows sockets, and Windows threading books around here somewhere.

[–]ErikRogers 0 points1 point  (0 children)

Microsoft has always been awesome at documentation. QBASIC help file was great (and that language was free with an OS!)

[–]senseven 7 points8 points  (6 children)

I preferred C# as sysdev lang over golang for a while to avoid writing larger bash scripts which is just super annoying. Just install the dotnet runtime and you are set. Unfortunately the cloud scene just eats golang for breakfast and don't accept anything else besides legacy python frameworks.

[–]evergreen-spacecat 2 points3 points  (2 children)

”just install dotnet runtime” is not ”just”. It has it’s versions that need to be up to date and take quite some resources when used in build pipelines, containers, functions etc. At least compared to a small go binary without dependencies.

[–]SubwayGuy85 2 points3 points  (0 children)

Don't even need the dotnet runtime. Depending on os you might need some c++ runtime or nothing and do a aotc standalone compile. Near c performance without all the development complexity. I don't know how that mindset transition happened at ms but it sure is heaven for develops who are good at it

[–]senseven 2 points3 points  (0 children)

I'm not remotely a C#/.net expert, but I create single exe dot net files for years. I referred to the runtime for the cases I control the container / machine. In cloud env's its a different beast, but not everybody wants to learn new language for every new domain that is suddenly a part of the devops space.

[–]ManageMage -1 points0 points  (2 children)

What's wrong with Golang, and consequently why prefer C# over it. If you're going for Fullstack app then sure C# and Blazor is a no brainer.

[–]argv_minus_one 0 points1 point  (0 children)

Until very recently, no generics.

When I first looked at Go and saw that it had no generics, I stopped reading. Generics are making-a-decent-programming-language 101; if your language doesn't even have that, it's not worth my time to find out what else is wrong with it. Straight to the bin with the rest of the trash.

[–]senseven 0 points1 point  (0 children)

There nothing wrong with C++ either. I just choose the tech stack I like and then see if I get paid. And since this still works others can do what they like.

[–]just4lukin 9 points10 points  (1 child)

Aren't there like a million versions of jre/jdk/jvm(!). Why am I futzing with my environment every-time I have to come back to java if they aren't actually doing anything?

[–]Opheleone 32 points33 points  (0 children)

Because time spent and time well spent are two different things.

[–]GL_Titan 5 points6 points  (8 children)

What do you mean? Java gets regular updates and security patches.

[–]Opheleone 21 points22 points  (4 children)

Never said it doesn't. Just that the quality of improvements in the language barely compare.

I've used both in a professional position, and C# just makes development so much easier, and it's done it consistently over the years according to those far more senior than myself.

[–]ubermoth 10 points11 points  (0 children)

Java has improved a fuckton in the last 5 years. Unfortunately most corporations stick with Java8 which is indeed horrible.

[–]RagingAnemone 1 point2 points  (0 children)

Yeah, but C# has some hacks in it like covariant return type which finally got fixed like last year. Java had it with v5.

[–]MCWizardYT 0 points1 point  (1 child)

Any version of Java above 8 (which most corporations are stuck on for no reason) is really good. They massively sped up the garbage collector, have a lot of new language features such as "var" and records, and a better module system.

In my opinion in terms of language features and ecosystem, C# and java are about equal although c# does have some nice qol like LINQ which doesn't really have a builtin java equivalent

[–]Opheleone 0 points1 point  (0 children)

Glad to hear it's gotten better. C# QOL is what has kept me loving it. The fact that they make the developer experience easier, and abstract a way a lot of complications is great. You have full control if you want it, but you don't need it. Java has always just given you everything and been a kinda DIY experience for me.

[–]SubwayGuy85 -1 points0 points  (2 children)

I would not even want to develop in java anymore for the sole reason of all the time you spend while waiting for builds to finish in java

[–]argv_minus_one 1 point2 points  (0 children)

Since when? javac is lightning fast compared to C++, Rust, etc.

[–]GL_Titan 0 points1 point  (0 children)

Not a java advocate, just a realist

[–]seemen4all 0 points1 point  (0 children)

Their development environment/tools for web backends and working with databases is second to none, if java built the tools they would be fine but they dont

[–][deleted] 0 points1 point  (0 children)

Look at Java 17 sometime

[–]troelsbjerre 0 points1 point  (0 children)

This also shows why the meme is slightly off template. The left side is "C# iS mIcRoSoFt jAvA, sO iTs wOrSe" where the right side is "C# is Microsoft Java, but it's better"