Microsoft Java

Posted Sep 17, 2022, 3:19 PM UTC

Posted Sep 17, 2022, 3:19 PM UTC
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.
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.
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.
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.
Like the very specific industry of Android apps
Java was a zombie when Android rescued it. Then Kotlin came around and now Java is strongly marching towards its deserved obscurity.
VB6 is what got me into programming, damn I miss that language.
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.
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.
Yes, Java has this.
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
If only they could do the same with every product they have. Looking at you AADB2C...
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.
Microsoft having examples for every error code makes me happy inside
Microsoft has always been awesome at documentation. QBASIC help file was great (and that language was free with an OS!)
[deleted]
Additionally, a simple console app doesnt have 50mb RAM overhead in C#
Built in namespaces are not a paragraph. Visual Studio is the best IDE hands down.
Then you haven't tried Rider
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.
Keep in mind VS Code. I think it's much better if you're not developing in the C languages
You must have not used any other IDE yet
Fuck visual studio, notepad++ ftw
Visual Studio sucks, is terribly unintuitive, and has dumb defaults (like the "project failed to build, do you want to run the old version" dialog, and that's just tip-of-the-iceberg first-day-coding issues). Give Rider a try, it's much nicer to work with.
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?
You need JVM installed for Java as well
And no, .NET isn't pre installed on Windows either
[deleted]
The year is 3005. Humanity lives in a post-scarcity world. Atmospheric pollution has been cleaned up. Mars is getting it's 7th major colony. Java still lacks a null coalescing operator.
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?
Because time spent and time well spent are two different things.
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.
”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.
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
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.
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.
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.
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.
What do you mean? Java gets regular updates and security patches.
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.
Java has improved a fuckton in the last 5 years. Unfortunately most corporations stick with Java8 which is indeed horrible.
Yeah, but C# has some hacks in it like covariant return type which finally got fixed like last year. Java had it with v5.
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
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.
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
Since when? javac is lightning fast compared to C++, Rust, etc.
Not a java advocate, just a realist
[deleted]
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
Look at Java 17 sometime
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"
this post's comments are a warzone between people who have never used C# and people who have never updated past Java 6
I mean my impression of this sub is that a lot of the people here haven’t even got any industry experience.
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
You've just described reddit in general
Good luck updating past Java 8 if you're doing it in industry.
Hey! I've studied software engineering for several weeks
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 🤷🏻♂️
🤣
yeah it's hilarious
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.
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.
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.
The typical Java shop has considered maybe potentially updating to java 8.
Hey, I'm in both categories!... Please help. The malware it's... My computer is growing legs, and my 1080 is hotter than the surface of the sun. I think the hackers just used my PC to botnet my state gov
And the people ignorant about Visual J++, J# and their relationship to C#.
what's with the sudden influx of C# java memes?
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.
you're describing a process that happens with the entire internet.
No just the internet. He's describing "trends" which have existed since humans have.
This is how the word meme came about.
No, r/AnarchyChess is surprisingly immune to this. They've been repeating the same en passant joke forever.
Holy hell
Correct.
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
My professor just mentioned how C# is basically Microsoft Java a few days ago in lecture. Idk if it’s related
Fundamentally, it is. However Microsoft does an excellent job of improving the framework with new features and optimizations. Linq and Generics are two examples.
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.
I just finished that series lol. I'm proud to actually get the reference
I'm on my fourth read through right now. It's my comfort/bedtime series.
People got bored of bashing Python
hurr durr return true false even odd
=== true
Start of the schoolyear.
Honestly this is probably the most likely answer imo. C# was the first language we learned in school for some reason. We’re on Java now and I feel like the school just wasted a class with c#
This sub basically takes one joke and repackages it using different memes until it gets old. Then it moves on to the next joke.
It’s not just this sub tho
idk i made this based off of this post https://www.reddit.com/r/ProgrammerHumor/comments/xgk9zl/comment/iosvqgh/?context=3
This makes me sad...
im sorry
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
The real humor is always in the comments
there’s more boxing going on in a Java hello world than in an Amazon fulfillment center
ROFL
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.
Yeah fuck that
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#.
Your standards for real genetics are lower than mine
The weirdest flex I will ever read, I wish I had an award to give
You may not have an award for me, but I have one for you bro
genetics
ಠ_ಠ
That's not true. C# doesn't use type erasure at all. The information about types is still stored and available during runtime even for reference types.
No, C# absolutely uses type erasure and monomorphization. It also passes a reference to the concrete class object to get around some of the resulting limitations (mainly making runtime reflection possible).
No, it doesn't. Even Anders Hejlsberg himself said that. And another proof.
[deleted]
Kinda doesn’t
[deleted]
Literally comes preinstalled on Ubuntu, and I other distributions it’s basically the same as installing any other program
[deleted]
Java is oracle C#
[deleted]
They forked it.
I love it when you talk dirty
I'm gonna open your source
That's not true. Although the origins were very similar in design. Sun was not sharing with Microsoft. You might be thinking about J#.
https://en.m.wikipedia.org/wiki/C_Sharp_(programming_language)#History
It was a joke. I know it wasn't an actual fork. I was responding to somebody that said they cloned it. Check the sub this is programmer humor. it seems like this one went over your head.
It was a clean room reverse engineered.
[deleted]
removing all the security
Just had horrible flashbacks of all the Java vulnerabilities from the 90s and 2000s, and this guy is claiming Java was more secure?
I'm guessing that he's referring to how C# has an unsafe mode where you can access raw pointers and such. It's mostly used for C/C++ compatibility.
And it comes in handy for performance sometimes.
I also think the implementation with unsafe is quite good. It’s an explicit block in the code, and needs to be enabled in the csproj file. So it’s very obvious when it’s done.
It's still got crazy vulnerabilities. Log4j wasn't very long ago lol
Log4j is a third party library..
It still uses a Java specific feature that allows for vulnerabilities, which is allowing unauthenticated code execution downloaded from the internet. Only JavaScript can get away with that because it is aggressively sandboxed.
Oh ok, nvm then
The ECDSA flaw was the biggest recent vulnerability.
Yeah, that one was one to be a bit ashamed of. Luckily, the fact that it only affected very new JDK versions meant there wasn't that much noise
That security Java offered within a program looked cool but did it ever actually work?
depends on your definition of work.
who breaks a window when the door's wide open ?
C# has this on .Net Framework and called CAS but was removed on dotnet core.
There have been vulnerabilities allowing the bypass of the security manager, but they were (and they are still being) patched. Still, maintaining the security manager is a drag, and it is going away in newer versions, already marked as deprecated and will be removed in a future release.
Log4j has entered the chat
Can confirm, C# is microsoft Java. But nicer in almost every way. Save for cross platform GUI
if you want to make desktop apps that are cross platform for PC avaloniaUI is great
Ooooor, use IMGUI with OpenTK in C#
Ooooor use MAUI in the future when its fully stable.
Edit: Seems its already out of pre-release!
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
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.
cross platform for PC
So not entirely cross platform then? I've got 3 Macs, a Sun workstation and an HP (PA-RISC) workstation here.
nah it's not entirely cross platform
MAUI, Silk.NET, Avalonia, UnoPlatform, the list goes on...
C# doesn't have Kotlin... Java does, and it's amazing.
Though maybe C# have some sort of equivalent?
C# is awesome enough that it is both Java and Kotlin but for the CLR.
But... J# is Microsofts java!
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.
Was!
J# is Microsofts java?
It's discontinued. And also I like J++ more!
J# stands for jeez sharp, I guess
im in the 55 iq on this one
I'm 55 IQ on many other things
It kind of started out as Microsoft Java, but even the initial similarity was pretty superficial.
c# is programming
This is a comment
This is a reply
This is a thread
//no this is
C# is C++++
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.
You're on the left until you at least understand why someone would be in the middle.
At this point, C# is the more successful child of granny Java
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.
Yesterday, vs can't remember the last time I had to use it.
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
Glasses help me see sharp.
What does this make F#, then?
Microsoft Scala?
F# is significantly older than Scala, though.
I went over to C# for Unity projects after many years of Java and it was a very easy transition. Highly recommend.
c# is java but not bad
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.
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.
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#.
Also, with the introduction of LINQ with .NET 3.0 most dataset operations became idiomatic in C#.
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.
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.
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.
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.
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 😂
No, many languages have the same type of syntax and you don't hear those claims about those, only C#. Why?
C# is Microsoft Java because back then MS was trying to pull their signature douchebag EEE move on Java and IIRC Sun sued for anti trust or something like that and the whole thing died really quick. Being unable to "steal" Java, Microsoft then chose to make their own.... with blackjack and hookers.
I actually really hate structs. It would be far more flexible to have stackalloc vs heapalloc on the new statement, why should the data structure dictate how it's managed in memory? Often leads to parallel classes and structs, just to deal with this arbitrary restriction
They didn't really even break compatibility. You can still run older versions you just have to install older .net frameworks.
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.
.NET 1.0 Arrived in 2000, give or take a few months. While java was invented in 1996, it didn't move into computer systems very effectively until around 1999. J++ in .NET was licensed Java. After the lawsuit, they released C# around 2001.I'm working entirely from memory here so dates are approximate.
Microsoft stole the language, then took what they learned and created their clone to get around the legally binding contract. Once they had 100% control, they created features by top down executive decision while Java added features by committee. Obviously, single owner control is much more agile.
Microsoft was not a good guy here. Around 2008, an insurgency in Microsoft convinced leadership to give a more open and collaborative approach a chance. That is when C# started to improve and eventually shine, becoming what it is today.
You're glorifying a bit too much there. I learned Java first as well but just in 2017. When coming to C#, I still thought it's just a Microsoft flavour Java. Of course the frameworks have slightly different approaches and images of themselves but apart from whether you preach the LINQ and com.microsoft.* DLLs or Spring libraries, it's really just the same. Well you can't run a UI in .NET anywhere except on Windows but according to Microsoft there are no other platforms with UIs anyways.
Ignoring the existence of every web UI framwork, Avalon, and xamarin, even though they have been around for years. GJ dude
That's a great way to say you never used C# without saying you never used C#.
(Namespaces based on domain names aren't used in C#, and Spring is a terrible Java framework.)
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.
I'm a bit unfamiliar with this, what failings did C# improve upon that Java has/had?
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.
They improved it by making it theirs alone. /s
It was a power and control play.
I disagree. Back in the day, they copied Java and learned nothing from its mistakes. What sets C# apart from Java is what happened in the last 10 years.
U can disagree as much as you want but generics in C# literally broke compatibility and the CLR had to be bumped to V2, and that’s just a fact.
Your response does not address the point of his post, which is exactly right. Generics came much later.
That's just not true. C# from the start had value types, delegates, pointers, properties, generics came a moment later, and many more.
And they kept the C-style switch statement, kept null, default, didn't force initialization of class fields, didn't make classes sealed by default, ...
Value types are good on paper, but their ergonomics are questionable. I didn't even know Java didn't have delegates.
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
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.
C# is the same
Fortunately it’s a bit more manageable to keep up with after Core 3.1.
Yeah. Don't get me wrong, I love .NET Core, but the last few years have been pretty rough to stay current with.
But, it's backwards compatible 😃. You can run in parallel as you upgrade 😋
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
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.Desktopequivalents 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.
19 is around the corner
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.
You should try kotlin, fully compatible with Java, but nicer
Scala is even better
J++
This guy knows the real Microsoft Java.
Then J#
That abomination
"the MSJVM"
Brings out laughing and crying emotions simultaneously
Well actually J++ and J# was a thing and was developed by Microsoft until Sun started suing them. They created C# after that.
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.
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).
Yes, all true. They came after the lawsuit and Microsoft "invented" C#.
Early .NET is my memory of it as well, is was a mess compared to Java at the time. Then companies started adopting it, and I was forced to "like" it. I studied Java in compiler design at university, and decided to look into C# to the same extent. I even wrote a COBOL compiler that produces CIL/MSIL byte code while familiarising myself with how that works. One of my favourite personal projects.
I write Python code these days.
Ms trying to pull another embrace extend extinguish
Same here and full acknowledge. There were times when C# was ahead of Java, especially when C# had LINQ and Java nothing comparable ..
There were times which means the past 10 years
Now I just need someone with experience in Java, C# and Kotlin to tell me which one is truly better.
I learnt C# during a computer course, I started learning Java at my uni last week and except the syntax, what actually is the difference??
Java++ is absolutely the way that C# functions
C# is named that because it’s C++ ++, just stack the pluses and get the octothorpe
Microsoft started selling their own Java, then Sun sued claiming since it was incompatible with Sun's Java, Microsoft can't call it Java. So Microsoft renamed it to J++, everybody just ignored it, as they should.
A few years later, MS hired a new language development team, and decided to turn J++ and VB into robust languages that MS could use themselves. This created what we currently know as .Net (the name was used for other stuff before).
What makes you think C# is better than Java? Haven't really touched C# except for a small project in uni.
All I can think of off the top of my head that C# does better than Java is that it offers operator overloading and that their implementation of generics doesn't suffer from type erasure.
EDIT: Why the fuck is this question controversial?
Asp.net Core, records, async await just to name a small portion
Java finally got records, kinda-sorta, in a recent version. Took 'em long enough.
As for async, Oracle is trying to go with fibers instead. They're calling it “Project Loom”. It'll be interesting to see if it goes anywhere. I gather many previous attempts at implementing fibers in other languages have ended in failure, but maybe Oracle's people will succeed where others failed.
The problem is async await is already a common pattern. E.g JS/TS got it as well even holy Rust has it. Functionality is basically identical. Either a language has it or devs need to look up und write something on stakeoverflow like „how to async await in …“. In Germany we say „Der Zug ist abgefahren“
Linq is major tool widely used in C# that wasn't in Java when I had to use it in school.
Using C# professionally now and I love it. It's similar but I feel far more productive in it than I ever did in Java.
LINQ fucking rules. Excellent library.
LINQ is the GOAT, especially when used with EF Core (also an improvement over the old Entity Framework).
A properly set up Domain project with all your entities, AutoMapper, and a DTO Contract layer to format the Data in the way you need makes a dev's life so good.
Seconded about Linq. I LOVE Linq and it makes programming WAY more productive. Especially Linq-to-SQL classes.
Java's version of LINQ is Streams and it's been part of Java since Java 8 (2014).
The language itself doesn't offer anything amazing compared to Java. It's the .Net framework that makes it sing.
Really? I think there’s a bunch of things that are great: native tuples, null coalescing operator, default parameters, named parameters, out and ref parameters, the
isoperator to check for type, extension methods, expression-body members, properties, anonymous classes, etcI fucking love the null coalescing operator! I just assumed Java would have that as well. It's been a minute since I worked with Java, and I never did anything all that complex with it so I just assumed it had basically all the shit C# had.
That's actually Java feature.
i’m a little bit of a multiple inheritance fan
cuz you belong to left side of the curve
r/redditmoment and people being confused by the tone.