this post was submitted on 09 Jun 2024
229 points (79.6% liked)

> Greentext

7548 readers
643 users here now

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 5 months ago (2 children)

Yeah

I could maybe see it, if all you know otherwise is C++, and your experience with other languages is trying to make python / go / node / whatever work well on a Windows machine without well-working tooling, and then you finally try C# and it's like oh shit, it's not filling up my mouth with feces every time I want to iterate over a dictionary or need memory management, this is a big improvement, I like it

But, VSCode has good support for those other languages now anyway

And, the bigger question, who the fuck are all these people upvoting this

Like what do you guys do all day? Or is this some subtle super sophisticated joke I am not understanding, or do you just like the man's chin? Or do you just not program and you upvote programming things out of general excitement about the idea of doing programming?

Who in the fuck is this excited about C# of all the things in the world to get excited about?

I'm just baffled in general by it

[–] JustAnotherRando 17 points 5 months ago (1 children)

I work in C# and I find it highly preferable over working in Java or C++.

[–] [email protected] 6 points 5 months ago (1 children)

Yeah. That’s what I was saying - it is clearly superior to C++ and probably to Java but those are like the worst two languages in the meta. It’s like hey this is a clear improvement over what we were doing 40 years ago that’s acknowledged by everyone has aged poorly.

Idk man, I’m not trying to be bigoted about it just saying my experience is more pleasant with a few other languages available outside of that grouping.

[–] JustAnotherRando 3 points 5 months ago (1 children)

It very much depends on what you're trying to do. C# is pretty great for developing APIs, especially in an enterprise environment involving a lot of business logic. I don't have much of an opinion on Django as I haven't spent enough time looking into it, but I have looked at enough Node.js code to know I don't prefer it for most of the projects I've been involved in.
My Python experience is largely based in working with things like Raspberry Pis, and relatively simple jobs where Python made the job pretty easy. I don't know enough experience with larger Python projects to have a feel for what good architecture in a complex application looks like.
With C#, I can go into a large application using good practices and quickly navigate the code and be productive.

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago) (2 children)

APIs

enterprise environment

business logic

...

Must be why all those tech focused companies, Google and Facebook, Netflix, Amazon, IDK, whatever list you want to put together, rely so heavily on C# for all their core enterprise API functionality. (I actually found a list. I'm not saying that it's automatically that something being popular means it's good, but I think if C# had inherent advantages over other more modern solutions then it would be somewhat more heavily represented in top-tier production software systems.)

As far as I can tell, C# doesn't really have any real advantages over other more modern environments aside from a certain cachet of "enterprise" in some sectors which is often convincing to non-technical people, which I assume is what you're trying to invoke here. I think it's missing some strong advantages in those environments that something like Go would provide.

I have looked at enough Node.js code to know I don't prefer it for most of the projects I've been involved in

100% agree, I actually actively don't like Node for a few different reasons. I mentioned C# not having many advantages in my opinion; Node has some active disadvantages.

With C#, I can go into a large application using good practices and quickly navigate the code and be productive.

I mean I think mostly what you're saying here is that you're familiar with it, and it's suitable for large systems. Which, sure, I get that and it makes sense, but it's also not the only production language that someone can get familiar with, and at this point I think it's missing some important features as compared with some of its peers (easy concurrency handling, good portability, and massive availability of libraries being some I could pick out).

Like I say I'm not trying to tell you you're wrong for using it if you're happy with how it solves your problems and the codebases you can create in it. I'm just saying that may have less to do with its technical features as compared with other languages and more to do with some other factors instead.

[–] JustAnotherRando 2 points 5 months ago (1 children)

So I don't think it's the only solution, or that anyone that doesn't care for C# is wrong or anything like that, but it is a suitable language for large segments of development and is both a good career and, in my opinion, rather pleasant to work with. Looking at the languages listed in that list you shared, I see a lot of C, C++, and Java, which I have no interest in working in again unless i have a good reason for it. The other languages there are fine but I never had a big interest in Go (Google's language) - it seems fine, but in my area I don't think there's much of a community around it.
The .NET community is pretty active where I live which is a plus, there are lots of jobs in the language and lots of professionals that are proficient in it. I'm going to try to avoid sharing too specific of information, but I've used C# in industries from healthcare, to automotive, to HR, to fitness. There are absolutely no shortage of companies using the technology - according to Statista, it's the 8th most popular language, and they are including SQL and bash in that listing. I'm not sure I believe that data, but it was the first result I clicked in a very quick Google search.
I agree that popular != good, but if we are going to use "what companies are doing," there are clearly plenty of people that have found it to be the right choice for their projects.
I will say that if your last exposure to .NET was like 5-10 years ago, it's worth taking a look at what it offers now - not necessarily to use it yourself but to at least understand that it does bring a lot to the table. I tend to see a lot of people that make references to C# as it related to .NET Framework (e.g. "you have to use Windows") that haven't been the case since .NET Core came out in 2016. I will absolutely agree that it's not always the right choice and there are aspects to the .NET world (Microsoft has the most obnoxious versioning - .NET Framework up to 4.x -> .NET Core up to 3.1 -> .NET 5 up to 8). And I fully get not wanting to work on it because it's Microsoft because everyone has their brands that want as little to do with as possible, but it is a good object oriented language.

[–] [email protected] 2 points 5 months ago

Yeah, I get that. I just poked around at it and it's free of a lot of the taint that I was thinking of; it seems fine. It was a long time ago when I last used it, so maybe it's changed since then, or I may have been getting some C++ things mixed up with it, and C++ is awful I think we can all agree.

But yeah, in whatever case I wasn't trying to say it's not good for building a career on.

[–] [email protected] 2 points 5 months ago

C# isn't really the go-to for high scale distributed systems. But it's extremely easy for a small team of developers to set up a really solid service really quickly. I don't have experience with Go so I can't really compare, but I find ASP.NET Core very pleasant to work with, and I also appreciate the suitability of C# and .NET libraries for both backend and frontend work.

[–] Sanctus 3 points 5 months ago (1 children)

I'm assuming since this is greentext a lot of people seeing this don't work with code every day. I definitely don't work with it every day, only reason I know .NET is a fistful of fireants is from the few programs I have made for my company.

[–] [email protected] 1 points 5 months ago (1 children)

Makes me wonder what kind of programs you make? Work with C# everyday, never really run into problems unless you're working with the deeper Windows layers.

[–] Sanctus 1 points 5 months ago* (last edited 5 months ago) (1 children)

I literally said I don't work with it every day. I program the odd times every few months my company needs something automated now

[–] [email protected] 0 points 5 months ago (1 children)

So your problem with C# is that you don't have the skill to use it? Unsure how else to interpret it?

[–] Sanctus 1 points 5 months ago

Actually I find C# to be quite nice. Its what I'm most familiar with and I've used it on my personal time to make some shitty games. Dont know what your issue is but you aren't C# and dont need to take this personally.