| I'm a full-time C#/.NET developer, and have been for about five years. Here are a few observations: 1) As time goes on, C# is increasingly just F# with different syntax. LINQ, closures, records/immutable structures, and so on - you can write code in C# that is more functional than it is object oriented these days. This is mostly a good thing; it also means that (to my eyes) the language has become much more elegant over time. 2) The level of cross-platform compatibility you can get if you're using .NET Core or .NET 5/6 is pretty fantastic. Performance has also improved dramatically. C# is in no way limited to Windows as an environment anymore - unless you have a dependency on .NET Framework. 3) Everybody has dependencies on .NET Framework. Those who don't have dependencies on unmanaged Windows DLLs. 4) Great debugging/developer tools, as others have mentioned. VS and Rider are both top-of-the-line IDEs. 5) C# is not and will never be cool, sexy, or the thing of the moment. It is a language for getting things done in an easy-to-comprehend way and that's just about all it is. I like it very much. |