I’m developing applications using .NET for over 10 years now. The variety of applications I made with .NET are from small tools to distributed systems. I developed WinForm applications, WPF and Xamarin applications, and most importantly web applications using dotnet. It’s my main platform so I love it.
The most important features of .NET that makes it special in my opinion are:
- Cross-platform, with dotnet becoming cross-platform it would eliminate any suspicion about it’s survival for many decades.
- Runtime reflection, being able to obtain information about objects or manipulate objects at runtime can be very useful for making many parts of system automatic.
- Delegation and closures are very useful in many aspects of programming, specially when you want to use best suited patterns in complex applications. Many plaforms had suffer from lack of this feature in the past but most of them are supporting delegation in the latest releases, but dotnet have had this feature from the very early life-cycle of the platform and it was essential for it’s event system.
- Expression Trees (Linq), being able to generate runtime code with pseudo codes is amazing and will allow someone to generate high performance code in run-time.
- It has the best of every world, almost every pattern and approach is doable in C# and dotnet platform.
- Great syntax, C# is a nice-looking language that is enjoyful to code with.
What I’ve Made
- I use .NET for web API development, because I feel that it’s the most suitable platform for developing APIs.
- I learned to develop interpreters and compilers in .NET, it accually has a lot of features that will help you in text processing, like enumerables and lazy functions, or the most recent feature of spans and memories.
- I developed many custom protocols with dotnet. (e.g. yielded promise)