C#

Can we all agree that C# its the best programming language ever created?

Attached: C-Logging-1024x512-793x397.jpg (793x397, 65K)

Other urls found in this thread:

codeblog.jonskeet.uk/2014/07/16/micro-optimization-the-surprising-inefficiency-of-readonly-fields/
pdfs.semanticscholar.org/b57a/af581e043fb63c56ebd662720190e3121220.pdf
twitter.com/SFWRedditImages

>took them until version 7.2 to reinvent const value refs
Nah.

Agreed

but they did it.

>knock off artists Microsoft knock off Java
>great

you need to deeply think about your life and whether it’s worth continuing

Java is da best

Attached: 1508439084817.jpg (171x176, 10K)

C# has a faulty garbage collector, it hasn't collected itself yet.

C# is pretty much the only language where making a variable constant will make your program slower.

Right, but have you even seen Elixir, Go, Rust, Swift, Kotlin, Ruby? Literally all better. Quit being a scrub before I tell mom.

>making a variable constant
>a variable constant
the absolute state of Jow Forums

>Literally all better
for a NEET maybe.

For jobs java makes you way more hireable than C#.
>microshill BTFO

Attached: 1517452147559.jpg (1291x3600, 610K)

>you make A non-A
What's the problem?

"War makes a child an adult"

His wording is fine. In most languages constants are decorated "variables". People call identifiers representing data in programs "variables".

>In most languages constants are decorated "variables"

this is only technically true in scripted languages Rashid.

I know C, Python, C++ to a decent level. I want to learn either Java or C#, which do you recommend?

dude btfo take a basic CS course, an identifier is an element of a variable not the variable.

C# has a lot of java and c++ features.

It's a regurgitated form of java. Microsoft's digestive juices somehow cleaned off some of the cruft, but it's still objectively worse than C. Bonus: you're forever bound to MS's shitty ecosystem.

>but look at all the jobs!
Just because there are lots of them, doesn't mean they're not shit. Why not learn a language you actually like and get a job you actually like? Or even better, don't get a shitty coding job and enjoy your life.

>but it's still objectively worse than C
comparing c against an multiparadign high level languaje and you say you are talking objectively, sure man.

You can make a out of two +'s, but that's no excuse for spelling C++ wrong.

But that's my point. Even C is better for building anything useful. C# and Java are only effective for building corporate bloatware monstrosities that are essentially designed to consume money and manhours.

Depends on region/country. Where i live there are 5 C# jobs for each java job.

I'll agree that C# was a substantial step forward, at least without also going too far back in the same step. But there has been progress since.

>But that's my point. Even C is better for building anything useful.

lol you don't even know what you talking about, C is not even good for firmware these days when you deal with RTOs and DSP systems C++ is much more productive and secure by far.
Doing thinks like
MyStructure * MyStructure_Build(args) ;
MyStructure_alterMemer(instance, element);

if you can't see how encapsulation makes code more readable and maintainable you have wrote nothing in C .

>Even C is better for building anything useful.
try to implement complex matrix operations in C and you will understand why objects and operator overloading is useful.

>come on Jow Forums after a half year break
>see my image reposted
thanks, I feel slightly better now about having wasted an hour making this

>OO
Even functional memeing is better

second best, the best one being F#

>Even functional memeing is better
oh so you like to use hammers as screwdrivers.

>decompiles your program

Attached: net-reflector.png (553x184, 16K)

I quickly checked how it's changed:
>Facebook
more C# postings, but still 3.5x less than for Java
>Amazon
a bit more Java in proportion to C#
>Disney
less Java, but still 6x more than C#
>Mc Donald's
previously no postings at all, now 3:1 for Java
>Intel
more Java, C# stale

the rest is pretty much the same (proportionally speaking)

>implementing matrix operations
Have you heard of LAPACK my dude? Anyway I get that C++ and C# have various advantages. You're missing my point though, which is that C# is still worse despite those advantages because it's a big pile of trash.

>LAPACK
btfo try to translate a long math expression in that shit without operator overloading, eigen on c++ is by far better with the same performance.

>eigen
>the same performance.
ahahahahahahaha

Attached: 4d9.png (382x491, 124K)

>ahahahahahahaha
>/fb/

Coco

Hola a todos, este es un post intentando hacer que mi sniffer lo detecte. (Ignorar).

Chinga tu putisima perra infeliz prostituta madre maldito spic de mierda.

banking is pretty brutal for C#!

Attached: ss-2018-05-01-05-09-41.png (767x747, 121K)

The thing is, banking dev work is fucking awful. You're lead on a two year death march by a team of "managers" who can't even manage their own laundry, and at the end of the soul crushing journey of BeanFactoryFacyory and java.lang.OutOfMemory you're left with a project barely half done, 500 man-years of technical debt, a mass layoff, and a strong urge to kys.

What is java's Linq equivalent?

c# is literally just java but nicer and that's all it ever wanted to be or needed to be

Attached: india!!!.jpg (240x160, 8K)

How to roast C# in one word....

Optimalization.

t. NEET

java.util.stream

Scala

>Java plus bloat7no

Except without the portability of Java or the speed/manual garbage of c++. So it's useless

All running shitty legacy systems. Good luck with that.

It's missing a lot of the verbosity and implicit conversion issues of C++.

Seriously a huge complaint when you work with a codebase larger than some shitty Git repo.

The difference in level of portability offered by Java in enterprise-land is pretty negligible, and that's really all that matters. It's why C# has been growing rapidly into the space, although it's a language not one without it's own problems (that luckily are well known and being addressed).

Then again there's Kotlin which is like Java but actually good and relevant in this decade.

codeblog.jonskeet.uk/2014/07/16/micro-optimization-the-surprising-inefficiency-of-readonly-fields/
Basically, C# has no concept of const member functions. If you have a readonly struct field and call any function in it, C# will always generate a copy to prevent the original from being changed. This overhead does not happen with mutable struct fields.

Lol fuck off, actual NEET

Not in my country.
C# is a dead language.

Attached: 1522313080301.png (1780x600, 129K)

It's good, but I think F# is better

We just need to compile C# to JVM for the ultimate BTFO. Then the only argument of JVM being more mature will be thrown into the composter.

Structs should always be readonly, nothing but problems will arise from having structs with mutable members. Just keep it under 16 bytes and pass it by reference if you're writing performance critical code.

>Micro-optimizations
>Jon Skeet
Recipe for disaster. This is a problem with abusing structs in a way that's specifically not recommended. You're supposed to keep structs to less than a word in length and have them represent a single logical value. Shoehorning a mountain of indirection in one is just being an ass.

>knock off java
>MS decides to spend a couple bucks on the language
>it's 10 times more advanced than Java because Oracle spends no money at all on it

>America, ie legacy software the fucking country
>banking, one of the oldest software industry is running Java
Color me fucking surprised.

>Passing small structs by reference is faster
Christ, no wonder Csharts are laughed at

>jvm
oblig
>pdfs.semanticscholar.org/b57a/af581e043fb63c56ebd662720190e3121220.pdf

>Laughing at someone because you don't understand what's even being discussed.
You keep C# structs small because they're copied all over the god damned place if you fuck up even a little with handling them, and you're guaranteed to have to pass by value at some point for some reason. If it's bigger than a word in size then you can pretty quickly destroy any performance benefits of using them in the first place.

C# structs are not used the same as C structs.

>Knock off Java
>Java 8, 9 and 10 did not add a single feature that wasn't already in C#

Really gets the noodle soup cooking

This is a good thing, unless you think C++ is better than C

How is a lang progressing slowly a good thing?
And even worse it is supposed to be a 'modern' language.

He probably thinks the struct gets boxed or something like that.
ref just loads the address of the struct to a register (say ecx) and the function that takes the ref is called instead of copying the entire struct.

?? I'm saying all Java is doing is copying C#'s features but worse... Look at how lambdas work in Java compared to C# or compare Java Streams to LINQ.

Yeah, and if the struct is roughly as large as a word it's going to be cheaper to keep that struct in a register than to pass a pointer and dereference it later.

Yeah, and Java does it better.
Java has better backward compatibility and better synergy with existing features because it waits to see how C# fucks it up.

Lol the c# compiler supports ALL C# versions and breaking changes haven't happened since 2005.
Enjoy your snake oil backward compatibility pleb although it may be not because you still have legacy code!

Name some incompatibilities LINQ or C# lambdas introduced

Sure but for larger objects a struct is more performant than a class for things like math especially in images and matrix stuff. I usually avoid passing structs to functions but I have found mutable structs to be of use in extreme cases.

>Java
>Better backwards compatibility
>Better "synergy"
I was waiting for the punchline but it never came. You don't seriously believe this, do you? Large Java based applications typically come with requirements that you use specific jre versions because security fixes often break code. Java's "synergy" is so bad that some JetBrains guys got fed up and made Kotlin to get away from all the crap that's built up in the language design.

Attached: 56492658.jpg (377x264, 23K)

Yeah even IDE embed their own jdk like eclipse and Android Studio

Java streams are a fucking trainwreck, what planet are you on?

Programming in C# is a million LINQ one-liners per file.

Attached: frustration.jpg (347x233, 45K)

>Java security
>High
>Very High
>still insecure

Attached: java_security.jpg (415x440, 51K)

kotlin

Reminder that linq is basically just a bunch of pure functional transformations chained together and if you can understand SQL you can understand linq. If you can't understand either then you're simply a brainlet.

>java with properties and no checked exception
I would have taken scala for an answer.

>Alright, we need to update this 'cobol' thing, apparently. Anyone know what that means?
Yeah that sounds reasonable.
C-suite doesnt trust anyone that isnt C-level or close relative. They got some shmuck in telling them they needed to run Java and the rest copied them because "Industry leading technology", "Database paradigm shift", "Outside-the-box programming", "Streamlined code" and shit like that sells shitty ideas like hot chocolate to a pack of eskimoes.
Tell your boss that you need to reach out to increase the diversification efficiency on your streamlined organic growtth to make your server more robust and you'll get a raise by noon.

>implying properties are good
>implying the complete absence of checked exceptions is good

You don't have to project your insecurities about missing features. I just mentioned what kotlin is and how scala is a more appropriate alternative to LINQ.
>yfw you need a different jvm lang to implement a feature well

If I'm using the JVM, I'm able to use kotlin or scala. I don't like them because they are shitlangs, not because I can't use them.

What are you talking about, autismo?

>Bonus: you're forever bound to MS's shitty ecosystem.
dotnetcore would like a word with you, kiddo

>The feature of the CLR that gives it an advantage over the JVM is its ability to handle other language paradigms than just modern object-oriented style. This is what distinguishes the CLR from the VM. There is no need to employ ugly workarounds to support alternative language styles. Instead, such support is present natively in the CLR instruction set.
GraalVM with Truffle shits on CLR with regards to this.

Stability. Meme hipster languages can help test which new things are really worth doing in the long term. Serious developers don't care about muh shiny new features and muh new clever syntax sugar.

stay mad with your dead language used only by underage "mom I'm gonna make a MMORPG in unity" gamedevs

> (OP)
>>decompiles your program
i thought you guys liked open source?

Yeah, easily, considering the last two major versions. Years ago I would have called you a shill, but it's genuinely fantastic for just about anything now.

>Java Streams better than LINQ
This is what happens when you only expose yourself to a single language and refuse to believe better options exist.

It is a moot argument though. Any intermediate lang can be decompiled back to its origin.
That being said, IL can be obfuscated fairly easily with optimizations and preprocessor directives to inject IL later on.

>GraalVM
nice meme. Here are your 'new' features:
>added interpreters
>support AoT (as if this is new)
Javalets have no idea what interoperability is like. First JNI and now interoperability through FUCKING STRINGS. KEK

>it's still objectively worse than C
>C is better for building anything useful

I don't understand how you got this opinion. You'd have to have only ever attempted trivial or small low-level things to believe this.

Properties are a nice-to-have. Checked exceptions are really annoying and rarely useful. There's a reason why Java stands basically alone supporting them, and it isn't that Java is superior.

Your code should be structured such that issues are handled asap, and all code which relies on fundamentally error prone operations like disk or network access should expect any given operation to fail. Code that runs without a clear chain up, like threaded operations, should provide a message passing API to communicate status to the parent if desired. These things are basic defensive practices you should be doing anyway, and they eliminate the need for checked exceptions.

Emphatically, Yes.

Please explain Graal string interop. I've had a weird feeling about Graal since I heard about it, but haven't seriously investigated how it really works. The puff articles I read on release were basically just "it's magic, don't worry about it".

>implying features causes instability
Nice analogy to explain how retarded the lang designers are.
C# designers have got it right since the first time and as new features appear, they implement new features making use of them.
Your serious developers are so incompetent they only figured out how to implement var after only more than 2 decades.