DEV Community

Riley Van Ess
Riley Van Ess

Posted on

The C# Language

How many of you on here program in C#? Do you use it for business or personal use? Do you like it?

Top comments (24)

Collapse
 
jamesmh profile image
James Hickey

Both for me - I love it.

Especially in the past couple of years with the point releases (i.e. faster smaller releases with new features etc.)

C# has been bringing in new features that are OOP oriented and "functional programming" oriented - which is exactly what they have said they are trying to do. C# version 8 is bringing in some new features that are very cool - like switch expressions.

I use C# mostly in a web context at work. For personal project's I'm 100% using .Net core. In both contexts I'm using version 7.1 +.

For example, I have an open source project (written in C#) that helps developers build .Net Core apps faster with an expressive / terse syntax. I love the flexibility of being able to use OOP where it works best, or FP where it works best. Combining the two many times gives the ability to do really cool stuff.

I'd be interested to know what context those who don't like C# are actively using it in? (i.e. what version, in a web context? etc.)

Collapse
 
adampb profile image
Adam Piechocki-Brown

I was quite resistant to C# when it first arrived. I didn't want another C-something-or-other language, I was quite happy with C++ and I didn't want another proprietary language tied to MS. About 8-9 years ago I started to use it quite a bit for work. Now it's where I do 99% of my work coding and about 70% of my personal projects.

Its biggest problem for me is also one of its main assets: it is a beast.

Collapse
 
twigman08 profile image
Chad Smith

I use C# for both.

I started using C# at work and after getting to know the language more I started to enjoy it more. Now it has been the language I enjoy doing my personal stuff in also.

I think it is a great language. It also just fits the type of languages that I enjoy. I'm just not a fan of languages where you just throw anything at it and it tries to figure out what you meant.

Collapse
 
danieljsummers profile image
Daniel J. Summers

I'm a fan. I've used it in both business and personal settings, and were it not for F#, I'd still likely have active personal projects that use it. They've made some nice improvements to it over the past 5 years or so -- an easier async programming model, and the ability to write in a more functional style.

Even if you eventually choose a different language, if you're going to be targeting .NET Framework or .NET Core, it's at least worth learning to read. Microsoft is getting better about including C#/VB.NET/F# examples in their docs, but there will always be a C# example. There is also a lot of information in the community that applies to the ecosystem, but the example on how to consume it is usually in C#.

Collapse
 
goaty92 profile image
goaty92

C# is an excellent language. I use it both for personal and academic work. It is like Java that doesn't suck. It allows you to be performant when you need it, and functional/maintainable when you want it. .Net core opens up a lot of possibilities for C# to be used on different platforms. Best features in my opinion(and there are many more):

  • Value types enable really efficient code.
  • async/await makes concurrency much easier.
  • string interpolation and pattern matching.
  • Functional programming (Linq and expressions).
  • Interop with other .net languages (F#).
  • Span<T> and stackalloc

My current C# project is a data serialization library github.com/dhhoang/IonDotnet and is welcoming contribution. Pls send me PR/issue πŸ€— if you're interested.

Collapse
 
ahmadmoussawi profile image
Ahmad Moussawi

I use it for business and financial web applications (netcore version), and deploying it on linux with SqlServer and PostgreSql as databases.

It's a very beautiful and elegant language from my perspective, but it lacks the "install and run" frameworks comparing to other languages (rails, django and Laravel) still finding myself spending too much time configuring staff to start a web application.

It needs some time to get the real open source taste,

I've developed my own Database Query Builder github.com/sqlkata/querybuilder, I've found that it has some really awesome features like, method extensions, null operator, async, etc ...

What I hate about it, is the time I've spent on build, other than that I love it.

For my personal projects I use PHP.

Collapse
 
alanmbarr profile image
Alan Barr

It's overall pretty good but I do get frustrated with some of the details of either the libraries or implementation of windows stack stuff. HttpClient and using statements, ServicePointManager default limit of 2 http connections unless you override it, the task async/await library is not easy or clear to use without causing unintended consequences. Opaqueness of debugging wcf errors. F# is pretty awesome wish C# wasn't so great so it could get traction ;)

Collapse
 
jfrankcarr profile image
Frank Carr

I do, mainly for work and a few personal desktop projects. I've been working with it for about 14 years now. I've written Winforms, WPF, ASP.NET, MVC and Web API applications with it.

The main thing that I like about it is that most language elements are well thought out and its easy to implement OOP patterns, testing, database access and other stuff. LINQ and generics are also very useful.

For personal web projects, I've mainly used PHP since shared hosting is usually LAMP based. I find that I miss some of the elements of C# when I have to do this.

Collapse
 
0xyasser profile image
Yasser A

I do use it for business only .. and I don't like it.

Collapse
 
bradwellsb profile image
Bradley Wells

Both for me. It's very versatile. Using C#, I can develop applications for desktop, web, and mobile. C# and .NET Core for cross-platform work. C# and ASP.NET (MVC, Razor pages, Blazor) for web. C# and Xamarin for native iOS/Android. I haven't dabbled in it yet, but you can even use C# with Unity for game development. What's not to like? :)