Язык программирования Си с самого момента своего появления не давал разработчикам покоя. С одной стороны, это был язык системного программирования, близкого к машинному. С другой стороны, мир программирования в то время потрясали новые парадигмы и технологии, связанные с наступлением эры объектно-ориентированного программирования (ООП). И его возможностей в Си явно не хватало, несмотря на появление первых версий C++ от Borland. Кстати, были и обратные попытки еще более упросить Си: до сих пор популярен проект Sphinx C--, где из программ была выброшена вся RTL-часть.
Но мир ждал большего, поэтому появились все эти C++, C builder, C# (Си-шарп). Последний увидел свет в далеком 2001 году и уже дошел до 4-й версии. Как и остальные подобные языки, он заимствовал синтаксис от Си и Java – к тому времени программисты не поняли бы значительных изменений. Вместе с тем, как и C++, Си-шарп не является прямым потомком Си – они просто похожи. Как и с Java, которую можно назвать лишь двоюродной сестрой этому языку. Некоторые же программисты просто уверены, что Си-шарп является тем же Delphi c его RAD-оболочкой, просто синтаксис другой. И все это правда. Самое главное отличие нового языка программирования заключается в том, что работать он может только в среде .
NET Framework. Еще недавно эту платформу программисты ставили исключительно осознанно, зато теперь он включена в ОС, начиная с Vista. Что дает подобная платформа? Во-первых, она максимально независима от ОС – программы под ней даже не трогают реестр! Во-вторых, в разработке пакетов можно использовать разные языки программирования – их результаты объединяются на этапе позднего связывания. И это благодаря тому, что каждый компилятор сначала создает программу на промежуточном MSIL-коде. Интересно, но когда-то ранее уже был проект под названием TopSpeed, где языки программирования (Pascal, Modula, C) включались в единую среду как в слоты, а линкер и генератор кода у них был общим. Но речь у нас не об истории и даже не о технологии .NET.
Си-шарп в процессе своего развития, как комбайн, сгреб многие лучшие стороны и технологии передовых языков того времени. При этом авторы, стараясь не усложнять язык, выбросили из него некоторые ненужные вещи – к примеру, множественное наследование классов, сборщики мусора и т.д. Не забываем про платформу .
NET – она содержит все необходимые и хорошо структурированные классы. Плюс к этому, с развитием платформы возможности языка Си-шарп улучшались автоматически. К примеру, поддержка интернациональных приложений, поддержка 64-битных систем и т.д. С версии 3 язык и сам довольно сильно обновился, при этом не потеряв своей относительной простоты. В любом случае, в программистском сообществе язык был встречен очень тепло.