> C# continues to be one of the most popular and widely used programming languages in the world.
Is it popular? Or merely heavily used?
As far as I can tell the team that I used to work with use C# merely because that is the language promoted by Microsoft and Microsoft is the principal supplier of IT infrastructure to the company. I don't think anyone ever said "Let's use C# because I like it." They usually said something like: "Ugh, got to get away from VB6, what can we use that won't need explaining to the technically illiterate bosses?"
I may be heavily biased, but nowadays with mature .NET Core, C# seems to be relatively """sexy""" tech.
Language is / seems to be really consistent and pretty easy to work with while moving and adopting newer approaches quite fast. Its "environment" supports shitton of things out of the box.
As far as I see after "rewrite" (or reborn) they cleaned up a lot of mess and updated things to the more modular standards, so you're not locked with IIS and so on.
> I don't think anyone ever said "Let's use C# because I like it."
Then let me be the first :) I have advocated for C# at previous workplaces because of this, and I use C# + .NET Core for some side projects - on linux and mac, not even with any windows involved.
I think at least -parts- of your statements are true.
But really, VB.NET was the use case for your last paragraph. It's syntax is far closer to VB6 and it has a bunch of tricks in the language to make it easier for VB6/VBA devs to transition.
In my (personal) observations, you would see a lot of VB.NET stuff before LINQ was a thing. As that took off, a lot of shops (including one I worked at) saw that writing such was far less verbose in C# than VB.NET (Really, once you get into anonymous functions is where VB's verboseness becomes a huge liability and really makes readability a problem.)
tl;dr - Since VS 2008 C# has been growing steadily in popularity due to the number of features it has genuinely focused on making it easy to develop 'midrange' (i.e. not python/ruby slow, but not go/rust fast necessarily) code
I guess I may be part of the exception. I had been handed so many terrible VB6 and VBA projects by that point, that I jumped into C# when it was released. Of course I also did a bunch of Java programming at the time as well, so the similarities were convenient and I found I had to think a lot less when switching between C# and Java versus VB and C#. At this point almost everything I do is in C#, except for one legacy application where they use VB as a scripting language under their forms UI. Thank goodness for C# to VB converters!
Everything I've heard in the past several years has been wildly positive. Granted, the sort of people talking on HN and Reddit about C# are maybe not also the people maintaining legacy VB6/WinForms/WebForms/etc apps.
For me, it is probably more the toolset and ease of deployment of C#-based apps that keep me using it, even for side projects. I love working with Python, but it is a pain to deploy once you get beyond console-based apps. You have be able to setup NGINX, configure systemctl, set the right permissions, configure WSGI, etc... I like the challenge, but if Microsoft deserves any cred, it is definitely in the area of making it easy to write and ship code.
8 comments
[ 3.0 ms ] story [ 30.9 ms ] threadIs it popular? Or merely heavily used?
As far as I can tell the team that I used to work with use C# merely because that is the language promoted by Microsoft and Microsoft is the principal supplier of IT infrastructure to the company. I don't think anyone ever said "Let's use C# because I like it." They usually said something like: "Ugh, got to get away from VB6, what can we use that won't need explaining to the technically illiterate bosses?"
Language is / seems to be really consistent and pretty easy to work with while moving and adopting newer approaches quite fast. Its "environment" supports shitton of things out of the box.
As far as I see after "rewrite" (or reborn) they cleaned up a lot of mess and updated things to the more modular standards, so you're not locked with IIS and so on.
All of that while caring about performance
Google:
>".NET" "performance improvements" site:microsoft.com
Then let me be the first :) I have advocated for C# at previous workplaces because of this, and I use C# + .NET Core for some side projects - on linux and mac, not even with any windows involved.
But really, VB.NET was the use case for your last paragraph. It's syntax is far closer to VB6 and it has a bunch of tricks in the language to make it easier for VB6/VBA devs to transition.
In my (personal) observations, you would see a lot of VB.NET stuff before LINQ was a thing. As that took off, a lot of shops (including one I worked at) saw that writing such was far less verbose in C# than VB.NET (Really, once you get into anonymous functions is where VB's verboseness becomes a huge liability and really makes readability a problem.)
tl;dr - Since VS 2008 C# has been growing steadily in popularity due to the number of features it has genuinely focused on making it easy to develop 'midrange' (i.e. not python/ruby slow, but not go/rust fast necessarily) code
I've been asking various questions about Roslyn or generally programming languages / compilers and they were always willing to help