- •Лекция 1_2. Вступ
- •1. Вступ до дисципліни.
- •Перечень рекомендуемой литературы
- •2.Основні етапи розробки програм
- •Постановка задачи
- •2.2 Математическая формализация задачи
- •Состав и тип данных
- •2.3 Выбор метода решения
- •2.4 Разработка алгоритма
- •2.5 Разработка программы (кодирование)
- •2.6 Отладка и тестирование программы
- •2.7 Анализ результатов. Уточнение модели.
- •2.8 Эксплуатация и сопровождение программы:
- •3. Поняття алгоритму, його властивості та форми подання
- •Формы представления алгоритмов.
- •Базовые алгоритмические конструкции.
- •Метод пошаговой детализации
- •4.Основні поняття платформи Microsoft .Net
- •Что такое и что дает dotNet?
- •Средства и технологии разработки
- •Для программистов...
- •5. Культура програмування.
- •6. Лексичні основи мов високого рівня Парадигмы программирования
- •Стандартизация языков программирования
- •Среда проектирования
- •Управляющие структуры
- •Определение последовательности действий в выражениях
- •Операции
- •Операторы
- •Составные операторы
- •Операторы выбора
- •Операторы цикла
- •Операторы перехода
- •Операторы исключений
Что такое и что дает dotNet?
Отвечая на каждый вопрос, можно сказать, что dotNet — новая технология Microsoft, направленная на изменение компьютерного мира, а если говорить чуть подробнее, то это набор нескольких инициатив и технологий, программного обеспечения, стандартов и средств разработки. Основное преимущество dotNet для потребителя — реализация единого информационного пространства, соединяющего его с компьютерами и программами, а также ПО между собой. Разработчикам же она позволит просто и быстро создавать нужные продукты.
История возникновения
В 2001-м году возникла новая технология. Основные вехи:
-
2002 .NET Framework 1.0
-
2003 .NET Framework 1.1
-
2005 .NET Framework 2.0
-
2007 .NET 3.0 (вместе с выходом Vista), Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), и Windows CardSpace (WCS, formerly "InfoCard").
-
2010 .NET Framework 4.0
Основные языки семейства .NET
Языки которые входят в Visual Studio 2010:
-
C#
-
Visual Basic .NET
-
C++ .NET extensions
-
F#
Поскольку формат .NET Framework является открытым, то появились независимые компиляторы
-
Perl .net
-
Python .net
Особенности языка (+)
-
Отсуствие необходимости удалять объекты
-
Скорость разработки
-
Возможность писать на любимых языках
-
Широкая распространенность
-
Большая востребованность в специалистах
-
Кроссплатформенность
-
Активная поддержка Microsoft
Особенности (-)
-
Необходимость в виртуальной машине
-
Производительность
-
Невозможность работать с памятью напрямую
Помощь разработчику
-
Наличие дворника (сборщика мусора)
-
Дружественная среда
-
Большая библиотека компонент
Принцип работы сборщика мусора
-
Основной недостаток неуправляемого кода – прямой доступ к памяти, вследствие этого – ДЕФРАГМЕНТАЦИЯ памяти
-
Сборщик мусора следит за использование памяти, и потом удаляет неиспользуемые объекты, после чего переставляет указатели, чтобы оставшиеся объекты стояли друг за другом
Поддержка кириллицы
Можно именовать переменные на любом языке , который можно записать в Unicode, например на русском
ПЛАТФОРМА – в контексте информационных технологий – среда, обеспечивающая выполнение программного кода. Платформа определяется характеристиками процессоров, особенностями операционных систем.
Framework – это инфраструктура среды выполнения программ. Нечто, определяющее особенности разработки и выполнения программного кода на данной платформе. Предполагает средства организации взаимодействия с операционной системой и прикладными программами, методы доступа к базам данных, средства поддержки распределённых (сетевых) приложений, языки программирования, множества базовых классов, унифицированные интерфейсы пользователя, парадигмы программирования).
Итак, ясно: чтобы получить полное представление о dotNet, нужно узнать, из чего она состоит и что дает.
На сайте Microsoft всех интересующихся dotNet разделили на три категории (интересная классификация, не правда ли): пользователи и разработчики, профессионалы в области информационных технологий, бизнесмены, и для каждой предложили разъяснение, что дает dotNet именно ей.
Разработчикам dotNet позволяет создавать мощные программы, использующие все возможности современных компьютеров и сетей без реализации вспомогательных функций (практически почти все эти функции берет на себя платформа), и заниматься только реализацией бизнес-логики своего продукта. Следовательно, они будут способны быстро создавать качественные (и простые!) программы, имеющие множество возможностей, интегрированных c Internet, столь необходимые пользователям. Это ведет к улучшению и удешевлению ПО, а также к уменьшению количества ошибок.
Платформа dotNet также включает в себя и те серверные продукты, которые могут применять не только (и не столько) создатели ПО, но и разработчики сложных корпоративных информационных систем.
Архитектура .NET Framework
К основным компонентам среды dotNet относятся операционная система, под управлением которой работает Среда исполнения общего языка (CLR, Common Language Runtime) и ее сервисы (библиотеки классов и библиотеки, поддерживающие технологии WebService, WebForms, WinForms и т. д.). Технология dotNet позволяет упрощать создание программных компонентов и контролировать исполнение. Их можно разрабатывать на языках программирования Cи++, Visual Basic и новом языке C# фирмы Microsoft (его название произносится как «си-шарп», а если перевести с языка нотной записи, то как до-диез, т. е. тот же Cи или Cи++, но на полтона выше). Это достигается с помощью Среды исполнения общего языка. Если раньше все программы, кроме интерпретируемых, выполнялись непосредственно с помощью ОС и команд процессора, то с появлением CLR разработчики смогут выбирать, какие создавать продукты: либо выполняющиеся на свой страх и риск, самостоятельно оперирующие возможностями ОС и процессора, либо такие, за работой которых будет строго следить CLR, проверяя, правильно ли выделяются и вовремя ли высвобождаются ресурсы, не происходит ли недопустимых действий и т. д. Неконтролируемые (unmanaged) программы пишутся только на Cи++, а контролируемые (managed) — на Cи++, Visual Basic или C#. Но чудес не бывает — и контролируемые программы делаются только на подмножестве Cи++. Несколько примиряет с этим то, что теперь разрешено создавать класс на Cи++, наследовать от него в Visual Basic, а использовать на C#.
Среда CLR напоминает и Java, и виртуальную машину Java с исполнением байт-кода, за исключением следующего:
-
Байт-код здесь называется промежуточным языком (Intermediate Language) и имеет открытую спецификацию, что дает надежду на перенос в CLR других языков программирования.
-
Программы можно создавать на нескольких языках одновременно, смешивая исходные тексты на уровне компонентов.
-
Благодаря поддержке ОС программы не интерпретируются при исполнении, а транслируются до этого (технология JIT compilation — just in time compilation), а затем функционируют уже обработанные модули. Причем применяются экономичные и производительные алгоритмы разбора и продукции, сохраняются откомпилированные модули и т. д., что позволяет в определенной степени предполагать отсутствие проблем, связанных с производительностью.
Кроме того, CLR включает разнообразные средства, упрощающие разработку (отладчики, профайлеры и т.п.), распространение и поддержку программ (контроль версий, регистрация, использование мета-данных, и т.д.), а также их выполнение (прокси-серверы, контроль использования памяти, сборка мусора и др.).