Времена, когда определяющими были языки программирования уже прошли. Это случилось на рубеже 2000-2010-х годов. Сейчас большее значение имеет выбор платформы программирования. Из наиболее крупных и известных, первой была платформа Java. Но так как она развивалась медленно, компания Microsoft была вынуждена создать свою платформу под названием .NET Framework. Создавалась она на базе первой, поэтому и язык C# очень похож на язык Java.

В платформе, помимо языка программирования важное значение имеют производительность в определенных задачах, наличие сообщества разработчиков, средства разработки, интеграция с другими технологиями, наличие потенциала развития платформы, удобство разработки и обслуживания кода, решения для специализированных задач.

Итак, что же представляет собой платформа .NET. Её основа - это общеязыковая исполнительная среда, которая позволяет запускать и программы, и службы, и сервисы, и сайты. На этой основе созданы прикладные надстройки:

WPF - новаторская векторная графическая подсистема, позволяющая декларативно задавать элементы управления практически любого вида и поведения, а также неограниченная возможность вложенности этих элементов, например, в кнопку можно поместить видео и текстовое поле, а потом это все вращать в трех измерениях, с помощью ползунка, используя возможности двустороннего связывания практически любых свойств объектов, в том числе того же ползунка со значением в базе данных.

WCF - система обмена данных, которая позволяет прозрачно для приложений задействовать различные виды протоколов взаимодействия, объединяемых между собой как конструктор.

LINQ - абстрагированный язык запроса к данным, унифицирующий работу с базой данных SQL, данными XML и объектами в памяти. Также расширяем для использования любых других источников данных. Его удобство заключается в построении запросов к базе данных средствами языка C#, без необходимости работы с языком SQL.

Entity Framework - технология двустороннего отображения информации из базы данных в объекты памяти, для удобства работы с этой информацией. На эту подсистему ложится организация взаимодействия работы с базой данных - создания запросов для чтения и сохранения информации, избавляя программиста от необходимости вручную описывать эти запросы.

Code First - технология позволяющая автоматически создавать структуру базы данных, соответствующую модели данных приложения описанной с помощью классов. Эта технология для простых приложений скрывает весь комплекс работы с базой данных в нескольких строках кода.

SQL Server Compact Edition - база данных, не требующая установки, просто добавляется в проект в виде библиотеки dll и работает, что соответственно упрощает развертывание веб-сайта до простого копирования.

ASP.NET MVC вместе с самим ASP.NET - предоставляют множество классов необходимых для организации работы сайтов и веб-приложений, включая сессии, авторизацию, маршрутизацию URL, валидацию и работу с JavaScript и Ajax. Это такой каркас, который можно заполнять, или переопределять.

Scaffolding - технология, которая позволяет создавать работающие наборы веб-страниц для создания, редактирования, просмотра и удаления определенного класса данных, в том числе учитывая взаимосвязи классов.

Этот весь комплексный обед из инструментария позволяет буквально за несколько минут создать,к примеру, веб-приложение в виде картотеки для хранения данных и выводят на новый уровень процесс более серьезных веб-приложений. Единственный необработанный момент - это наличие в сайте отдельного языка программирования JavaScript, который можно было бы заменить компонентом Silverlight, однако это возможно только для внутрикорпоративных приложений, так как общий тренд в создании клиентской веб-части направлен в сторону HTML5+JavaScript+CSS.