Системы программирования: основные понятия. Лекция 2: Современные системы программирования презентация

Содержание

Слайд 2

Вопросы лекции

Кафедра теоретической физики и теплотехники ФТФ

Вопросы лекции Кафедра теоретической физики и теплотехники ФТФ

Слайд 3

1. Современные системы программирования

Кафедра теоретической физики и теплотехники ФТФ

1. Современные системы программирования Кафедра теоретической физики и теплотехники ФТФ

Слайд 4

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

Согласно ГОСТ 19781-90, система программирования (programming system) — система, образуемая языком

программирования, компиляторами или интерпретаторами программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.
Системой программирования будем называть комплекс программных средств, предназначенных для кодирования, тестирования и отладки программного обеспечения.

Кафедра теоретической физики и теплотехники ФТФ

Современные системы программирования Согласно ГОСТ 19781-90, система программирования (programming system) — система, образуемая

Слайд 5

состав современных систем программирования

интегрированная среда разработчика программ;
транслятор языка программирования;
компоновщик или редактор связей;
библиотеки стандартных

программ (подпрограмм) и функций;
вспомогательные программные средства — программы отладки;
справочная система.

Кафедра теоретической физики и теплотехники ФТФ

состав современных систем программирования интегрированная среда разработчика программ; транслятор языка программирования; компоновщик или

Слайд 6

2. интегрированная среда разработчика программ

Кафедра теоретической физики и теплотехники ФТФ

2. интегрированная среда разработчика программ Кафедра теоретической физики и теплотехники ФТФ

Слайд 7

IDE и редакторы кода

IDE (Integrated Development Environment) и редактор кода – это виды

программного обеспечения, предназначенные для работы над приложениями, их разработки и тестирования. Возможности этих инструментов отличаются.
Как правило, IDE состоит из:
самого текстового редактора для написания и редактирования кода;
компилятора – инструмента, позволяющего перевести текст, написанный на языке программирования, в набор машинных кодов;
отладчика, проверяющего код и устраняющего в нем ошибки;
инструментов для автоматизации сборки кода, ускоряющих процесс разработки.
Многие IDE позволяют настраивать дополнительные фреймворки и библиотеки для расширения возможностей разработки.

Кафедра теоретической физики и теплотехники ФТФ

IDE и редакторы кода IDE (Integrated Development Environment) и редактор кода – это

Слайд 8

Сравнение популярных IDE

Кафедра теоретической физики и теплотехники ФТФ

постоянно расширяющийся магазин дополнений, предоставляющий надстройки

для расширения возможностей взаимодействия с IDE;
встроенная технология автозавершения кода IntelliSense;
возможности для командной работы: управление доступами к проекту, полностью настраиваемые параметры редактора;
мультиязычность;
индивидуальная настройка рабочей панели;
есть поддержка split screen.

Microsoft Visual Studio

отсутствие возможности работы на Linux ОС;
это достаточно тяжеловесная среда. Если у вас нет необходимости разрабатывать консольные приложения, то можно рассмотреть более подходящий редактор кода.

Сравнение популярных IDE Кафедра теоретической физики и теплотехники ФТФ постоянно расширяющийся магазин дополнений,

Слайд 9

Microsoft Visual Studio

Кафедра теоретической физики и теплотехники ФТФ

Microsoft Visual Studio Кафедра теоретической физики и теплотехники ФТФ

Слайд 10

Сравнение популярных IDE

Кафедра теоретической физики и теплотехники ФТФ

автозавершение кода, автопоиск и исправление ошибок

в коде;
поддержка сред для веб-разработки Django, Flask, Google App Engine, Pyramid и web2py;
интеграция с системами контроля версий;
интеграция с Jupyter Notebook, Anaconda и другими библиотеками;
отладчик, профилировщик Python, встроенные терминал и инструменты баз данных.

PyCharm

версия Community не поддерживает многие инструменты, нет профилировщика Python и поддержки баз данных;
отсутствует возможность оплаты Professional версии в Беларуси.

Сравнение популярных IDE Кафедра теоретической физики и теплотехники ФТФ автозавершение кода, автопоиск и

Слайд 11

PyCharm

Кафедра теоретической физики и теплотехники ФТФ

PyCharm Кафедра теоретической физики и теплотехники ФТФ

Слайд 12

Сравнение популярных IDE

Кафедра теоретической физики и теплотехники ФТФ

автозавершение и исправление кода;
мультиязычность;
удобная рабочая среда,

которая интуитивно понимает ваши действия и автоматически вызывает нужные инструменты;
интеграция с системами контроля версий;
анализ кода в реальном времени и надежные рефакторинги.

IntelliJ IDEA

отсутствие в Community-версии инструментов профилирования, баз данных;
отсутствует возможность удаленной разработки;
сложная платформа для начинающих разработчиков.

Сравнение популярных IDE Кафедра теоретической физики и теплотехники ФТФ автозавершение и исправление кода;

Слайд 13

IntelliJ IDEA

Кафедра теоретической физики и теплотехники ФТФ

IntelliJ IDEA Кафедра теоретической физики и теплотехники ФТФ

Слайд 14

Сравнение популярных IDE

Кафедра теоретической физики и теплотехники ФТФ

бесплатная интегрированная среда для разработки;
возможность просмотра

значений переменных;
доступная функция анализа ошибок с подсказками в случае нахождения ошибок;
автодополнение кода;
кроссплатформенность, дает возможность работать на Windows, macOS, Linux.

Spyder

инструмент во многом предназначен для работы с данными. Для других задач подходит не так хорошо, как другие IDE.

Сравнение популярных IDE Кафедра теоретической физики и теплотехники ФТФ бесплатная интегрированная среда для

Слайд 15

Spyder

Кафедра теоретической физики и теплотехники ФТФ

Spyder Кафедра теоретической физики и теплотехники ФТФ

Слайд 16

Сравнение популярных IDE

Кафедра теоретической физики и теплотехники ФТФ

бесплатная опенсорс среда;
мультиязычность;
доступны расширение возможностей и

тонкая настройка за счет дополнительных плагинов;
вокруг IDE сформировано большое комьюнити, помогающее с решением возникающих проблем;
настраиваемый интерфейс;
возможность интеграции JUnit и проведения оптимизации тестов.

Eclipse

возможности Eclipse не такие большие, как у Microsoft Visual Studio, но она распространяется с открытым исходным кодом, поэтому можно настраивать под свои потребности;
сложная IDE для разработчиков-новичков.

Сравнение популярных IDE Кафедра теоретической физики и теплотехники ФТФ бесплатная опенсорс среда; мультиязычность;

Слайд 17

Eclipse

Кафедра теоретической физики и теплотехники ФТФ

Eclipse Кафедра теоретической физики и теплотехники ФТФ

Слайд 18

Сравнение популярных IDE

Кафедра теоретической физики и теплотехники ФТФ

доступна возможность установки пакетов для работы

с другими языками;
умное автозавершение кода и визуальный отладчик;
простой и настраиваемый интерфейс рабочего пространства;
возможности совместной разработки при работе в команде.

NetBeans

большое потребление памяти.

Сравнение популярных IDE Кафедра теоретической физики и теплотехники ФТФ доступна возможность установки пакетов

Слайд 19

NetBeans

Кафедра теоретической физики и теплотехники ФТФ

NetBeans Кафедра теоретической физики и теплотехники ФТФ

Слайд 20

Сравнение популярных редакторов кода

Кафедра теоретической физики и теплотехники ФТФ

кроссплатформенность: поддержка на Windows, macOS

и Linux;
встроенная технология автодополнения кода IntelliSense;
множество бесплатных расширений в маркетплейсе;
полностью бесплатный редактор.

Visual Studio Code

в Visual Studio Code доступно меньше инструментов, чем в полноценной IDE от Microsoft;
отсутствует поддержка split screen.

Сравнение популярных редакторов кода Кафедра теоретической физики и теплотехники ФТФ кроссплатформенность: поддержка на

Слайд 21

Visual Studio Code

Кафедра теоретической физики и теплотехники ФТФ

Visual Studio Code Кафедра теоретической физики и теплотехники ФТФ

Слайд 22

Сравнение популярных редакторов кода

Кафедра теоретической физики и теплотехники ФТФ

большой выбор дополнений для поддержки

синтаксиса и редактирования кода;
навигация Goto Anything дает возможность быстро получать доступ к файлам;
позволяет быстро перемещаться между проектами с сохранением изменений;
множественное выделение позволяет вносить изменения в строки кода сразу в нескольких местах.

Sublime Text

для полного использования всех функций необходимо приобрести лицензии;
отсутствует функция автоматической отладки и боковая панель, как, например, в Visual Studio Code.

Сравнение популярных редакторов кода Кафедра теоретической физики и теплотехники ФТФ большой выбор дополнений

Слайд 23

Sublime Text

Кафедра теоретической физики и теплотехники ФТФ

Sublime Text Кафедра теоретической физики и теплотехники ФТФ

Слайд 24

Сравнение популярных редакторов кода

Кафедра теоретической физики и теплотехники ФТФ

подходит для начинающих;
редактор можно настроить

под свои требования;
возможность установки новых плагинов;
мультиязычность;
интеграция с Node.js, включая запуск веб-сервера прямо из редактора.

Atom

сильная нагрузка на мощности из-за встроенного браузера, внутри которого постоянно выполняется JavaScript-код.

Сравнение популярных редакторов кода Кафедра теоретической физики и теплотехники ФТФ подходит для начинающих;

Слайд 25

Atom

Кафедра теоретической физики и теплотехники ФТФ

Atom Кафедра теоретической физики и теплотехники ФТФ

Слайд 26

3. Трансляторы

Кафедра теоретической физики и теплотехники ФТФ

3. Трансляторы Кафедра теоретической физики и теплотехники ФТФ

Слайд 27

Трансляторы: компилятор и интерпретатор

Транслятор (англ. translator - переводчик) - это программа-переводчик. Она преобразует

программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Компилятор (англ. compiler - составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.
Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

Кафедра теоретической физики и теплотехники ФТФ
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

!!!

Трансляторы: компилятор и интерпретатор Транслятор (англ. translator - переводчик) - это программа-переводчик. Она

Слайд 28

интерпретатор

Кафедра теоретической физики и теплотехники ФТФ

интерпретатор Кафедра теоретической физики и теплотехники ФТФ

Слайд 29

интерпретатор

Кафедра теоретической физики и теплотехники ФТФ

интерпретатор Кафедра теоретической физики и теплотехники ФТФ

Слайд 30

компилятор

Кафедра теоретической физики и теплотехники ФТФ

компилятор Кафедра теоретической физики и теплотехники ФТФ

Слайд 31

Компилятор

Кафедра теоретической физики и теплотехники ФТФ

Компилятор Кафедра теоретической физики и теплотехники ФТФ

Слайд 32

Байт-код

Кафедра теоретической физики и теплотехники ФТФ

Язык Java вообще применил гибридный метод – программа

на самом деле компилируется, но не в машинный код, а в специальный байт-код, который выполняется в виртуальной машине. То есть интерпретатор Java – это как бы отдельный компьютер внутри компьютера, который исполняет программы в своих собственных машинных кодах.
Компилятору Java не нужно переводить программы в разные машинные коды для разных систем – он переводит их всегда в один и тот же код для своей собственной виртуальной машины, которая на всех системах работает одинаково. Но так как этот код – не нативный, т.е. не "родной" код для процессора, то он по-прежнему интерпретируется виртуальной машиной, которая переводит его в нативный код. Но так как этот код уже оптимизирован для интерпретации (он почти машинный, "полуфабрикат"), то и интерпретатор работает гораздо быстрее.

Байт-код Кафедра теоретической физики и теплотехники ФТФ Язык Java вообще применил гибридный метод

Слайд 33

различия компилятора и интерпретатора

Кафедра теоретической физики и теплотехники ФТФ

преимущества

различия компилятора и интерпретатора Кафедра теоретической физики и теплотехники ФТФ преимущества

Слайд 34

различия компилятора и интерпретатора

Кафедра теоретической физики и теплотехники ФТФ

недостатки

различия компилятора и интерпретатора Кафедра теоретической физики и теплотехники ФТФ недостатки

Слайд 35

Компилятор и интерпретатор отличия

Кафедра теоретической физики и теплотехники ФТФ

Компилятор и интерпретатор отличия Кафедра теоретической физики и теплотехники ФТФ

Слайд 36

Сходства

Интерпретатор и компилятор производят трансляцию кода, служат для его выполнения и понимания машиной;
Оба типа

переводчиков помогают в отладке.

Кафедра теоретической физики и теплотехники ФТФ

Интерпретируемые:
Python
Ruby
PHP
Lisp
JavaScript
Perl
BASIC

Компилируемые:
C
C++
C#
Delphi
Go
Pascal
Rust

Компилируемые в байт код:
Java
Scala
Kotlin
Groovy

Сходства Интерпретатор и компилятор производят трансляцию кода, служат для его выполнения и понимания

Слайд 37

4. Компоновщик, отладчик, загрузчик

Кафедра теоретической физики и теплотехники ФТФ

4. Компоновщик, отладчик, загрузчик Кафедра теоретической физики и теплотехники ФТФ

Слайд 38

компоновщик

Компоновщик (также редактор связей, англ. linker, link editor) — программа, которая производит компоновку

— принимает на вход один или несколько объектных модулей и собирает по ним исполняемый модуль.
Загрузочный модуль (объектный файл) может быть помещен операционной системой в оперативную память и выполнен.

Кафедра теоретической физики и теплотехники ФТФ

компоновщик Компоновщик (также редактор связей, англ. linker, link editor) — программа, которая производит

Слайд 39

загрузчик

Загрузчик - системная обрабатывающая программа.
Загрузчик помещает находящиеся в его входном наборе данных объектные

и загрузочные модули в оперативную память, объединяет их в единую программу, корректирует перемещаемые адресные константы с учетом фактического адреса загрузки и передает управление в точку входа созданной программы.

Кафедра теоретической физики и теплотехники ФТФ

При запуске новой программы загрузчик должен:
Считать данные из запускаемого файла.
Если необходимо — загрузить в память недостающие динамические библиотеки.
Заменить в коде новой программы относительные адреса и символические ссылки на точные, с учётом текущего размещения в памяти, то есть выполнить связывание адресов (англ. Relocation).
Создать в памяти образ нового процесса и запланировать его к исполнению.

загрузчик Загрузчик - системная обрабатывающая программа. Загрузчик помещает находящиеся в его входном наборе

Слайд 40

отладчик

Отладчик - системная программа, которая позволяет управлять процессом исполнения пользовательской программы, является инструментом

для поиска и исправления ошибок в программе.

Кафедра теоретической физики и теплотехники ФТФ

Базовый набор функций отладчика

появление интегрированных сред разработки

появление возможностей аппаратной поддержки средств отладки во многих вычислительных системах

отладчик Отладчик - системная программа, которая позволяет управлять процессом исполнения пользовательской программы, является

Имя файла: Системы-программирования:-основные-понятия.-Лекция-2:-Современные-системы-программирования.pptx
Количество просмотров: 4
Количество скачиваний: 0