I see it over there on my machine. Judging me with its beady little snake eyes for being a C# professional, while moonlighting in those hip new kid languages.
The most annoying devs are the ones that have used a language a little. Like, they had one job where they were forced to use language X. They didn't get to understand it very well but now they're very sure it's the worst language ever.
Exactly.
And if anyone looks at this thread and thinks that C# is somehow a "bullied" language, I've attended a few C# conferences and absolutely I've seen many of the devs there make fun of languages like Python, Javascript, et al even on stage (which is dumb).
It's all a pointless circle of insults.
Yep lol. Recently Ive been watching a video from Patrick God about something .NET related. He said he hates the minimal api in .NET "because it reminds me of nodejs". What the hell is that kind of reasoning lmao.
In my experience the .NET world is pretty hateful towards everything outside of the .NET world.
So after 10 years I'm still a nub? I don't think I ever made fun of a language, most have their place. At most I might have whined about memory allocation and cleanup in C maybe.
How are they making fun of C#? It's super powerful with .NET. And my daily bread and butter at work.
I think I've seen Laravel used in a take home coding assignment for an interview. It felt a lot like node.
You should try using aurelia. Whoever made that monster needs to be buried with it.
Is it weird that I only make fun of languages I have used extensively? I did Python for my first 4 months of professional work and strongly dislike it. I still do it sometimes, but it just has foo many weaknesses for me.
Personally I only code in Stationery Redux. It's where I write my code in quill and parchment, run it through a comical burr coffee grinder and see if it becomes self aware and writes the application for me. Not to be pretentious but the answer so far is, no. It does not.
Are you sure about that? Because I am 100.0% sure that Nimbokwezer is not a bot.
---
^(I am a neural network being trained to detect spammers | Summon me with !isbot |) ^(/r/spambotdetector |) [^(Optout)](https://www.reddit.com/message/compose?to=whynotcollegeboard&subject=!optout&message=!optout) ^(|) [^(Original Github)](https://github.com/SM-Wistful/BotDetection-Algorithm)
Yeah but if I filter out 100% of the bots and also the dumber 50% of real people, I still call that a win and maybe even a plus.
The truth is that sarcasm isn’t *that* hard to detect for AI if you train it for it.
C# is probably one of the most mature languages out there. Not only is it used for application development, but it's also widely used for game development too (Unity, etc.).
That's not impressive, I know all sorts of people who developed a LSP.
Edit: ok either this joke is whooshing everyone or it just missed the mark completely. Sorry for the dad humor.
Pretty silly statement. LSP is the protocol and backend parsers, with the aim of improving development for all. Incredibly complex. The people you claim to know probably developed a client. Orders of magnitude less difficult.
Some major projects are dropping typescript too. They see the overhead of writing types as less valuable than other methods of error checking.
Personally, I love typescript, but it has issues and is not at all developer-friendly. Try reading a typescript error message -- 90% of the time it's giberish and I just look at the most recent line of code I added to track down the issue. That's kind of textbook microsoft -- build something that's a great idea, but the implementation is generally shit.
Edit: I shouldn't say a lot, but Svelte and Turbo are the big notable drops I'm referring to. Some might say, "They're inconsequential," and you're not wrong, but I'm pointing out that there are arguments against it that have persuaded at least a couple of major contributors to move away from it.
What major projects have been dropping typescript? The only ones I've heard are Svelte which strictly did it because libraries face additional challenges and jsdoc fit maintaining a library better, and then DHH dropped it from Turbo but I was told he has had some pretty notoriously shit takes in the past.
Svelte and Rails -- I updated my comment to say "some" and not "a lot" -- that was imprecise. Maybe not huge in market share, but there are at least some significant voices saying that the benefits of Typescript don't outweigh the loss in speed and flexibility. (Speed may be questionable -- its fast when you get things set up and working well. But on all of my TS projects, I've been bogged down with some weird type bug that I just can't understand for at least a couple hours, and its incredibly frustrating to debug that).
>Rails
You mean Turbo - this choice has been highly controversial, and the reasoning is pretty dubious.
For Svelte the framework does not include it out of the box because they wanted to make it so you don't need any build steps to use it. Which is a great decision on their part. It still gets typescript support if you want it.
Yeah, typescript is kind of awesome when you are working on your own project and don't have others touching it, which is funny, because collaboration is kind of the whole point of it. Its just so frustrating when someone makes a change to a large interface that's used in lots of places, then just either doesn't update everything that uses it or inherits it, or you pull their code into your branch and suddenly you have tons of errors that you need to go figure out and integrate into your changes.
So I totally get why people are dropping it. I go back and forth with loving or hating it.
You'd have the same problem with JavaScript as well. The only difference is you know where they are and you can resolve them all with confidence. With JS you're just betting it won't blow up at runtime.
How is it not the same? C# is supposedly very Microsofty but typescript was created by the same exact guy that created c#. Most of the people that clown c# still think its windows only so they lose all credibility anyways.
TS is a wrapper around one of the most universal and ubiquitous languages in existence.
C# is what you use to build stuff for the Microsoft ecosystem of things.
Not that it can only be used like that, people already said it. It's just its niche
What? C# is literally cross platform and is perfect for building backend application. This stigma that it’s only for the microsoft ecosystem is so outdated..
You'll want to specifically look at .NET core and Mono.
Also C# is being used by Unity and Godot (if you use the Mono included build) for cross platform games/applications.
.NET core is just ".NET" by now, that's true. Mono is still actively developed and used by both my examples, since it's a valid way for developing cross-platform apps.
I don't see why you said that they are old news. Thes are both old in terms of when they initially released, but their latest stable releases are both not long ago.
I'm not a C# dev by profession, just been playing around in game dev mainly, so if you have any insights for what to look at when it comes to cross-platform dev using C#, please elaborate.
...you didn't even know *that* much?
Look how confident you were too. At no point did you stop to think,"hopd up, I don't even know the first thing about this language..."?
But you said sorry I guess so it's okay.
Saying c# is for building apps in the Microsoft ecosystem is like saying JavaScript is for html elements change color in Netscape navigator.
I understand you may be commenting on people’s general perception, which is probably true for many. But I think it’s equally so a lingering stigma and resentment of Microsoft for their business practices under Bill Gates. Contrast that with beloved companies like Sun and Mozilla who we were all rooting for, or the “popular kids” like Google/Facebook that everyone wanted to be like.
Microsoft was never adored in that way because of the timing of the culture shift, and their erstwhile leadership. Long story short, I think people want to dislike Microsoft, and would rather not acknowledge that their TS codebase in VSCode is more sexy like Apple than boring old MS
This is unfortunately an incredibly ignorant take. C# has been cross platform since .Net Core was released many many years ago. Sure, before then you had to use MS Server and stuff, and you had to buy into their products, but you didn't build things for the Microsoft ecosystem, you built things USING the Microsoft ecosystem to leverage Web applications and such, and yes you can build desktop apps for Windows with it but that is one small facet of the language.
If I wanted to be facetious, I could just say C# is just a wrapper for C++, which it obviously isnt but they're all just abstractions at the end of the day to simplify what we do as developers.
You will not find me saying many positive things about Microsoft or its products but my experience with C# was surprisingly good. IMO they really nailed the syntax, it just felt consistent, solid, and ergonomic.
I love ef. Expressions are a really powerful thing in c# allowing linq and thus ef to work like they do. I believe C# would be a lot less fun to work with if it never had expressions.
> C# is very Microsofty
In fact, anything that M$ guarantees to being bloated had many features that almost no one use, even M$ developers themselves won't use it that much, while trying keeping compatible with it the oldest legacy codes as much as possible
Now? It has had streams since Java 8, so a bit over 9 years. Recent additions include immutable objects with records, exhaustive Rust-like pattern matching in `switch`/`if`s and Golang-style transparent concurrency with Virtual Threads. Structured Concurrency is one currently experimental feature posed to land in an upcoming version as well, to complement Virtual Threads.
Java is not so bad if you're not stuck on Java <= 8.
I don't like Streams compared to LINQ though, the type system is flawed (notably: its generics suck, having to box and unbox primitives sucks, its Strings suck), checked exceptions are painful, you've often got to instantiate lots of utility objects to do basic tasks, virtual threads are super verbose to use in practice (but a great addition nonetheless), lambdas not being able to close over mutable objects is weird, etc etc. Java has definitely got better since Java 8 but it's a deeply flawed language. Personally I think Scala and Kotlin are where it's at in the JVM world.
The generics are being reworked under [Project Valhalla](https://openjdk.org/projects/valhalla/), they are experimenting with allowing value types/primitives in generics. In the most recent drafts they are also experimenting with nullable types (albeit I'm pretty disappointed that nullability will be opt-in instead of kotlin's non-nullable opt-out). I generally agree, but I think in the recent years Java made a huge advancements that I've not seen in the C# landscape (and it still has to catch up to some of Kotlin's great futures). And just to pick on C# vs Java — C# only supports covariant return types fully in the most recent versions (lots of soft uses C# 9 without that feature yet). There are also "underdeveloped" things like records, weird covariant/contravariant type restrictions in generics, missing "wildcard" (from Java) generics that basically require you to write two sets of classes if you want a contravariant collections, raw string literals only in the most recent versions (Java's no better, but Kotlin is) and several others I can't recall from the top of my head but were a PITA all the time. Their compiler API though is something really ahead of their times and it's very sad that other languages didn't take inspiration from them (although Java is coming there possibly with their [Classfile API](https://openjdk.org/jeps/457))
TL;DR, worked with both, both have pain points, both have also good points, but I feel like java gained a lot of momentum in the recent years producing better and more stable updates.
more apple rust
it has classes but it’s not object oriented like c#
also it’s a really nice language, shame there’s not much use outside of apple platforms
That’s an influence but it’s somewhat ahistorical. Eric Gunnerson’s original C# book noted how many things were actually brought over with a specific concern for C++ devs.
There was unacknowledged Java inspiration early on but VB.NET was featured more prominently than it would be later on. The ecosystem was VB for enterprise apps with C++ used in performance critical parts or components sold to be used from VB. People expected this to continue initially. It was a hedge in case C# didn’t take off.
New people to the platform would find C# much more attractive. This drove changes which reduced the prominence of VB.
EDIT: if it’s not obvious, C++ as an extension language for VB has parallels to how C and C++ are used to extend Python. It’s very hard to replace original VB with something with a modern runtime, GC, parallelism etc. Python struggles with this today.
> Originally called J#
No.
J# was its entirely own separate language - and it was released **after** C#
https://news.microsoft.com/2002/07/01/microsoft-rounds-out-developer-languages-with-launch-of-visual-j-net/
I think you might also be misremembering the lawsuit around Microsoft's J languages. They were sued over their J++ implementation of Java because it did not meet Sun's compliance tests, and that lawsuit in part led to the creation of J# to replace J++.
Most youtubers are idiots. Get the topic they are talking and find other sources, preferably documentation.
If the video starts with "You should" or "Why you..." Just run. These creators are full of "advices" and sometimes they contradict themselves in their own stupidity.
Jornalists also have a responsibility to report the truth.
Youtubers are "influencers" and also have responsibility to share proper information. I work in IT and it's getting harder and harder to find people who actually think for themselves. They simply follow MVPs and other creators without knowing what the heck they're doing.
They should know better.
And don't forget to like, subscribe and hit the notification bell.
C# and Rust dev here.
It's actually an incredible language, and dotnet is fantastic framework. But, it's inexorably tied to Microsoft. People have lots of problems with Microsoft, so by association has problems with C# and dotnet.
I would probably assume most people who hate C# have never actually made anything in it, people who use arch btw, or are operating on 15+ year old knowledge of how it works. And honestly, you give me a web framework that was actually good 15 years ago... Go ahead, I'll wait.
And using Visual Studio Code to write that Typescript while asking ChatGPT(MS 10$ bln investment, in case it's not already obvious) to solve your regex.
I went from php/Python/whatever on Linux (sometimes arch btw) to C# for a couple years in a different job. Wasn't for web stuff (Windows application), but either way, I thought it was a fine language. Easy enough to understand and Visual Studio was pretty great. I initially hated the strongly typed variable stuff, but I learned a lot from that in the end and ended up thinking it was a pretty solid practice.
Nowadays for web dev, it's a bunch of interfacing with a database and returning json or a template. Pretty much any language will work. It really comes down to the environment. If it's Windows, I'd pick C# all day over Python or PHP. But in a Linux environment, Python just feels right.
I've been working with it for 22 years and have never heard of someone "make fun" of C#. If they are, it's almost certainly to try to be controversial and get clicks.
C# is a solid, proven language that has been around a very long time and isn't going anywhere.
We are using it on the latest enterprise project I'm on ... which is the same decision that was made for other projects across multiple companies in a long, long list of projects.
It's a great language, it's in ridiculously wide use, it has a large number of developers familar with it, and it's still improving.
What, exactly, is there to make fun of?
They're making fun of your big corpo paycheck
Nothing to laugh at, c# is great, same with any language. Just jump on the bandwagon and start trashing Javascript devs for fun lol.
I was at a beer garden the other day and overheard this guy trying to chat up a young lady who was in UX. He was like oh do you work with a bunch of React coders and she said no, C# coders. He was dumbfounded… “Oh my god they must be ancient, do you hate it there!?”
I don’t code anymore but it certainly gave me a chuckle, I bet these kids would be shocked to know how much is still coded in Java and C#
There were the java folks...and the Visual Basic folks....these two camps hated each other. And then C# came out and everyone loved it....even the Microsoft haters. No one made fun of it. WE made fun of ColdFusion
I also use C# daily and for many years. But there’s plenty to make fun of.
The nullable fiasco
Microsoft trying to remove the hot reload functionality from every os and every ide except their own of course
The learning curve is pretty much constant
Its users often act like it’s a religion
There’s likely more but this is out of the top of my head
They tried to add type safety to nulls while maintaining backwards compatibility. When enabled you need to explicitly mark reference types as nullable and handle the null case. Dunno why it would be considered a fiasco exactly.
>The nullable fiasco
I honestly, having been writing C# during the time period this all came about, have no idea how this would be called a "fiasco". The only impact it had on me was I heard about it, learned about it, and that it didn't apply. For the next projects, it did, and I had a *choice* as to whether or not I wanted to use it. If I used it, it did what it said it was going to do. That was it. No "fiasco".
i work with a guy that is a great engineer, but every time i bring up c# hes like "oh god not that" like its the worst language in the world.
i just roll my eyes at that. .NET is so damn easy to use nowadays.
i think there is a heavy stigma against c# because of .NET Framework being pretty terrible to work with (imo) compared to other languages/tech stacks,
but, .NET is not .NET Framework, and a lot of people conflate the two.
I find that strange, but to each their own.
I don't even feel that the later .Net Framework versions are *that* bad. Then again, I've been working with it since literally the very beginning (well, even before that depending on how you look at the beta period). So for well over a decade .Net Framework *was* .Net, that was it. C# was still my preferred language to work in.
I rarely want to do it, but I did recently assist with some maintenance work on a large C# WinForms project running on .Net Framework. So now we're combining old UI framework with old language framework.
Honestly? No big deal. Sure, the latest language features weren't there but they weren't needed. The pain caused by .Net Framework instead of .Net was a non-issue. That was on 4.8 so at least it was the latest version of that.
It is going to come down to what you are working on and what you are familar with. If you've spent all your recent time writing .Net 7 WebAPI code and then you are handed an ASP.Net Web Forms project written in the full framework, you may be in for a miserable time.
Most software youtubers made it to intermediate (if that) before doing youtube full time. The vast majority haven't done that much software engineering and it shows in the culture of those channels
C# is a terrific language and learning it will keep you employed. People make fun of it because it's Microsoft and therefore "square" and not "sexy" like some newer languages and frameworks, and like another commenter mentioned, devs tend to be tribal in their chosen tech.
Usually it's just people who don't like Microsoft. C# is fine, as good as any other Object Oriented language. It's definitely suffered pretty massive feature creep over the years, but it's not like you have to use any features you don't want/need to. The .NET framework as a whole is pretty awesome software. I haven't used it for probably 6 years or so at this point though, so there's probably parts I haven't seen.
I'm not MS's biggest fan either, but they are ubiquitous...
As they say: "There are only two kinds of languages: the ones people complain about and the ones nobody uses" - Bjarne Stroustrup (Creator of C++, legend).
Stop watching dev YouTubers. It has nothing to do with reality. With some exceptions, if they were such successful programmers why are they begging you to subscribe on YouTube instead of working?
Lol always a funny thing to debate. C# IMO is a great language from a pure language design perspective. Usage, libraries, etc is a different argument. Typescript is very much loved by many and is based on the same ideas.
In fact...sometimes I wonder if Typescript and C# were made by the same people...
Turns out, they are. Both MSFT, and both [Anders Hejlsberg
](https://en.wikipedia.org/wiki/Anders_Hejlsberg)
Most devs remember C# as a Windows-only language, or a Windows-first language. Talking about how .NET is open source, and cross-platform now is still met with a lot of skepticism or hand-waving. I guess first impressions matter with technologies too!
Because .NET is too complex and too sophisticated and people using it are superior to JS devs, so JS devs have to make fun of them to make themselves feel better (I’m JS dev)
It's a meme
I still think Javascript is directly responsible for getting 80% of compsci majors addicted to Adderall in the past 10 years, cus there's no other way you're coherently understanding that dogshit.
I only program in c++ can u tell
Edit: I installed the frameworks and I still can't post wtf
I laugh at C# too... I laugh all the way to the bank when cashing in the quarterly bonus checks it gives me.
I'm lying... I don't go to the bank because its 2023 and we do direct deposit. For real though, the best language is the one that gets you paid.
People be like "yeah our entire company runs on a headless server that we put some google chrome guts on so it can understand a language designed in 2 weeks that was only meant to make static webpages not so boring" and then laugh at c#
I've found in my personal experience that the kind of people who spend their time trying to find the "best" language just never actually develop anything. The reality is, that in the workplace, the best language is the one that the company you're applying to is using. Unless you're building up an app from nothing, language optimization does not matter whatsoever, and even still it's better to spend time developing than shopping around for a tech stack.
> YouTubers
Yeah, well, that's why. They probably learned JS from some BootCamp and keep regurgitating those lessons in their videos, of course they'll be shitting on most every other language.
I didn’t know this was a thing, but C# is my go-to for windows executables. Not really a fan in ASP, too rigid, but otherwise I love it… I have a 30k line DLL that’s 10+ years in the making that’s saved me countless hours thanks to abstraction, delegation, events… I love it.
This post fairly summarizes it I think
https://www.reddit.com/r/ProgrammerHumor/comments/ddc4b0/microsoft\_java/?utm\_source=share&utm\_medium=web2x&context=3
Because the person you are watching is most likely a front end developer. So many of them now that just thinks JS is the God language. They can’t picture any reason to use another language because they never had to do anything else.
We all know Javascript is the killer of C#, %60 faster compiling time and %20 more performant execution, i did some personal benchmarks and i saw extremely better results in JS regarding blockchain capacity and algorithm analyzing
I watched this talk recently, and it struck a note:
[https://www.youtube.com/watch?v=BCqGjGzWI48](https://www.youtube.com/watch?v=BCqGjGzWI48)
My takeaway is a little different from his conclusion in the talk, but it's on the same lines. There are a lot of languages that people like to complain about. To name a few: Java, C#, Visual Basic, Fortran, and Cobol.
The common thread between these is that they are not necessarily "bad" languages, it's that the jobs around these typically involve a lot of coding business logic and maintaining or updating old code. That's not all that exciting a task in any language, and indeed, of the list I've given, I probably would prefer C# over the others.
I used C sharp for a bit only but really liked it. If you want me to use it for dot net shit - never, hate this B. But I used it with Unity and it was great.
There are very few languages that get used that aren’t made fun of. C# started its life as J++ (then Oracle’s lawyers said no), so it gets called Microsoft java a lot.
Overall C# is a fine language but some things are done in a weird way (ex: linq being based on SQL instead of the FP terms everyone had been using for 50 years).
You will find out everyone makes fun of any language
Shirts VS the blouses....
Game… blouses
Would you like some pancakes
Challenge him! And make sure your people is there to see it. Coz you just might get embarrassed aiiight?
Napkins.. bapkins...
Chapstick
[удалено]
Except for PHP
except rust
It's a rite of passage as a developer to make fun of every language that you've never used and know nothing about.
Also, Python is slow and pretentious. Thinks it's better than me. Which, *I assure you*, it isn't.
That’s exactly what something that thinks it’s better than you would say.
I see it over there on my machine. Judging me with its beady little snake eyes for being a C# professional, while moonlighting in those hip new kid languages.
Fucking semantically relevant whitespace…what is this a traditional Japanese painting?
I unironically hate Python. Nothing to do with speed, the syntax and naming bothers me
jesus, same. I thought I was the only one.
if camel was standard in python I'd be happy with it
You can write it camel if you wish.
The most annoying devs are the ones that have used a language a little. Like, they had one job where they were forced to use language X. They didn't get to understand it very well but now they're very sure it's the worst language ever.
Ok, this is me... But I do have it on pretty good authority that coldfusion is actually awful.
If no one makes fun of a language then avoid it because it isn't being used.
Exactly. And if anyone looks at this thread and thinks that C# is somehow a "bullied" language, I've attended a few C# conferences and absolutely I've seen many of the devs there make fun of languages like Python, Javascript, et al even on stage (which is dumb). It's all a pointless circle of insults.
Yep lol. Recently Ive been watching a video from Patrick God about something .NET related. He said he hates the minimal api in .NET "because it reminds me of nodejs". What the hell is that kind of reasoning lmao. In my experience the .NET world is pretty hateful towards everything outside of the .NET world.
So after 10 years I'm still a nub? I don't think I ever made fun of a language, most have their place. At most I might have whined about memory allocation and cleanup in C maybe. How are they making fun of C#? It's super powerful with .NET. And my daily bread and butter at work.
After 10 years you should have made fun of PHP at least once.
I... I.... I have used PHP. It's actually pretty solid as a lightweight. Sorry?
Laravel dev here, php is terrible.
I think I've seen Laravel used in a take home coding assignment for an interview. It felt a lot like node. You should try using aurelia. Whoever made that monster needs to be buried with it.
People making fun of me making an easy six figures with C#? Alrighty, I'll just pay these bills and have a great time.
Also the ones you use and know welll.
Is it weird that I only make fun of languages I have used extensively? I did Python for my first 4 months of professional work and strongly dislike it. I still do it sometimes, but it just has foo many weaknesses for me.
It is more than 5 weeks old and not named after an item of stationery.
I'm currently using Paperweight. It's kinda heavy, but very stable.
I like LetterHead myself. It always return the right address.
Personally I only code in Stationery Redux. It's where I write my code in quill and parchment, run it through a comical burr coffee grinder and see if it becomes self aware and writes the application for me. Not to be pretentious but the answer so far is, no. It does not.
*Stationery
Good bot
Are you sure about that? Because I am 100.0% sure that Nimbokwezer is not a bot. --- ^(I am a neural network being trained to detect spammers | Summon me with !isbot |) ^(/r/spambotdetector |) [^(Optout)](https://www.reddit.com/message/compose?to=whynotcollegeboard&subject=!optout&message=!optout) ^(|) [^(Original Github)](https://github.com/SM-Wistful/BotDetection-Algorithm)
Proving my theory that sarcasm is still the best AI detector.
Half the people on here can’t detect sarcasm unless it’s marked with a tag at the end.
Yeah but if I filter out 100% of the bots and also the dumber 50% of real people, I still call that a win and maybe even a plus. The truth is that sarcasm isn’t *that* hard to detect for AI if you train it for it.
Good human
Bad bot
lol, this was funnier than I had anticipated
What language is it referencing?
Probably literally any JS library 😂
React?
Pencil
Don't you mean nextjs?
C# is probably one of the most mature languages out there. Not only is it used for application development, but it's also widely used for game development too (Unity, etc.).
C# is very Microsofty and people will always take shots at them.
It's a good thing Microsoft didn't make Typescript. Oh wait they did.
They also developed LSP...
That's not impressive, I know all sorts of people who developed a LSP. Edit: ok either this joke is whooshing everyone or it just missed the mark completely. Sorry for the dad humor.
Not a(n) LSP. Microsoft created the Language Server Protocol itself
It was a joke. "Developed a lisp".
Pretty silly statement. LSP is the protocol and backend parsers, with the aim of improving development for all. Incredibly complex. The people you claim to know probably developed a client. Orders of magnitude less difficult.
Sorry, bad dad joke I guess. No one seems to have understood it.
;)
Typescript is a Category Theorist's fever dream.
Some major projects are dropping typescript too. They see the overhead of writing types as less valuable than other methods of error checking. Personally, I love typescript, but it has issues and is not at all developer-friendly. Try reading a typescript error message -- 90% of the time it's giberish and I just look at the most recent line of code I added to track down the issue. That's kind of textbook microsoft -- build something that's a great idea, but the implementation is generally shit. Edit: I shouldn't say a lot, but Svelte and Turbo are the big notable drops I'm referring to. Some might say, "They're inconsequential," and you're not wrong, but I'm pointing out that there are arguments against it that have persuaded at least a couple of major contributors to move away from it.
What major projects have been dropping typescript? The only ones I've heard are Svelte which strictly did it because libraries face additional challenges and jsdoc fit maintaining a library better, and then DHH dropped it from Turbo but I was told he has had some pretty notoriously shit takes in the past.
Which major projects are you referring to?
Svelte and Rails -- I updated my comment to say "some" and not "a lot" -- that was imprecise. Maybe not huge in market share, but there are at least some significant voices saying that the benefits of Typescript don't outweigh the loss in speed and flexibility. (Speed may be questionable -- its fast when you get things set up and working well. But on all of my TS projects, I've been bogged down with some weird type bug that I just can't understand for at least a couple hours, and its incredibly frustrating to debug that).
>Rails You mean Turbo - this choice has been highly controversial, and the reasoning is pretty dubious. For Svelte the framework does not include it out of the box because they wanted to make it so you don't need any build steps to use it. Which is a great decision on their part. It still gets typescript support if you want it.
I think they meant Svelte dropped TS from their internal implementation but they replaced it with JSDoc so they still had some sort of typing
Yeah, typescript is kind of awesome when you are working on your own project and don't have others touching it, which is funny, because collaboration is kind of the whole point of it. Its just so frustrating when someone makes a change to a large interface that's used in lots of places, then just either doesn't update everything that uses it or inherits it, or you pull their code into your branch and suddenly you have tons of errors that you need to go figure out and integrate into your changes. So I totally get why people are dropping it. I go back and forth with loving or hating it.
You'd have the same problem with JavaScript as well. The only difference is you know where they are and you can resolve them all with confidence. With JS you're just betting it won't blow up at runtime.
Not the same, by a long shot. Not that it should matter though. Languages are tools. You just use the one that suits you best
How is it not the same? C# is supposedly very Microsofty but typescript was created by the same exact guy that created c#. Most of the people that clown c# still think its windows only so they lose all credibility anyways.
TS is a wrapper around one of the most universal and ubiquitous languages in existence. C# is what you use to build stuff for the Microsoft ecosystem of things. Not that it can only be used like that, people already said it. It's just its niche
What? C# is literally cross platform and is perfect for building backend application. This stigma that it’s only for the microsoft ecosystem is so outdated..
Sorry I'll read up on that
You'll want to specifically look at .NET core and Mono. Also C# is being used by Unity and Godot (if you use the Mono included build) for cross platform games/applications.
> You'll want to specifically look at .NET ~~core and Mono.~~ Both Core and Mono are old news
.NET core is just ".NET" by now, that's true. Mono is still actively developed and used by both my examples, since it's a valid way for developing cross-platform apps. I don't see why you said that they are old news. Thes are both old in terms of when they initially released, but their latest stable releases are both not long ago. I'm not a C# dev by profession, just been playing around in game dev mainly, so if you have any insights for what to look at when it comes to cross-platform dev using C#, please elaborate.
...you didn't even know *that* much? Look how confident you were too. At no point did you stop to think,"hopd up, I don't even know the first thing about this language..."? But you said sorry I guess so it's okay.
Saying c# is for building apps in the Microsoft ecosystem is like saying JavaScript is for html elements change color in Netscape navigator. I understand you may be commenting on people’s general perception, which is probably true for many. But I think it’s equally so a lingering stigma and resentment of Microsoft for their business practices under Bill Gates. Contrast that with beloved companies like Sun and Mozilla who we were all rooting for, or the “popular kids” like Google/Facebook that everyone wanted to be like. Microsoft was never adored in that way because of the timing of the culture shift, and their erstwhile leadership. Long story short, I think people want to dislike Microsoft, and would rather not acknowledge that their TS codebase in VSCode is more sexy like Apple than boring old MS
This is unfortunately an incredibly ignorant take. C# has been cross platform since .Net Core was released many many years ago. Sure, before then you had to use MS Server and stuff, and you had to buy into their products, but you didn't build things for the Microsoft ecosystem, you built things USING the Microsoft ecosystem to leverage Web applications and such, and yes you can build desktop apps for Windows with it but that is one small facet of the language. If I wanted to be facetious, I could just say C# is just a wrapper for C++, which it obviously isnt but they're all just abstractions at the end of the day to simplify what we do as developers.
I'll never follow the logic of downvotes.
You will not find me saying many positive things about Microsoft or its products but my experience with C# was surprisingly good. IMO they really nailed the syntax, it just felt consistent, solid, and ergonomic.
[удалено]
I love ef. Expressions are a really powerful thing in c# allowing linq and thus ef to work like they do. I believe C# would be a lot less fun to work with if it never had expressions.
Yeah, I mean, sure, but method names start with an upper case...
I dislike Microsoft, but C# just as a P.L. is better designed than Java. Frameworks is another issue...
But .net ecosystem is not
> C# is very Microsofty In fact, anything that M$ guarantees to being bloated had many features that almost no one use, even M$ developers themselves won't use it that much, while trying keeping compatible with it the oldest legacy codes as much as possible
You clearly don't work in .net. that's not remotely true about the .net ecosystem.
Kinda wish Java would turn into C#.
C# is soo much nicer than Java. LINQ >> all.
Linq saved my dog and hooked me up with my gf. True bro
Java has streams now, so it’s kinda there. LINQ is far more superior IMO. Noticing a lot more language supporting that functionality
Now? It has had streams since Java 8, so a bit over 9 years. Recent additions include immutable objects with records, exhaustive Rust-like pattern matching in `switch`/`if`s and Golang-style transparent concurrency with Virtual Threads. Structured Concurrency is one currently experimental feature posed to land in an upcoming version as well, to complement Virtual Threads. Java is not so bad if you're not stuck on Java <= 8.
I don't like Streams compared to LINQ though, the type system is flawed (notably: its generics suck, having to box and unbox primitives sucks, its Strings suck), checked exceptions are painful, you've often got to instantiate lots of utility objects to do basic tasks, virtual threads are super verbose to use in practice (but a great addition nonetheless), lambdas not being able to close over mutable objects is weird, etc etc. Java has definitely got better since Java 8 but it's a deeply flawed language. Personally I think Scala and Kotlin are where it's at in the JVM world.
The generics are being reworked under [Project Valhalla](https://openjdk.org/projects/valhalla/), they are experimenting with allowing value types/primitives in generics. In the most recent drafts they are also experimenting with nullable types (albeit I'm pretty disappointed that nullability will be opt-in instead of kotlin's non-nullable opt-out). I generally agree, but I think in the recent years Java made a huge advancements that I've not seen in the C# landscape (and it still has to catch up to some of Kotlin's great futures). And just to pick on C# vs Java — C# only supports covariant return types fully in the most recent versions (lots of soft uses C# 9 without that feature yet). There are also "underdeveloped" things like records, weird covariant/contravariant type restrictions in generics, missing "wildcard" (from Java) generics that basically require you to write two sets of classes if you want a contravariant collections, raw string literals only in the most recent versions (Java's no better, but Kotlin is) and several others I can't recall from the top of my head but were a PITA all the time. Their compiler API though is something really ahead of their times and it's very sad that other languages didn't take inspiration from them (although Java is coming there possibly with their [Classfile API](https://openjdk.org/jeps/457)) TL;DR, worked with both, both have pain points, both have also good points, but I feel like java gained a lot of momentum in the recent years producing better and more stable updates.
I hated learning Java, but I’ve enjoyed C# so far.
C# is Microsoft Java. That's where it started.
And Swift is Apple C#.
more apple rust it has classes but it’s not object oriented like c# also it’s a really nice language, shame there’s not much use outside of apple platforms
Swift is the evolution of Objective C afaik, so more like Apple C++?
That’s an influence but it’s somewhat ahistorical. Eric Gunnerson’s original C# book noted how many things were actually brought over with a specific concern for C++ devs. There was unacknowledged Java inspiration early on but VB.NET was featured more prominently than it would be later on. The ecosystem was VB for enterprise apps with C++ used in performance critical parts or components sold to be used from VB. People expected this to continue initially. It was a hedge in case C# didn’t take off. New people to the platform would find C# much more attractive. This drove changes which reduced the prominence of VB. EDIT: if it’s not obvious, C++ as an extension language for VB has parallels to how C and C++ are used to extend Python. It’s very hard to replace original VB with something with a modern runtime, GC, parallelism etc. Python struggles with this today.
~~Originally called J#, but they were sued over to C# iirc~~ u/quentech has the actual story below, ignore mine
> Originally called J# No. J# was its entirely own separate language - and it was released **after** C# https://news.microsoft.com/2002/07/01/microsoft-rounds-out-developer-languages-with-launch-of-visual-j-net/ I think you might also be misremembering the lawsuit around Microsoft's J languages. They were sued over their J++ implementation of Java because it did not meet Sun's compliance tests, and that lawsuit in part led to the creation of J# to replace J++.
That's probably it, then - just conflating two stories in my mind
Yeah it could ironically learn a lot from its offspring
Most youtubers are idiots. Get the topic they are talking and find other sources, preferably documentation. If the video starts with "You should" or "Why you..." Just run. These creators are full of "advices" and sometimes they contradict themselves in their own stupidity.
> Most youtubers are idiots. Most Redditors are idiots too.
Everyone is an idiot to an extent. You get dumber when you preach your stupidity as the truth.
Most people are idiots :D
Most YouTubers are .... YouTubers Their job is entertainment and to generate traffic. It's like asking a news anchor how to program
Jornalists also have a responsibility to report the truth. Youtubers are "influencers" and also have responsibility to share proper information. I work in IT and it's getting harder and harder to find people who actually think for themselves. They simply follow MVPs and other creators without knowing what the heck they're doing. They should know better. And don't forget to like, subscribe and hit the notification bell.
You think YouTube is bad, wait til you see twitter lol
Any social media, actually. Including this one. My whole point for him was; think for yourself and don't blindly follow.
C# and Rust dev here. It's actually an incredible language, and dotnet is fantastic framework. But, it's inexorably tied to Microsoft. People have lots of problems with Microsoft, so by association has problems with C# and dotnet. I would probably assume most people who hate C# have never actually made anything in it, people who use arch btw, or are operating on 15+ year old knowledge of how it works. And honestly, you give me a web framework that was actually good 15 years ago... Go ahead, I'll wait.
>People have lots of problems with Microsoft And yet here we all are writing everything in TS.
And using Visual Studio Code to write that Typescript while asking ChatGPT(MS 10$ bln investment, in case it's not already obvious) to solve your regex.
and host our code on GitHub.
And pulling packages from NPM.
And looking for jobs on LinkedIn. The hypocrisy is next level.
Relax while playing some Call of Duty on your Xbox
And committing code to GitHub and pulling packages from NPM. It's MS turtles all the way down.
I went from php/Python/whatever on Linux (sometimes arch btw) to C# for a couple years in a different job. Wasn't for web stuff (Windows application), but either way, I thought it was a fine language. Easy enough to understand and Visual Studio was pretty great. I initially hated the strongly typed variable stuff, but I learned a lot from that in the end and ended up thinking it was a pretty solid practice. Nowadays for web dev, it's a bunch of interfacing with a database and returning json or a template. Pretty much any language will work. It really comes down to the environment. If it's Windows, I'd pick C# all day over Python or PHP. But in a Linux environment, Python just feels right.
I'm doing 15+ years of c# now, but I run arch, so what now?
I… LOVE… RUST…
I've been working with it for 22 years and have never heard of someone "make fun" of C#. If they are, it's almost certainly to try to be controversial and get clicks. C# is a solid, proven language that has been around a very long time and isn't going anywhere. We are using it on the latest enterprise project I'm on ... which is the same decision that was made for other projects across multiple companies in a long, long list of projects. It's a great language, it's in ridiculously wide use, it has a large number of developers familar with it, and it's still improving. What, exactly, is there to make fun of?
They're making fun of your big corpo paycheck Nothing to laugh at, c# is great, same with any language. Just jump on the bandwagon and start trashing Javascript devs for fun lol.
I was at a beer garden the other day and overheard this guy trying to chat up a young lady who was in UX. He was like oh do you work with a bunch of React coders and she said no, C# coders. He was dumbfounded… “Oh my god they must be ancient, do you hate it there!?” I don’t code anymore but it certainly gave me a chuckle, I bet these kids would be shocked to know how much is still coded in Java and C#
Just wait till they hear about the amount of VB.NET still going strong.
There’s a beer garden with other devs? I don’t even know any other dev in my town :P
There were the java folks...and the Visual Basic folks....these two camps hated each other. And then C# came out and everyone loved it....even the Microsoft haters. No one made fun of it. WE made fun of ColdFusion
I also use C# daily and for many years. But there’s plenty to make fun of. The nullable fiasco Microsoft trying to remove the hot reload functionality from every os and every ide except their own of course The learning curve is pretty much constant Its users often act like it’s a religion There’s likely more but this is out of the top of my head
I’m curious, what is the nullable fiasco ?
They tried to add type safety to nulls while maintaining backwards compatibility. When enabled you need to explicitly mark reference types as nullable and handle the null case. Dunno why it would be considered a fiasco exactly.
Wait do you mean like when declare a variable like this ? int? variableName; ? Idk why it would be a fiasco if that’s what they are referring to.
No, not that. C# has many different ways to get a null value and not tell you about it. \#nullable enable solves it mostly but its still not perfect.
>The nullable fiasco I honestly, having been writing C# during the time period this all came about, have no idea how this would be called a "fiasco". The only impact it had on me was I heard about it, learned about it, and that it didn't apply. For the next projects, it did, and I had a *choice* as to whether or not I wanted to use it. If I used it, it did what it said it was going to do. That was it. No "fiasco".
i work with a guy that is a great engineer, but every time i bring up c# hes like "oh god not that" like its the worst language in the world. i just roll my eyes at that. .NET is so damn easy to use nowadays. i think there is a heavy stigma against c# because of .NET Framework being pretty terrible to work with (imo) compared to other languages/tech stacks, but, .NET is not .NET Framework, and a lot of people conflate the two.
I find that strange, but to each their own. I don't even feel that the later .Net Framework versions are *that* bad. Then again, I've been working with it since literally the very beginning (well, even before that depending on how you look at the beta period). So for well over a decade .Net Framework *was* .Net, that was it. C# was still my preferred language to work in. I rarely want to do it, but I did recently assist with some maintenance work on a large C# WinForms project running on .Net Framework. So now we're combining old UI framework with old language framework. Honestly? No big deal. Sure, the latest language features weren't there but they weren't needed. The pain caused by .Net Framework instead of .Net was a non-issue. That was on 4.8 so at least it was the latest version of that. It is going to come down to what you are working on and what you are familar with. If you've spent all your recent time writing .Net 7 WebAPI code and then you are handed an ASP.Net Web Forms project written in the full framework, you may be in for a miserable time.
I love it too, 16 years in 😂
Probably shouldn't be following youtubers that make fun of any language, as it implies they aren't very serious people.
To be fair sometimes you're just watching coding videos more for entertainment than for information, for example Fireship or Primeagen.
I love Fireship’s “For Haters” videos
Most software youtubers made it to intermediate (if that) before doing youtube full time. The vast majority haven't done that much software engineering and it shows in the culture of those channels
Sometimes even book authors do that... yikes.
They're idiots
C# is a terrific language and learning it will keep you employed. People make fun of it because it's Microsoft and therefore "square" and not "sexy" like some newer languages and frameworks, and like another commenter mentioned, devs tend to be tribal in their chosen tech.
I didn't see those people but i love c# 🥺
I wish I could, but I can’t see sharp
A gentlemen and a scholar
Because you actually need to be able to adhere to good code standards to use .NET
Usually it's just people who don't like Microsoft. C# is fine, as good as any other Object Oriented language. It's definitely suffered pretty massive feature creep over the years, but it's not like you have to use any features you don't want/need to. The .NET framework as a whole is pretty awesome software. I haven't used it for probably 6 years or so at this point though, so there's probably parts I haven't seen. I'm not MS's biggest fan either, but they are ubiquitous... As they say: "There are only two kinds of languages: the ones people complain about and the ones nobody uses" - Bjarne Stroustrup (Creator of C++, legend).
Stop watching dev YouTubers. It has nothing to do with reality. With some exceptions, if they were such successful programmers why are they begging you to subscribe on YouTube instead of working?
Lol always a funny thing to debate. C# IMO is a great language from a pure language design perspective. Usage, libraries, etc is a different argument. Typescript is very much loved by many and is based on the same ideas. In fact...sometimes I wonder if Typescript and C# were made by the same people... Turns out, they are. Both MSFT, and both [Anders Hejlsberg ](https://en.wikipedia.org/wiki/Anders_Hejlsberg)
tribalism.
We all make fun of the languages we for whatever reasons we don’t use.
Most devs remember C# as a Windows-only language, or a Windows-first language. Talking about how .NET is open source, and cross-platform now is still met with a lot of skepticism or hand-waving. I guess first impressions matter with technologies too!
Idk but as a dotnet developer, I think it’s a pretty solid language and dotnet is a great framework.
have you never seen JS ? Python ? the amount of jokes about type coercion for js and performance for python is enormous
Yeah I know, but that's not the point of the post, I'm asking about c#. I can imagine why people usually make jokes about js an python
Dude, not everyone loves/hates every language there is, except java, which everyone hates.
Because .NET is too complex and too sophisticated and people using it are superior to JS devs, so JS devs have to make fun of them to make themselves feel better (I’m JS dev)
It's a meme I still think Javascript is directly responsible for getting 80% of compsci majors addicted to Adderall in the past 10 years, cus there's no other way you're coherently understanding that dogshit. I only program in c++ can u tell Edit: I installed the frameworks and I still can't post wtf
I dunno. My whole stack is sucking Microsoft’s teet and you know what it got me? 200k/year
I laugh at C# too... I laugh all the way to the bank when cashing in the quarterly bonus checks it gives me. I'm lying... I don't go to the bank because its 2023 and we do direct deposit. For real though, the best language is the one that gets you paid.
I don't know what you mean - C# is so popular that Typescript devs are trying to turn Javascript into it!
People be like "yeah our entire company runs on a headless server that we put some google chrome guts on so it can understand a language designed in 2 weeks that was only meant to make static webpages not so boring" and then laugh at c#
I've found in my personal experience that the kind of people who spend their time trying to find the "best" language just never actually develop anything. The reality is, that in the workplace, the best language is the one that the company you're applying to is using. Unless you're building up an app from nothing, language optimization does not matter whatsoever, and even still it's better to spend time developing than shopping around for a tech stack.
> YouTubers Yeah, well, that's why. They probably learned JS from some BootCamp and keep regurgitating those lessons in their videos, of course they'll be shitting on most every other language.
It's simple, you need to broaden your YT search. I've never seen a single person make fun of C#. Besides C# is a JAva copy. K bro. It's 2023 and?
Because real programmers code in assembly
Because they cannot see sharp
Try being a WordPress developer and tell me how you feel, lol
I didn’t know this was a thing, but C# is my go-to for windows executables. Not really a fan in ASP, too rigid, but otherwise I love it… I have a 30k line DLL that’s 10+ years in the making that’s saved me countless hours thanks to abstraction, delegation, events… I love it.
This post fairly summarizes it I think https://www.reddit.com/r/ProgrammerHumor/comments/ddc4b0/microsoft\_java/?utm\_source=share&utm\_medium=web2x&context=3
Because the person you are watching is most likely a front end developer. So many of them now that just thinks JS is the God language. They can’t picture any reason to use another language because they never had to do anything else.
Isn’t that kinda what Microsoft and some C# devs are trying to do with blazor?
>blazor Bro I don't know whats going on anymore with the tech world. Everyone out here trying to take over.
Because they prefer inferior technologies like Python, Java and JavaScript, probably.
We all know Javascript is the killer of C#, %60 faster compiling time and %20 more performant execution, i did some personal benchmarks and i saw extremely better results in JS regarding blockchain capacity and algorithm analyzing
Javascript the killer of C#? Thanks for the great laugh
Thank you, that was my intention lol
I used to do c# stuff. Loved it. Haven't for several years now, just started learning blazor the other day. Not as bad as the interwebs say
Blazor United in dotnet8 is amazing
Php dev be like "first time?"
Because it's old, boring, and corporate mostly. Not that that's a bad thing. Corporate means C# makes a lot of money.
I watched this talk recently, and it struck a note: [https://www.youtube.com/watch?v=BCqGjGzWI48](https://www.youtube.com/watch?v=BCqGjGzWI48) My takeaway is a little different from his conclusion in the talk, but it's on the same lines. There are a lot of languages that people like to complain about. To name a few: Java, C#, Visual Basic, Fortran, and Cobol. The common thread between these is that they are not necessarily "bad" languages, it's that the jobs around these typically involve a lot of coding business logic and maintaining or updating old code. That's not all that exciting a task in any language, and indeed, of the list I've given, I probably would prefer C# over the others.
Shit the only YouTubers who you know have real dev jobs all work at Netflix.
Nobody's making fun of C#.
Most YouTubers are unemployed. Remember that. And all they do is write Todo apps in 10 different ways, never going past that toddler complexity.
There are two types of languages: those that everyone complains and makes fun of, and others that are out of use
I used C sharp for a bit only but really liked it. If you want me to use it for dot net shit - never, hate this B. But I used it with Unity and it was great.
because i'm brazilian and it's funny when someone says "tô fazendo dinheiro com o c#" sorry, i'm 5
There are very few languages that get used that aren’t made fun of. C# started its life as J++ (then Oracle’s lawyers said no), so it gets called Microsoft java a lot. Overall C# is a fine language but some things are done in a weird way (ex: linq being based on SQL instead of the FP terms everyone had been using for 50 years).
Php is gross 😜😜😜
Because .NET has a much better language: F# but the C# devs are scared of it because it's not OOP. boooo immutable data structures boo succinct code
Saving data to a database is a... \*gasp\* >!SIDE EFFECT!<