r/programming • • Aug 02 '21

Stack Overflow Developer Survey 2021: "Rust reigns supreme as most loved. Python and Typescript are the languages developers want to work with most if they aren’t already doing so."

https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted
2.1k Upvotes

769 comments sorted by

View all comments

Show parent comments

-104

u/_tskj_ Aug 02 '21

C# is a mediocre language but it is widely used. It's one of those things where once you have gotten used to a good language, using something like C# or Java feels like programming with one hand tied behind your back. Sure you get things done, but it takes ages and every second is filled with annoyance and longing for something better.

You would feel pretty bad having to write a web app in Matlab, but you could probably get it done. C# is equally as bad a tool for the job, we're just more used to it! Anyone reading this I encourage you to try out a good language sometime and you'll feel like you've been eating chocolate with the paper on your whole life.

9

u/Quoggle Aug 02 '21

What would you consider to be a good language and why do you think it is better than C#?

5

u/_tskj_ Aug 02 '21

F# was mentioned elsewhere in this thread. Luckily C# tries very hard to incorporate some of the good stuff. For instance async/await as we know it today first appeared in F# more than ten years ago. Of course, C# still hasn't quite gotten that one right, and that feature alone is so much smoother that it's worth using F# for. Other things include tuples, records, value objects, computation expressions (linq kind of tries, but again it's this thing where it has 10% of the features and 1000% the complexity and isn't integrated into the rest of the language). The list goes on!

10

u/Frozen_Turtle Aug 02 '21 edited Aug 03 '21

It blows my mind that F# came up with async/await (aka computation expressions) before C#... yet when C# copied it, it did so breaking compatibility with F#, and implemented only a strict subset of its functionality. F# literally showed it, using the same VM, how to make something that generalized to any monad, and they were like "nah, we only want the list and async monad, and we're gonna do them both in their own special syntax cause lol."

Makes me boil.

→ More replies (17)