All of the major programming languages have evolved tremendously over the past decade especially to make the developers job easy. C# by Microsoft has been at the top of the game of adding plethora of easy to use and extremely powerful constructs ranging from async programming to functional programming. The well-developed programming languages have made it extremely easy for beginners to pick up coding and start developing applications quickly.
However, when developing extensible applications for the future, just using the language to write down logic for applications does not do the job well. We have to think about the overall design of the application for it to be able to scale and extend well. This means utilizing appropriate design patterns wherever applicable.
by Siddharth Bhola