Теоретические основы программирования на C#
Существует огромное количество людей, которые интересуются компьютерными технологиями, их еще можно назвать гиками. Рано или поздно такому энтузиасту приходит в голову мысль о создании своих собственных прикладных программ, конечно в этом случае речь не идет о новой операционной системе, скорее о простеньком приложении а-ля математический калькулятор. Многие школьники, которые только начали изучать Visual Basic на уроках информатики, мечтают создать собственную игру и т.п. Конечно можно начать с логарифмической линейки и пройти весь путь матерого программиста, но можно и почти мгновенно окунуться в мир программирования, естественно, не для практического опыта а для ознакомления с целью вовлечения! Существуют языки программирования традиционно наиболее подходящие для обучения, но в процессе освоения обучающихся отпугивает большой, непонятный исходный код примеров программ, сложности с настройкой инструментария, непривычные среды исполнения программы, такие как запуск в интерпретаторе команд. Исходя из этих соображений многие педагоги рекомендуют делать первые шаги с современным и активно развивающимся языком C# или C Sharp, который базируется на программной платформе .NET Framework.
В этой статье я коротко изложу теорию предназначения и работы с языком C Sharp, а так же суть работы с программой для создания проектов на различных языках программирования — Visual Studio. Вы спросите, почему именно Visual Studio, потому что это наиболее оптимальная программа для создания подобных проектов. Надо сказать, что программировать на всех представленных в VS языках можно и в других средах или редакторах, но в качестве IDE для C# программирования явных конкурентов у VS пока не существует или они находятся на «незрелой» стадии развития. Благодаря Visual Studio мы без всяких затруднений можем создать любой интерфейс программы (GUI или UI), любые параметры обработки информации. В этой статье также будет приведен пример работы в этой IDE. А в моих следующих статьях я помогу вам создать свои первые программы — такие как калькулятор, простые игры и многое другое. Но для начала давайте рассмотрим возможности Visual Studio.
Возможности Visual Studio
Приступив к изучению C# мы получаем целую связку готовых для работы решений, многие из них предоставляются бесплатно, например, одна из современных версий Visual Studio. Благодаря простому интерфейсу программы, с ней не тяжело разобраться. С помощью VS мы можем создавать программы на таких известных языках программирования как: C, C++, C#, Visual Basic и т.д. На всех этих языках в VS мы можем создать любое приложение, любого формата — консольное приложение, обычную Windows форму, приложение для Windows Phone смартфона, библиотеку классов и тому подобные приложения. Студия очень удобна тем, что там не нужно прописывать абсолютно все коды элементов в ручном режиме (как в простом текстовом редакторе), в среде уже готовы все коды элементов управления (кнопки, чек-боксы, текстовые окна и тому подобные элементы). Что же из себя представляет C# (произносится как си шарп) непосредственно как язык?
- C# — является наследственным сыном двух мощных языков — C++ и Java,
- C# — очень удобен в использовании (написании программ), у него достаточно простой синтаксис и мощные сигнатуры, благодаря которым мы можем создать базы данных не хуже чем SQL или LINQ,
- C# — сейчас очень распространен и является одним из самых оптимальных языков программирования.
История появления C#
История си шарп — является недавней. Язык появился на свет в июне 2000 г. в результате кропотливой работы большой группы разработчиков компании Microsoft, возглавляемой Андерсом Хейлсбергом (Anders Hejlsberg). Этот человек известен как автор одного из первых компилируемых языков программирования для персональных компьютеров IBM — Turbo Pascal. Наверное, на территории бывшего Советского Союза многие разработчики со стажем, да и просто люди, обучавшиеся в той или иной форме программированию в вузах, испытали на себе очарование и удобство использования этого продукта. Кроме того, во время работы в корпорации Borland Андерс Хейлсберг прославился созданием интегрированной среды Delphi (он руководил этим проектом вплоть до выхода версии 4.0).
Появление языка си шарп и инициативы .NET отнюдь не случайно пришлось на начало лета 2000 г. Именно к этому моменту компания Microsoft подготовила промышленные версии новых компонентных технологий и решений в области обмена сообщениями и данными, а также создания Интернет-приложений (COM+, ASP+, ADO+, SOAP, Biztalk Framework). Несомненно, лучшим способом продвижения этих новинок является создание инструментария для разработчиков с их полноценной поддержкой. В этом и заключается одна из главных задач нового языка. Кроме того Microsoft не могла больше расширять одни и те же инструменты и языки разработки, делая их все более и более сложными для удовлетворения конфликтующих между собой требований поддержки современного оборудования и обеспечения обратной совместимости с теми продуктами, которые были созданы в начале 1990-х гг. во время первого появления Windows. Наступает момент, когда необходимо начать с чистого листа для того, чтобы создать простой, но имеющий сложную структуру набор языков, сред и средств разработки, которые позволят разработчику легко создавать современные программные продукты.
С# и .NET являются той самой отправной точкой. Если говорить упрощенно, то .NET представляет собой новую платформу, новый API для программирования в Windows, а С# ее новый язык, созданный с нуля, для работы с этой платформой, а также для извлечения всех выгод из прогресса сред разработки и нашего понимания принципов объектно-ориентированного программирования в течение последних 20 лет.
Необходимо отметить, что обратная совместимость не потеряна. Существующие программы будут выполняться, а платформа .NET была спроектирована таким образом, чтобы она могла работать с имеющимся программным обеспечением. Связь между компонентами в Windows сейчас почти целиком осуществляется при помощи СОМ. С учетом этого .NET обладает способностью создавать оболочки (wrappers) вокруг существующих компонентов СОМ, так что компоненты .NET могут общаться с ними, и создавать оболочки вокруг компонентов .NET, что позволяет им выглядеть как обычные СОМ-компоненты.
Авторы C# стремились создать язык, сочетающий простоту и выразительность современных объектно-ориентированных языков (вроде Java) c богатством возможностей и мощью C++. По словам Андерса Хейлсберга, C# позаимствовал большинство своих синтаксических конструкций из C++. В частности, в нем присутствуют такие удобные типы данных, как структуры и перечисления (другой потомок C++ — Java лишен этих элементов, что создает определенные неудобства при программировании). Синтаксические конструкции С# унаследованы не только от C++, но и от Visual Basic. Например, в С#, как и в Visual Basic, используются свойства классов. Как и C++ позволяет производить перегрузку операторов для созданных вами типов, Java не поддерживает ни ту, ни другую возможность. С# — это фактически гибрид разных языков, при этом синтаксически не менее (если не более) чист чем Java, так же прост как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++.
Особенности С#
Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы, когда имеет значение, занимать исполнение цикла 1000 или 1050 машинных циклов, и освобождать ресурсы требуется немедленно. C++ остается в этой области наилучшим из языков низкого уровня. В С# отсутствуют некоторые ключевые моменты, необходимые для создания высокопроизводительных приложений, в частности подставляемые функции и деструкторы, выполнение которых гарантируется в определенных точках кода.