Введение в языки программирования
Что такое язык программирования
Классификация
Низкий уровень
Средний уровень
Высокий уровень
Парадигма программирования
По типизации
Статическая и динамическая типизация
Сильная и слабая типизация
Явная и неявная типизация
Python
Достоинства
Недостатки
Области применения
Синтаксис языка
Документация
239.74K
Category: programmingprogramming

Введение в языки программирования

1. Введение в языки программирования

ProPowerPoint.Ru

2. Что такое язык программирования

формальный язык, предназначенный
для записи компьютерных программ
Набор
- лексических
- синтаксических
- семантических
правил
ProPowerPoint.Ru

3. Классификация

• Языки низкого и высокого уровня
• Безопасные и небезопасные языки
• Компилируемые и
интерпретируемые языки
• Особые категории языков
ProPowerPoint.Ru

4. Низкий уровень

Ограничения на абстракции данных,
сильная
статическая
типизация,
отсутствие промежуточной среды
выполнения, прямой доступ к памяти.
Примеры: C, C++, Assembler (язык
Ассемблера)
ProPowerPoint.Ru

5. Средний уровень

Фокус на абстракциях, сильная
статическая
типизация,
среда
выполнения, ограничения на прямой
доступ к памяти.
Примеры: Java, C#.
ProPowerPoint.Ru

6. Высокий уровень

Сильное
абстрагирование,
динамическая
и/или
слабая
типизация, полностью независимое
управление памятью и/или наличие
среды выполнения.
Примеры: Python, Ruby, JavaScript,
Common Lisp.
ProPowerPoint.Ru

7. Парадигма программирования

совокупность
идей
и
понятий,
определяющих
стиль
написания
компьютерных программ (подход к
программированию)
Декларативная
Императивная
ProPowerPoint.Ru

8. По типизации

• Статическая и динамическая
типизация
• Сильная и слабая типизация (также
иногда говорят строгая и нестрогая)
• Явная и неявная типизация
ProPowerPoint.Ru

9. Статическая и динамическая типизация

Статическая - конечные типы
переменных и функций
устанавливаются на этапе
компиляции.
В динамической - во время
выполнения программы.
Статическая: C, Java, C#;
Динамическая: Python, JavaScript,
Ruby.
ProPowerPoint.Ru

10. Сильная и слабая типизация

Сильная типизация не позволяет
смешивать в выражениях различные
типы и не выполняет автоматические
неявные преобразования.
Языки со слабой типизацией
выполняют множество неявных
преобразований автоматически
Сильная: Java, Python, Haskell, Lisp;
Слабая: C, JavaScript, Visual Basic, PHP.
ProPowerPoint.Ru

11. Явная и неявная типизация

Явно-типизированные языки
отличаются тем, что тип новых
переменных / функций / их
аргументов нужно задавать явно.
Соответственно языки с неявной
типизацией перекладывают эту задачу
на компилятор / интерпретатор.
ProPowerPoint.Ru
Явная: C++, D, C#
Неявная: PHP, Lua, JavaScript

12. Python

высокоуровневый язык
программирования общего назначения,
ориентированный на повышение
производительности разработчика и
читаемости кода
ProPowerPoint.Ru
Система типов сильная, динамическая
Тип исполнения: интерпретируемый,
компилируемый в байт-код
Мультипарадигмальный

13. Достоинства

• встроенные структуры данных, словари,
кортежи;
• простой и удобный синтаксис;
• большое количество библиотек;
• мощные интерфейсы к конкретным ОС;
• переносимость кода между платформами:
автоматическую генерацию документации на
модули и возможность написания
самодокументированных программ;
• поддержку процедурного, функционального и
объектного стилей программирования;
встроенную поддержку Unicode и большое
количество национальных кодировок.
ProPowerPoint.Ru

14. Недостатки

• низкая скорость выполнения
• динамическая типизация (?)
ProPowerPoint.Ru

15. Области применения


Разработка веб-приложений
Анализ данных и машинное обучение
Введение в программирование
Быстрое прототипирование идей в
бизнесе за счёт обилия готовых
библиотек, низкого порога вхождения
в язык и высокой продуктивности
программистов, пишущих на Python
• Написание скриптов (сценариев) для
автоматизации задач
ProPowerPoint.Ru

16. Синтаксис языка

ProPowerPoint.Ru

17. Документация

https://pythonworld.ru/
https://www.python.org/doc/
https://ru.wikibooks.org/wiki/Python
ProPowerPoint.Ru
English     Русский Rules