Лекция 1 | Парадигмы программирования (Стэнфорд)

YOUTUBE · 01.12.2025 08:47

Ключевые темы и таймкоды

Введение в презентацию

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

Обзор языков и парадигм

0:36
  • Рассматриваются языки: C, ассемблер, C++ и параллельное программирование.
  • Парадигмы: процедурная и объектно-ориентированная.
  • Программирование на C и C++ отличается от программирования на Scheme или Python.

Процедурная парадигма в C

1:40
  • Программирование на C ориентировано на процедуры.
  • Функции и подфункции образуют иерархию.
  • Программирование с учетом побочных эффектов и ссылок.

Объектно-ориентированная парадигма в C++

2:55
  • В C++ объекты манипулируются с помощью стрелок.
  • Программирование ориентировано на объекты, а не на процедуры.
  • C++ остается популярным благодаря своей объектно-ориентированной парадигме.

Ассемблер и компиляция

4:07
  • Ассемблер используется для понимания компиляции программ на C и C++.
  • Программы на C и C++ компилируются в ассемблерный код.
  • Понимание процесса компиляции помогает в программировании на C++.

Параллельное программирование

6:34
  • Параллельное программирование позволяет выполнять функции одновременно.
  • Пример с двумя банкоматами Wells Fargo иллюстрирует проблемы параллельного программирования.
  • Важно обеспечить атомарность транзакций для предотвращения конфликтов.

Проблемы параллельного программирования

10:19
  • Неаккуратное программирование может привести к проблемам с целостностью данных.
  • Банки и авиакомпании сталкиваются с проблемами, когда нужно предоставить ограниченное количество ресурсов.
  • Параллельное программирование не всегда решает эти проблемы.

Введение в Scheme

11:00
  • После изучения параллельного программирования будет изучаться язык Scheme.
  • Scheme относится к функциональной парадигме программирования.
  • В отличие от C и C++, в Scheme нет побочных эффектов.

Преимущества Scheme

12:30
  • Scheme - простой и аккуратный язык для работы.
  • Понимание функциональной парадигмы делает Scheme интересным и веселым.
  • Преподавание Scheme требует времени и усилий, но приносит удовольствие.

Введение в Python

13:02
  • Python - популярный язык, особенно в крупных компаниях.
  • Python можно рассматривать как более современную версию Perl.
  • Python подходит для веб-программирования и распределенных систем.

Веб-программирование на Python

14:31
  • Веб-программирование сложнее, чем просто HTML.
  • Python - язык сценариев, который интерпретируется и выполняет команды по мере ввода.
  • Задание включает написание динамического веб-сервера на Python.

Преимущества Python

15:08
  • Python имеет отличные библиотеки и объектно-ориентированный синтаксис.
  • Python позволяет использовать идеи функционального программирования.
  • Python подходит для изучения парадигмы клиент-сервер и анализа XML и HTML.

Заключение

16:43
  • В будущем будут рассмотрены другие языки и парадигмы программирования.
  • В пятницу будут раздаточные материалы и задание по низкоуровневым указателям C и C++.
  • Пожелание хорошей недели и завершение лекции.