Освой C# самостоятельно

Вступление

В этом цикле уроков мы будем изучать новый язык программирования С# (произносится «си-шарп»), который представляет собой одну из самых последних разработок компании Microsoft. Для уроков будут использованы лучшие примеры из различных книг, а также собственные наработки автора.

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

История C#

Язык С# был разработан Эндерсом Хейлсбергом (Anders Hejlsberg) при участии Скотта Уилтамута (Scott Wiltamuth) и Питера Гоулда (Peter Golde) в Microsoft в качестве основного языка разработки для .NET Framework в 2000 году. Хейлсберг был главным архитектором языков Turbo Pascal и Borland Delphi, и его богатый опыт помог в создании очень мощного и удобного нового языка.

С тех пор язык сильно вырос в плане популярности и стал чуть ли не самым предпочитаемым языком среди разработчиков Windows- и Web-приложений, которые используют .NET Framework. Отчасти привлекательность языка С# связана с его понятным синтаксисом, который происходит от синтаксиса C/C++, но упрощает некоторые вещи. Несмотря на это упрощение, язык С# обладает той же мощью, что и C++, и потому теперь нет никакой причины не переходить на его использование. Простота в изучении в сочетании с возможностями .NET Framework превращают язык С# в прекрасный вариант для начала программистской карьеры.

Что необходимо для уроков?

Для уроков в качестве основного средства разработки используется Visual Studio 2010 Express (бесплатная версия).

Платформа Microsoft .NET Framework

Платформа Microsoft .NET Framework предоставляет большие возможности разработчикам программ. Microsoft .NET Framework содержит обширную библиотеку классов, существенно облегчающей решение задач, наиболее часто возникающих при создании программ и веб-приложений. Эта библиотека насчитывает десятки тысяч классов, готовых к употреблению, что позволяет использовать в своих разработках готовые и отлаженные модули. Приложения Microsoft .NET работают в среде Microsoft .NET Framework в рамках системы исполнения программ Common Language Runtime (CLR).

Совмещение разных языков программирования

Разработчик приложений для Microsoft .NET Framework более не стоит перед мучительным выбором языка программирования — на этой платформе доступны трансляторы многих языков программирования - Microsoft C#, Microsoft Visual Basic .NET, Managed C++, JScript.NET, Visual Perl и др. Хотя теперь проблема выбора языка программирования стоит не так остро, из-за ограничений, присущих некоторым языкам программирования, наиболее полно возможности платформы Microsoft .NET Framework можно реализовать только с применением С#. Для достижения совместимости между различными языками программирования компиляторы языков платформы Microsoft .NET Framework переводят исходный текст программы в промежуточный язык, называемый Microsoft Intermediate Language (MSIL). Таким образом, на каком бы вы языке платформы Microsoft .NET Framework не писали свою программу — на С#, Visual Basic .NET или каком-либо другом, эта программа всегда будет транслироваться в MSIL. Чтобы у всех разработчиков языков программирования была возможность создавать свои компиляторы совместимыми со средой выполнения Microsoft .NET Framework, была создана спецификация Common Language Specification (CLS). Придерживаясь этой спецификации, разработчики языков программирования могут быть уверены в том, что создаваемые с применением этих языков программы будут удовлетворять минимальным требованиям платформы Microsoft .NET Framework. В частности, эти программы смогут взаимодействовать с программами, разработанными с использованием других языков платформы Microsoft .NET.

Виртуальная машина CLR

Как мы уже говорили, исходный текст программы, написанной на языке программирования С# или другом языке платформы Microsoft .NET Framework, перед исполнением транслируется в промежуточный язык MSIL. С целью обеспечения безопасности исполнения код MSIL интерпретируется специальной виртуальной машиной в рамках системы исполнения программ Common Language Runtime (CLR).

Что такое виртуальная машина и как она обеспечивает безопасность выполнения программы MSIL? Виртуальная машина CLR, обеспечивающая работу программ платформы Microsoft .NET Framework, закрывает доступ этим программам к ресурсам других процессов, работающих на том же компьютере. В результате программа никоим образом не сможет нарушить работоспособность остальных программ или ОС. Код MSIL, получающийся в результате трансляции программы, составленной на языке С# или другом языке платформы Microsoft .NET Framework, выполняется под полным контролем виртуальной машины CLR. Такой код, в отличие от обычного исполняемого кода, получающегося после трансляции программ С и Pascal, называется управляемым кодом (managed code).

Системные требования

Для написания программ на C# разработано множество инструментов. Самый стандартный способ - использовать среду разработки Visual Studio. Но можно обойтись и без этого продукта и писать программы в обычном блокноте Notepad! Для этого вам надо установить .NET Framework SDK и вы сможете компилировать программы с помощью командной строки.

Управляемый и неуправляемый код

Когда вы пишете программу на C#, то создаете так называемый управляемый код. Правила управляемого кода обеспечивают корректную работу программ, написанных на любом языке платформы Microsoft .NET Framework. Требования, которым должен соответствовать управляемый код, следующие:

Также можно использовать неуправляемый код, который не выполняется CLR. Управляемый и неуправляемый код можно использовать вместе.

Объектно-ориентированное программирование

Язык C# базируется на принципах объектно-ориентированного программирования (ООП) и поддерживает такие понятия, как инкапсуляция, полиформизм и наследование.

Реклама