As a dev who works on both Java and C# code, modern Java (17+) and C# feel almost exactly the same (not sure if Java has extension methods though).
Bonus points for using Kotlin instead tho. I dislike both Java and C# just because they both allow any object to be null and that’s usually a headache whenever a null exception shows up.
The only thing I like better about C# is the Fixture library for testing. I haven’t found any mature libraries like it for Java yet.
they both allow any object to be null and that’s usually a headache whenever a null exception shows up.
C# has nullable reference types now: https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references. If you enable it, you have to explicitly make reference types nullable (like ?string) and you’ll get build warnings if you try to use a variable that’s potentially null.
Is there a D?
Yes, but I’m not sure if we want to open the “programming language can of worms”.
There’s B, C, C++, C#, Objective-C, D, E, F, F#, F* and so many more. Also, they may or may not have anything to do with each other
But of course Java and Javascript are related /s
The number of job applications using Java as a shorthand for Javascript…
I once had a C# dev tell me they couldn’t run JavaScript because they didn’t have Java installed.
Also I’ve read that C# is C++++ (like put those + on 2x2 table, which in turns ressemble a #)
Hahaha I’ve never heard that before. Seems legit.
C# was originally “Java: The Good Parts” but but these days it’s a much more advanced language and runtime compared to Java.
As a dev who works on both Java and C# code, modern Java (17+) and C# feel almost exactly the same (not sure if Java has extension methods though).
Bonus points for using Kotlin instead tho. I dislike both Java and C# just because they both allow any object to be null and that’s usually a headache whenever a null exception shows up.
The only thing I like better about C# is the Fixture library for testing. I haven’t found any mature libraries like it for Java yet.
C# has nullable reference types now: https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references. If you enable it, you have to explicitly make reference types nullable (like
?string
) and you’ll get build warnings if you try to use a variable that’s potentially null.Of course. Great, another D in programming.
Removed by mod