MENU

Fun & Interesting

Зачем учить язык Си в 2024 году | Как выбрать между C или C++ или Rust | Podlodka Podcast #387

Podlodka 44,909 5 months ago
Video Not Working? Fix It Now

С – язык, на котором написана значимая часть всего, что нас окружает: от ядра операционной системы до мозгов автомобиля, из колонок которого вы будете слушать этот подкаст. В выпуске вместе с Игорем Жирковым разбираемся с тем, насколько современный C похож на язык, с которым вы познакомились в той самой книге Кернигана и Ритчи, какие особенности делают его одним из самых нетерпимых языков к ошибкам программиста, и стоит ли вообще на нем писать код в 2024 году. ❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: https://t.me/podlodka 📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются анонсы новых выпусков, а в комментах идут ценные и горячие обсуждения! 5 тысяч опытных IT-специалистов уже с нами: https://t.me/podlodkanews Полезные ссылки: - Комитет по стандартизации C https://www9.open-std.org/JTC1/SC22/WG14/#:~:text=ISO%2FIEC%20JTC1%2FSC22%2FWG14%20is%20the%20international%20standardization,contact%20your%20national%20member%20body. - Three tribes of programming https://josephg.com/blog/3-tribes/ - Error model in Midori (про то, какие инварианты, пред- и пост-условия полезны для языка системного программирования) https://joeduffyblog.com/2016/02/07/the-error-model/ - Учебник Игоря по С и ассемблеру https://www.amazon.com/Low-Level-Programming-Assembly-Execution-Architecture/dp/1484224027 - Проблемы со стандартными потоками в C11 https://gustedt.wordpress.com/2012/10/14/c11-defects-c-threads-are-not-realizable-with-posix-threads/ - Когда есть смысл использовать goto https://rubber-duck-typing.com/posts/2017-04-26-goto-the-marvelous.html - John Carmack keynote speech Quakecon 2013 https://www.youtube.com/watch?v=eNWAcEu1jpU&list=PLdxGKkjSwJW-1MhAEFy-RBRlxGCz6yhmC - Опыт изучения ФП и почему это необходимо программистам на таких языках как C/C++ https://www.youtube.com/watch?v=1PhArSujR_A&t=125s - Хорошая книга по современному С https://www.amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504 - Онлайн-курс Игоря по основам C https://stepik.org/course/73618/syllabus Проекты которые можно осторожно посмотреть: - Лисп, написанный создателем Julia. Немного по-хакерски, но достаточно разумно https://github.com/JeffBezanson/femtolisp - musl libc https://musl.libc.org/ - OpenBSD source code https://github.com/openbsd/src (чисто, но не очень современный стиль) - PostgreSQL source code https://git.postgresql.org/gitweb/?p=postgresql.git;a=summary (чисто, но не очень современный стиль) Чтобы осознать несовершенство своего кода, книги по формальной верификации: + Practical TLA+ by Hillel Wayne https://www.hillelwayne.com/post/practical-tla/ + Software Abstractios by Daniel Jackson https://www.amazon.com/Software-Abstractions-Logic-Language-Analysis/dp/0262017156 + Software foundations https://softwarefoundations.cis.upenn.edu/ - Unix Haters Handbook https://web.mit.edu/~simsong/www/ugh.pdf Тайм-коды: 00:00 О чем выпуск 05:00 Чем интересен Си 13:22 Мифы о Си 24:59 История развития языка Си 35:25 Стандарты Си 59:50 Современный Си и его отличия от старого 01:05:27 Топ-3 ошибок, которым подвержен Си 01:12:40 Ключевые фичи Си 01:21:10 Организация кода и модулей 01:26:09 Синтаксис и семантика Си 01:31:10 Неопределенное поведение и его последствия 01:39:24 Семантика и производительность 01:45:02 Оптимизация производительности 01:51:02 Компиляторы и их разнообразие 02:02:20 Экосистема Си 02:08:54 Какие языки могут заменить Си 02:16:05 Нужно ли преподавать Си в вузах 02:28:46 Заключение

Comment