Занятие №4
Структурный и объектно- ориентированный подходы к программированию. Среда разработки Microsoft Visual Studio.Net
Язык программирования C#
Структурный и объектный подходы к программированию
Структурный подход к программированию представляет собой совокупность технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших (до 40 - 50 операторов) подпрограмм (модулей).
Структурный подход требовал представления задачи в виде иерархии подзадач простейшей структуры.
При увеличении размера программы обычно возрастает сложность межмодульных интерфейсов, и предусмотреть взаимовлияние отдельных частей программы становится практически невозможно.
Для разработки программного обеспечения большого объема было предложено использовать объектно - ориентированный подход .
При объектно - ориентированном подходе программа представляется в виде совокупности объектов , каждый из которых является экземпляром определенного типа ( класса ), а классы образуют иерархию с наследованием свойств . Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.
При объектно - ориентированном подходе для разработки программ используются различные языки программирования. В последнее время большую популярность получили такие языки программирования, как С# и Java .
Из истории: 1972 год – появился язык С ;
1983 год – язык С++;
1998-2001 - разработка языка С # .
Первая официальная версия языка С # появилась в 2002
году.
Для разработки программ используются специальные
среды для разработки. Первая версия С # вышла вместе со
средой для разработки с Microsoft Visual Studio .NET в
феврале 2002 года.
Текущей версией языка является версия C# 7.0, которая
вышла в 7 марта 2017 года вместе с Visual Studio 2017.
Последняя версия Visual Studio 2019.
Microsoft Visual Studio .NET называют еще фреймворком.
Фреймворк .NET представляет мощную платформу для
создания приложений.
Можно выделить следующие ее основные черты:
Поддержка нескольких языков . Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), благодаря чему .NET поддерживает несколько языков: наряду с C# это также VB.NET, C++, F#, а также различные диалекты других языков, привязанные к .NET, например, Delphi.NET. При компиляции код на любом из этих языков компилируется в сборку на общем языке CIL (Common Intermediate Language) - своего рода ассемблер платформы .NET. Поэтому мы можем сделать отдельные модули одного приложения на отдельных языках.
Кроссплатформенность. .NET является переносимой платформой (с некоторыми ограничениями). Например , последняя версия платформы .NET Framework поддерживается на большинстве современных ОС Windows (Windows 10/8.1/8/7/Vista).
А благодаря проекту Mono можно создавать приложения, которые работают и на других ОС семейства Linux, в том числе на мобильных платформах Android и iOS.
Мощная библиотека классов . .NET представляет единую для всех поддерживаемых языков библиотеку классов. И какое бы приложение мы не собирались писать на C# - текстовый редактор, чат или сложный веб-сайт - так или иначе мы задействуем библиотеку классов .NET.
Разнообразие технологий . Общеязыковая среда исполнения CLR и базовая библиотека классов являются основой для целого стека технологий, которые разработчики могут задействовать при построении тех или иных приложений.
Особенностью языка C# и фреймворка .NETявляется автоматическая сборка мусора .
Это значит, что не придется, в отличие от С++, заботиться об освобождении памяти. Общеязыковая среда CLR сама вызовет сборщик мусора и очистит память.
Приложение, созданное на C#, называют приложением, с управляемым кодом (managed code).
Это значит, что данное приложение создано на основе платформы .NET и поэтому управляется общеязыковой средой CLR, которая загружает приложение и при необходимости очищает память.
JIT-компиляция
Исходный код на C# компилируется в промежуточный код с расширениями exe или dll на языке CIL ( Common Intermediate Language) . Далее при запуске на выполнение подобного приложения происходит JIT-компиляция (Just-In-Time) в машинный код, который затем выполняется. Эти функции выполняет сама среда CLR.
При этом, приложение может быть большим и содержать тысячи инструкций (операторов), в текущий момент времени будет компилироваться лишь та часть приложения, к которой непосредственно идет обращение. Если будет обращение к другой части кода, то она будет скомпилирована из CIL в машинный код. При том уже скомпилированная часть приложения сохраняется до завершения работы программы. В итоге это повышает производительность.
Язык программирования C# один из самых мощных, быстро развивающихся и востребованных языков в IT -отрасли. Его используют для написания самых различных приложений: от небольших десктопных программ до крупных веб-порталов и веб-сервисов, обслуживающих ежедневно миллионы пользователей.
По сравнению с другими языками C# достаточно молодой.
C# является языком с Си-подобным синтаксисом и близок в этом отношении к C++ и Java.
C# является объектно-ориентированным и в этом плане много перенял у Java и С++.
Объектно-ориентированный подход позволяет решить задачи по построению крупных, но в тоже время гибких, масштабируемых и расширяемых приложений. C# продолжает активно развиваться, и с каждой новой версией появляется все больше новых функциональностей.