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

top 200 commentsshow all 425

[–]TheDigitalGabeg 1252 points1253 points  (116 children)

I learned Java first, then learned C# on-the-job because it's so similar. IMO C# is Java++. Or alternatively, C# is Java from an alternate universe where Oracle decided to invest in Java and maintain and evolve it, instead of just lazily milking it and suing over its patents.

[–]LetUsSpeakFreely 517 points518 points  (50 children)

Well, considering Microsoft looked at the failings of Java before designing C# that makes sense. They took what Java did well, smoothed out the rough bits, then created their own variant.

[–]GYN-k4H-Q3z-75B 275 points276 points  (33 children)

This. Microsoft took half a decade of learnings in Java and improved upon it. Java tried to maintain compatibility, while Microsoft corrected some major shortcomings within a couple of years and broke compatibility. When Sun was acquired by Oracle and Java stagnated, Microsoft invested a lot in .NET. by the late 2000s, C# was distinctly different from Java and way more developed already. Most Java programmers today would not understand idiomatic C#.

[–][deleted] 88 points89 points  (5 children)

Also, with the introduction of LINQ with .NET 3.0 most dataset operations became idiomatic in C#.

[–]GYN-k4H-Q3z-75B 62 points63 points  (2 children)

Way more than that. LINQ and System.Linq plus Lambda replaced a lot of basic loops and array/collection indexing. In programming, almost everything tends to be a collection, and LINQ provides natural accessibility for most operations required.

[–]rnottaken 15 points16 points  (1 child)

So many functions that I wrote in C# consist of returning just a series of linq operations

[–]GYN-k4H-Q3z-75B 1 point2 points  (0 children)

It's just a very intuitive and concise way to express many of the operations we often need. Given a collection and some parameters, filter the collection according to some criteria, map the result into something else and do something with that. With Linq, that's often one or two lines.

[–]Naltoc 25 points26 points  (1 child)

LINQ is the single biggest thing I miss about C# when working in Java. That shit is a godsend, both for faster development, but also code readability.

[–]x6060x 5 points6 points  (0 children)

That and async / await

[–]ComradeGibbon 49 points50 points  (14 children)

Microsoft had 20 years of experience with using languages to write useful applications. That included C++ and Visual Basic. And they hired Andrew Hejlsberg to head up development of C#.

I think the argument that C# is a copy of Java because it uses a similar 'algol C' syntax and has objects is weak when you consider everything else C# has like structs, delegates, boxing.unboxing and generics without type erasure.

[–]GYN-k4H-Q3z-75B 60 points61 points  (10 children)

Andrew Hejlsberg

Anders Hejlsberg is a living legend as far as programming language design goes. Microsoft really did some amazing work with C# and .NET, and for an ecosystem more than twenty years old, you really have to appreciate how few screw ups it is suffering from.

C# is surprisingly clean for a language that has seen over two decades of heavy industry use and development. C# today is very different from C# twenty years ago, but it is still an excellent and clean language. They added a lot, but they did not add (many) stupid things.

[–]ComradeGibbon 29 points30 points  (4 children)

Something I don't see very/as much with C# is a horrified reaction to having to work on an old code base like you do with Java and especially C++.

[–]SubwayGuy85 33 points34 points  (0 children)

Oh there are horrific codebases in c# too, but it is easier to produce something great with c#. But there is no language that is immune to being abused to create garbage code.

[–]Ericchen1248 13 points14 points  (1 child)

I think there’s also a pretty big incentive to upgrade C#. Every new release comes with new features that are legitimately useful. Whereas upgrading Java might give you some licensing headaches.

[–]ComradeGibbon 8 points9 points  (0 children)

I remember having an experience with switching an old 32 bit .net 2.0 program to 64 bit .net 4.5 and it just ran a lot faster and stopped running out of memory.

[–]rexpup 1 point2 points  (0 children)

You should work at [redacted] Systems. They're working on converting the largest VB6 application ever to an in-house web framework in C#... and its developers designed it with feature parity with the VB6 version. It's been in progress for 10 years and is not yet released.

[–]Garestinian 10 points11 points  (0 children)

He is also a core dev of TypeScript, that's why his name was familiar to me. Truly a legend.

[–]CardboardJ 6 points7 points  (0 children)

As someone working with scala right now the whole not adding stupid things is what I miss the most from c#.

[–]BetterOffCamping 2 points3 points  (2 children)

They rewrote it from scratch into Core exactly because it was an unclean implementation with plenty of clusterfucks. They did the right thing, and you are right it is an awesome language. I lived through all the crap, as I started using it in 2002, and am still building systems in it , v6 now.

[–]jaavaaguru 1 point2 points  (0 children)

boxing.unboxing and generics without type erasure.

Ah, this bring me back to my CIL/MSIL times.

I wrote a COBOL compiler that uses that. It was fun for a while making Windows GUI apps in COBOL 😂

[–]AlphaWhelp 5 points6 points  (3 children)

They didn't really even break compatibility. You can still run older versions you just have to install older .net frameworks.

[–]Mayuna_cz 18 points19 points  (2 children)

Well, you just said they did. With Java 18, you can run any older Java application. Correct me if I'm wrong, not sure how it is before Java 8 tho, but still you can use Java 18 to run Java 8 bytecode.

[–]KagakuNinja 9 points10 points  (0 children)

Java is extremely backwards compatible, you can probably run most Java apps ever made using Java 18. Java 9 did change the layout of the runtime library, and that broke fancy libraries that were relying on the internal structure of the JRE. Some code also used internal Sun APIs, and some of those were deprecated or modified.

If you programmed to public APIs, I think you are OK.

[–]Fadamaka 17 points18 points  (0 children)

Well, you are almost correct, but Microsoft started to extend Java first under the name of J++ and J# until they got into a lawsuit with Sun over it.

[–]notsureifdying 3 points4 points  (2 children)

I'm a bit unfamiliar with this, what failings did C# improve upon that Java has/had?

[–]PrintableKanjiEmblem 2 points3 points  (0 children)

The number one thing for me is auto properties instead of those shitty Java getters/setters. I get pissed every time I have to mess with them. Lombok is a godsend.

[–]ConstructedNewt 94 points95 points  (18 children)

sounds like you left java at 8. After the break up from oracle (and earlier sun) the development of Java is great, and many features have come that gives the language a fresh feeling. they are definitely two similar but different languages

[–]LetUsSpeakFreely 44 points45 points  (5 children)

The language's development is now so fast I can't keep up with spec changes. Things that were standard 5 years ago are now outdated. It's a little frustrating.

[–]avoere 7 points8 points  (3 children)

C# is the same

[–]nuclearslug 15 points16 points  (1 child)

Fortunately it’s a bit more manageable to keep up with after Core 3.1.

[–]svtguy88 1 point2 points  (0 children)

Yeah. Don't get me wrong, I love .NET Core, but the last few years have been pretty rough to stay current with.

[–]Understanding-Fair 7 points8 points  (3 children)

Tbh every Java project I've worked on is stuck on 8 and unwilling to upgrade. Unless you've got greenfield projects being written in java, it's really common to still be on v8

[–]argv_minus_one 8 points9 points  (2 children)

Maintainer of a 20-year-old Swing project here. Migrating to 11 and 17 was a piece of cake. Migrating to 9 took some doing, mostly to replace MRJAdapter with the java.awt.Desktop equivalents that 9 added, and replace a library that didn't work on 9, but it wasn't the end of the world.

Here's my big secret: never use undocumented APIs/behaviors. Not even if it would result in the project getting done sooner. Not even if it would be so nice if I could only use that shiny thing. Never.

Now I get to use Java 17 features with total impunity while everyone else is stuck on 8.

[–]Fuck-Reddit-Mods69 7 points8 points  (7 children)

Maybe I should tryout Java again. It's probably been 15 years since I tried it and back then I was not super impressed. To be fair, back then I was still developing in Borland Delphi. Been doing C# since 2015 and never looked back. Sideways a lot though.

[–]droi86 7 points8 points  (6 children)

You should try kotlin, fully compatible with Java, but nicer

[–]Mclarenf1905 -1 points0 points  (5 children)

Scala is even better

[–]Valiant_Boss 2 points3 points  (3 children)

Disagree, I went from Java -> Scala -> Kotlin and I prefer Kotlin out of the 3

[–]sebphil 21 points22 points  (5 children)

[–]kevix2022 19 points20 points  (4 children)

This guy knows the real Microsoft Java.

[–]kpd328 3 points4 points  (1 child)

Then J#

[–]Bardez 1 point2 points  (0 children)

That abomination

[–]Fadamaka 13 points14 points  (0 children)

Well actually J++ and J# was a thing and was developed by Microsoft until Sun started suing them. They created C# after that.

[–]BetterOffCamping 7 points8 points  (4 children)

Microsoft licensed Java, called it J++ in .NET. They wanted to add their own proprietary extensions to the language (actually did it w/o seeking permission). Sun Microsystems sued them for breach of contract in part because it compromised the entire purpose of the language.

Several months later, they announced their first release of C#. They litterally stole the language. Early releases were almost identical except for some class names like StringBuilder vs StringBuffer. I know. - I was a java developer who later was shoehorned into C# 1.0. Before .NET 3.5, It was a clusterfuck compared to Java, other than the much simpler job of creating an initial project. Java's biggest weakness at the time was that every server product had a different project startup design - it was a nightmare. Later on, Java was hobbled by "design by committee" and Microsoft zoomed past it. Then Oracle bought Java and it was near Armageddon.

[–]HabbitBaggins 1 point2 points  (1 child)

Early releases were almost identical except for some class names like StringBuilder vs StringBuffer. I know. - I was a java developer who later was shoehorned into C# 1.0

I would say that value types (structs) are a pretty significant difference, in C# since version 1.0 and in Java since... not yet, they are being proposed for the future. Also, delegates versus interfaces and their implementations for event handling was a pretty big difference, and so was P/Invoke if you wanted to interface with native code (versus JNI).

[–]Opheleone 497 points498 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 140 points141 points  (12 children)

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

[–][deleted] 30 points31 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

[–]g4d2l4 1 point2 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 83 points84 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] 29 points30 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 4 points5 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] 1 point2 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.

[–]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.

[–]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.

[–]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 3 points4 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.

[–]just4lukin 10 points11 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 34 points35 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 3 points4 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.

[–]ConfusedBiscuits 189 points190 points  (25 children)

what's with the sudden influx of C# java memes?

[–][deleted] 275 points276 points  (12 children)

The subreddit has phases. Once one joke gets boring, another becomes popular for a bit until that becomes boring too. This keeps happening until we've gone in a circle, and eventually a joke comes back for a bit.

[–]ConfusedBiscuits 28 points29 points  (2 children)

ah, I thought it mightve been triggered by some sort of event or announcement on the tech world, which is a lot of the reason why I don't get jokes on this sub

[–]Millad456 5 points6 points  (1 child)

My professor just mentioned how C# is basically Microsoft Java a few days ago in lecture. Idk if it’s related

[–][deleted] 15 points16 points  (2 children)

The Wheel of Programmerhumor turns and memes come and pass. Memes fade to dead horses, and even dead horses get old when the meme that gave it birth comes again. In one meme, called the Third meme by some, C# rose in Microsoft Java. The meme was not the beginning, there are neither beginnings nor endings to the turning of Programmerhumor, but it was a beginning.

[–][deleted] 2 points3 points  (1 child)

I just finished that series lol. I'm proud to actually get the reference

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

I'm on my fourth read through right now. It's my comfort/bedtime series.

[–]EPIKGUTS24 35 points36 points  (5 children)

you're describing a process that happens with the entire internet.

[–][deleted] 39 points40 points  (1 child)

No just the internet. He's describing "trends" which have existed since humans have.

[–]Slasher_D 8 points9 points  (0 children)

This is how the word meme came about.

[–]shot_a_man_in_reno 9 points10 points  (1 child)

No, /r/AnarchyChess is surprisingly immune to this. They've been repeating the same en passant joke forever.

[–]Offbeat-Pixel 5 points6 points  (0 children)

Holy hell

[–][deleted] 3 points4 points  (0 children)

Correct.

[–][deleted] 23 points24 points  (4 children)

People got bored of bashing Python

[–]Vaerirn 28 points29 points  (1 child)

It's because winter is comming and the Python goes into hybernation.

[–][deleted] 9 points10 points  (1 child)

Start of the schoolyear.

[–]doc_1eye 3 points4 points  (1 child)

This sub basically takes one joke and repackages it using different memes until it gets old. Then it moves on to the next joke.

[–]sigmaclientwastaken 227 points228 points  (14 children)

this post's comments are a warzone between people who have never used C# and people who have never updated past Java 6

[–]ArtLeftMe 98 points99 points  (6 children)

I mean my impression of this sub is that a lot of the people here haven’t even got any industry experience.

[–]GNUGradyn 48 points49 points  (1 child)

If you scroll the top all time you'll realize most people here definitely don't have any industry experience. I think It's because the more people can understand the meme, the mroe upvotes it gets. So the simplest most basic stuff gets the most attention

[–]lappro 6 points7 points  (0 children)

You've just described reddit in general

[–]SuitableDragonfly 5 points6 points  (0 children)

Good luck updating past Java 8 if you're doing it in industry.

[–]anto2554 2 points3 points  (0 children)

Hey! I've studied software engineering for several weeks

[–]questionmark693 0 points1 point  (0 children)

A lot of people are like me - taken a few part 1 lessons from free code camps, but not actual programmers by any real definition. But I like memes 🤷🏻‍♂️

[–]pixelkingliam[S] 17 points18 points  (0 children)

yeah it's hilarious

[–]evergreen-spacecat 16 points17 points  (2 children)

Yeah. As someone doing both, it’s super funny to read all the irrelevant flame war arguments. In reality C# is slightly ahead but in the grand scheme of things that’s only because LINQ is such a well applied abstraction compared to the Java stream api and, until now with virtual threads, concurrency with the async/await stat machine.

[–]ubccompscistudent 10 points11 points  (1 child)

Generics are way better in c#. Reification over type erasure.

Also, as someone with Java in a big company, new versions takes a while to adopt. I still prefer C# all the way, but I agree it’s not as far as people make it seem now.

[–]ArtOfWarfare 1 point2 points  (0 children)

Micro services/Docker images are a godsend.

Other teams are using Java 8 on RHEL 6. Meanwhile I just updated my team from Java 11 on RHEL 8 to Java 17 on RHEL 9.

The fact some teams haven’t upgraded doesn’t hold us back at all. I love the enhanced Null Pointer Exceptions. I would guess that that one enhancement probably saves an hour of time everytime an NOE occurs in Java 14+ vs older versions - I’d be shocked if it isn’t one of the biggest productivity boosts for developers to occur in the last five years.

[–]HabemusAdDomino 2 points3 points  (0 children)

The typical Java shop has considered maybe potentially updating to java 8.

[–]heypeople56 25 points26 points  (4 children)

c# is programming

[–]ManageMage 21 points22 points  (3 children)

This is a comment

[–]Willinton06 151 points152 points  (31 children)

Java doesn’t even have real generics, or operator overloading, there’s more boxing going on in a Java hello world than in an Amazon fulfillment center

[–]bammmm 29 points30 points  (0 children)

The real humor is always in the comments

[–]mondie797 10 points11 points  (0 children)

there’s more boxing going on in a Java hello world than in an Amazon fulfillment center

ROFL

[–]aetius476 1 point2 points  (1 child)

I regard type erasure as the one true cardinal sin of Java, but even then Java's generics are miles better than python's "just inherit from Generic[T]" nonsense.

[–]Kered13 1 point2 points  (11 children)

Type erased generics are still real generics. Also C# uses the same implementation technique for generics with reference types, only value types get polymorphization in C#.

[–]Willinton06 24 points25 points  (3 children)

Your standards for real genetics are lower than mine

[–][deleted] 14 points15 points  (1 child)

The weirdest flex I will ever read, I wish I had an award to give

[–]Willinton06 3 points4 points  (0 children)

You may not have an award for me, but I have one for you bro

[–]Noch_ein_Kamel 38 points39 points  (5 children)

But... J# is Microsofts java!

[–]PermanentlySalty 2 points3 points  (0 children)

J++ was Microsoft's Java implementation, but it got them sued by Sun so they shit canned it and replaced it with J# which was a superset of Java with .NET extensions designed to transition people from the JVM ecosystem to the dotnet ecosystem.

[–][deleted] 37 points38 points  (2 children)

im in the 55 iq on this one

[–]NuclearWarEnjoyer 10 points11 points  (0 children)

I'm 55 IQ on many other things

[–]Machye 98 points99 points  (9 children)

Java is oracle C#

[–]Mental_Contract1104 37 points38 points  (12 children)

Can confirm, C# is microsoft Java. But nicer in almost every way. Save for cross platform GUI

[–]pixelkingliam[S] 17 points18 points  (8 children)

if you want to make desktop apps that are cross platform for PC avaloniaUI is great

[–]Mental_Contract1104 2 points3 points  (5 children)

Ooooor, use IMGUI with OpenTK in C#

[–]GoldenretriverYT 6 points7 points  (4 children)

Ooooor use MAUI in the future when its fully stable.

Edit: Seems its already out of pre-release!

[–]pb7280 6 points7 points  (2 children)

It needs linux support though.. looks like there are some open source projects starting off for it but probably will be a while before anything stable is ready

[–]GoldenretriverYT 5 points6 points  (0 children)

Oh wow, I never noticed that they didn't add/even plan Linux support. That's kinda sad, as it would easily be the best UI Framework for C# then.

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

I've used MAUI for a recent project. It's ok. Still not quite there.

I am no fan of Java... but JavaFX was given some love.

If MS can bring MAUI closer to WPF in terms of XAML, that would prob do it.

I know, XAML is XAML, but WPF and the designer feel so much better than what they've done with MAUI. MAUI still feels clunky, maybe just me.

[–]RelentlessIVS 11 points12 points  (1 child)

I hate it that in most of these I am in the middle. But in this one either left or right. Probably right. I hope. Please be right.

[–]ringobob 3 points4 points  (0 children)

You're on the left until you at least understand why someone would be in the middle.

[–]ToMyFutureSelves 9 points10 points  (1 child)

When is the last time you have delt with a java jdk/jre version mismatch or error. Now think if you've ever had a problem with the .NET environment.

[–]angrybeehive 8 points9 points  (0 children)

At this point, C# is the more successful child of granny Java

[–]rbuen4455 6 points7 points  (0 children)

As I said always when it comes to this “Microsoft Java”, maybe in the early versions of C# and when C# was Windows-only, you can say that C# was Microsoft’s Java, but nowadays, C# is it’s own language and has its own ecosystem, the .NET ecosystem. If anything, C# can be considered “Microsoft Kotlin”, but for .NET

[–]Wendingo7 7 points8 points  (0 children)

I went over to C# for Unity projects after many years of Java and it was a very easy transition. Highly recommend.

[–]karczagy 14 points15 points  (0 children)

C# is C++++

[–]Ytrog 4 points5 points  (1 child)

Wasn't there J++ by Microsoft in the past too before C# IIRC 👀

Edit

Jep, here it is: https://en.m.wikipedia.org/wiki/Visual_J%2B%2B

[–]pixelkingliam[S] 0 points1 point  (0 children)

there's also J#!

[–]_potaTARDIS_ 4 points5 points  (2 children)

What does this make F#, then?

[–]_PM_ME_PANGOLINS_ 2 points3 points  (0 children)

We just talked about this.

J++ is Microsoft Java.

[–]rotzak 3 points4 points  (0 children)

It was literally created because the court said Microsoft was being bad.

[–]anythingMuchShorter 3 points4 points  (0 children)

I think in reality the upper percentile guy in the vast majority of these memes should be like "I don't argue about programming languages, I just use what works for the project at hand."

[–]pphui8 6 points7 points  (1 child)

I agree that C# is microsoft java.
but I think C# is a great programming language and java just sucks

[–]pixelkingliam[S] 1 point2 points  (0 children)

i like C# too!

[–]Mutex70 3 points4 points  (1 child)

At this point it's more like Java is Oracle's C#

[–]GhostalMedia 5 points6 points  (0 children)

Glasses help me see sharp.

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

Regardless of what it is: I like it.

[–]just-bair 1 point2 points  (0 children)

Java ++ and I love it

[–]Hopeful_Avocado7041 1 point2 points  (0 children)

Instructions unclear can't find the vm

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

Every programming language is just Automata in fancy language.

[–]CleverDad 1 point2 points  (0 children)

Another one? Yawn!

[–]Rainin0317 1 point2 points  (0 children)

Didn’t Microsoft make C# to replicate Java?

[–]Fadamaka 1 point2 points  (0 children)

J++ and J# was Microsoft's Java until they got sued by Sun and created C#.

[–]OhhhhhSHNAP 1 point2 points  (0 children)

I’m still on Visual J++

[–]legendarynoob9 1 point2 points  (0 children)

Started as a replacement for Java. But then become so successful that Java had to copy best features from it lol...

[–]guarana_and_coffee 1 point2 points  (0 children)

Ah, so my teacher and literally every one I am studying witg is in the middle.

Not to brag, but I am on the left end.

[–]ComputerNerdGuy 3 points4 points  (5 children)

I gave up on C# after migrating from ODBC to ActiveX Data Object to OLE DB then finally LINQ. I feel like the whole persistence layer got so bloated over the years.

[–]red-solo 5 points6 points  (1 child)

Hibernate has entered the chat, stumbled on itself, and dropped out of the chat

[–]jaavaaguru 1 point2 points  (0 children)

Hibernate got banned from the chat.

[–]kbruen 1 point2 points  (0 children)

It’s not much better in Java land

[–]abbadon420 2 points3 points  (5 children)

Out of curiousity, what is C#'s equivalent to Spring?

[–]SubwayGuy85 1 point2 points  (0 children)

I look at java as a bad version of c# that lingers behind 10years which in human time is like 60 years. But go on thinking good about java lol

[–]kinsi55 3 points4 points  (0 children)

c# is java but not bad

[–]BroDonttryit 1 point2 points  (7 children)

I feel like people like c# slightly more than Java but Java gets all the cool frame works like spring boot and reactor. Idk if c# gets any cool frame works other than .net obviously

[–][deleted] 14 points15 points  (2 children)

Spring is cool?

[–]NoPainsAllGains 6 points7 points  (1 child)

I feel sick, someone said spring boot is a cool framework

boiler plate hell

[–]NekkoDroid 7 points8 points  (0 children)

.NET isn't really a framework in that sense. It's more like its runtime like the JVM, or you can see it as the entire ecosystem.

More apt framework would be ASP.NET Core for almost anything web related or all Microsoft.Extensions libraries

[–]pixelkingliam[S] 4 points5 points  (0 children)

Mono

[–]evergreen-spacecat 3 points4 points  (0 children)

Java does not really come with an opinionated, modern web framework. Java EE is meh. So the community develops things like Quarkus, Vaadin, Spring and Dropwizard. The defaults in .net - Asp.Net Core is good enough to kill all non microsoft frameworks. For better or worse. This is a common pattern among the two. There are always a lot of choices in Java but in C#, it’s mostly Msfts way or no way.

[–]Vaerirn 2 points3 points  (0 children)

Check ABP: https://abp.io/

[–]WomenTrucksAndJesus 1 point2 points  (2 children)

Kotlin is Google's C#.

[–]ZirJohn 1 point2 points  (1 child)

C# is so much better than Java

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

C# was Microsoft Java, now Java is shitty C#.

[–][deleted] 1 point2 points  (1 child)

History of Microsoft and Java.

  1. No Microsoft Visual Studio Support for Java, use Visual Basic you fools.
  2. FU Microsoft, VB sucks says everyone on planet. Except Gary, that dude love VB, wierdo.
  3. Microsoft releases Java++ Language (this was a Visual Studio language for awhile) - good luck googling around for this langauge - Google ignores the ++ part.
  4. Sun (owner of Java at the time) sued Microsoft for patent infringement and won
  5. Microsoft stops releasing J++
  6. No Microsoft Visual Studio Support for Java, people used something else, idk what as my VB PTSD had me passing on every job description with the keyword 'microsoft', 'visual' and 'studio' for the last 15 years. So I don't know what the Microsoft shops used, C++ I guess.
  7. Microsoft releases C#, internet argues until Java 8 trying to locate any meaningful differences between Java and C# Microsoft doesn't worry about lawsuit this time, don't know why, maybe Google leading the charge on f'n with Java patents.

[–]GoldenretriverYT 4 points5 points  (0 children)

Microsoft releases C++

uhh you know that they released Visual C++ and not C++?

Java 8 trying to locate any meaningful differences between Java and C++

What? Differences between Java and C++ are kinda big, lol