I like how straight-forward the syntax is. And it also seems orderly to have everything be a class. There’s a system to it.
I’m using C++ for a project now and I like it in a similar way, but there’s more freedom (everything doesn’t HAVE to be a class). So with C++ I’ll never go back to Java (unless it’s for a job).
Serinus@lemmy.world 5 weeks ago
C# is nearly the same, but much, much better.
If I could restrict the world of programming to two languages, it’d be C# and Rust. C# for most things and Rust for a lower level language.
dragonfucker@lemmy.nz 5 weeks ago
Image
dukatos@lemm.ee 5 weeks ago
Kids will never understand this. The same is with the
JScript
.PlusMinus@lemmy.world 5 weeks ago
Nah, C# suffers from a lot of the same shit Java does. Needing everything to be a class is just no longer a good design choice (if it ever was). AOT support is still lacking. I don’t get, why it does not have typdefs. I think the solution / project structure is unnecessary and I could probably think of more stuff I dislike about C#. But imho, it still beats Java.
Golang is my choice over C# any time. I strongly prefer how interfaces are handled and I actually like the error handling.
Serinus@lemmy.world 5 weeks ago
In 2015 they added scripting. If you’re making a real project, you should absolutely use classes. (It’s not that hard. Don’t do the Java shit.) But you can absolutely write one off scripts just fine.
Publishing your app as Native AOT produces an app that’s self-contained and that has been ahead-of-time (AOT) compiled to native code. Source.
PlusMinus@lemmy.world 5 weeks ago
I think you misunderstood my post. I am quite proficient with C#. I just think other languages do it better.
AOT is not where it should be yet, because not all libraries have full stripping support.
pivot_root@lemmy.world 5 weeks ago
It’s better than Java, but they still chose to walk headfirst into the same trap that bites Java developers in the ass: placing the implementations under the concrete type instead of the interface.
When you have two interfaces that each require you to implement a function with the same name but a different signature, you’re in for a bad time featuring an abomination of wrapper types.
Willem@kutsuya.dev 5 weeks ago
On that last note, can’t you use the explicit interface implementation in C#?
e.g.
TunaCowboy@lemmy.world 5 weeks ago
Pure oopium. All oop ‘design patterns’ exist solely to overcome the inherent flaws of oop.
fadingembers@lemmy.blahaj.zone 5 weeks ago
Is there anything I can read about how we’re moving away from everything being a class?
PlusMinus@lemmy.world 5 weeks ago
No sorry, but try literally any other language ;-)
alsimoneau@lemmy.ca 5 weeks ago
I’ll take Python and Fortran, thank you very much
Amir@lemmy.ml 5 weeks ago
Python should be burning in hell
alsimoneau@lemmy.ca 5 weeks ago
Nah, that’s Java and JavaScript.
spongebue@lemmy.world 5 weeks ago
I only had one job that used C#, and it was the worst job I ever had. Even with the worst possible way to be introduced to the language, I still love it.
Kalladblog@lemmy.world 4 weeks ago
Isn’t Visual Studio Code just a fancy editor and not an IDE?