Программное связывание компонентов и дистрибутив
Легаси:
- ОС — набор готовых компонетов
- Решение рабочей задачи — комбингация этих компонентов
Потому что правовладельческие
Новая реальность: доработать готовое, а не делать с 0 или пользоваться готовым Программисты — пользователи дистрибутива
⇒ Инструментарий разработки — часть дистрибутива
- Си: библиотеки, разделение devel
- reuse
- bugfix
- release management
- ABI change
- API change
- ...
- Инструменты автоматизаци исборки — make, autotools, cmake, …
- Прочее (тут будет ссылка на курс)
Linux дистрибутив — неплохой инструмент разработки на Си
А Python, например?
- История
- Структура:
- Гвидо и сообщество: PEP
- Core
- CPython — установщик, библиотека, стандартные модули
- Дисциплина кодирования, работы с DVCS (hg)
- Дисциплина изменения языка, PEP
- Дисциплина изменения стандартных модулей
- Планирование релизов
- Инструменты:
Mercurial for git developers
- IRC, maillists, Wiki
- CPython — установщик, библиотека, стандартные модули
- Модули
- pip www.pip-installer.org/en/latest/installing.html
TODO