Аннотация курса:
Данный курс посвящён современным подходам к программированию, которые облегчают создание быстрого, надёжного, верифицируемого, переносимого, простого в использовании и легко расширяемого программного кода.
В курсе планируется рассмотреть следующие вопросы, общие для разработки на различных языках программирования: командная строка в Linux, системы сборки, системы контроля версий, инструменты для отладки, устройство чисел с плавающей запятой и корректная работа с ними, архитектура современных вычислительных систем и оптимизация алгоритмов для них, средства профилировки.
Также будут рассмотрены вопросы, относящиеся к конкретным языкам программирования: современный Фортран и конструкции в нём, облегчающие отладку и верификацию кода, а также способы замены устаревших конструкций на более безопасные и удобные; язык программирования Julia - быстрая и удобная альтернатива Matlab и Python; и язык программирования Rust - язык, исключающий ошибки работы памяти и большинство ошибок, связанных с многопоточностью.
Общая продолжительность курса: около 25 семинаров.
Примерная программа курса:
- Командная строка и инструменты работы с ней (2-3 семинара).
- Система сборки CMake (2-3 семинара).
- Средства отладки и профилировки (2-3 семинара).
- Числа с плавающей запятой и особенности работы с ними (1-2 семинара)
- Архитектура современных компьютеров и как добиваться хорошей производительности (2-3 семинара).
- Современный Фортран и его средства проверки программ (3-4 семинара).
- Быстрее и удобнее, чем Matlab и Python: язык программирования Julia (4-5 семинара).
- Надёжный и удобный язык Rust (6-8 семинаров).
Будет организована on-line трансляция.
По вопросам подключения обращаться к Желткову Д.А. dmitry.zheltkov (at) gmail.com