Типичный программист
81.4K subscribers
2.66K photos
893 videos
8 files
7.45K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Этими вещами в C++ недовольны даже его сторонники

Да, главная проблема C++, как и многих других языков, — небольшое количество разработчиков, которые могут писать на нём по-настоящему качественный код. Но почему даже с таким кодом в примитивном приложении могут вылезти неожиданные сложности и чего даже самым крутым специалистам не хватает в стандартной библиотеке?

Об этом в докладе «C++ на практике» рассказал Антон Полухин, член комитета по стандартизации C++. По ссылке вы найдёте видео с докладом для любителей послушать и текстовую версия — для любителей почитать: https://tprg.ru/C4aW

#cpp #советы
Существует всего 4 главных алгоритмических парадигмы, с помощью которых можно решить большинство алгоритмических проблем

В этой статье простым языком и на примерах рассказали про полный поиск, жадные алгоритмы, разделяй и властвуй, и динамическое программирование:

https://tprg.ru/Q8bw

#алгоритмы #cpp
Кодите на C++? Пришла пора познакомиться с самыми запретными знаниями об этом языке

Автор этого видео рассказывает про 6 примеров C++ кода, которые воплощают самое Великое Зло:

https://tproger.ru/video/forbidden-cpp/?autoplay=1

#cpp
Как найти N-е число последовательности Фибоначчи?

Рассказываем и показываем три разных способа реализации алгоритма на C++:

https://tproger.ru/problems/finding-fibonacci/

#алгоритмы #рекурсия #cpp
Ищете open source проекты на разных языках программирования?

Ловите репозиторий, в котором собраны лучшие открытые проекты на С, C++, Go, JS, Java, Python, R, Ruby, Kotlin и многих других языках. У него больше 8 тысяч звёзд, а последнее обновление было несколько дней назад:

https://github.com/lk-geimfari/awesomo

#opensource #python #cpp #java
Какой он, разработчик на «плюсах» в 2022 году: актуальная дорожная карта по C++

И это не просто дорожная карта, а целый репозиторий с кучей полезных статей, ресурсов, книг и идей для пет-проектов. А также досками в Miro и GraphML для любителей всё визуализировать.

Обязательно сохраните себе и не забудьте порадовать авторов звёздочкой: https://salmer.github.io/CppDeveloperRoadmap/Russian/

#cpp #шпаргалка
Вспоминаем, как выбирать имена для функций

На плохих примерах стандартных функций С++ разобрали, какие имена можно выбирать для очередной функции, а какие — лучше не стоит:

https://tproger.ru/translations/correct-function-names/

#cpp #чистыйкод
Начинаем кодить на C++ как про

Серия роликов поможет освоить синтаксис C++ от переменных, логических операций и циклов до указателей и структур данных:

https://www.youtube.com/playlist?list=PLA0M1Bcd0w8zHoZcf7IWTM4aQESDSErUs

#cpp
Подборка годных бесплатных материалов для прокачки знаний по C++

— Актуальная дорожная карта на 2022 год поможет выстроить личный план развития и сосредоточиться на наиболее приоритетных темах: https://salmer.github.io/CppDeveloperRoadmap/Russian/

— 8-е издание книги «C++ за 21 день», в которой простым языком объясняются фундаментальные принципы языка С++, стандартная библиотека шаблонов, полезные советы и рекомендации, есть проверка знаний в конце каждой темы: https://t.iss.one/devs_books/258

— 1 часть курса от CS центра. В роли лектора — Валерий Михайлович Лесин: https://youtube.com/playlist?list=PLlb7e2G7aSpTFea2FYxp7mFfbZW-xavhL

— Книга «С++ для профи» для программистов среднего и продвинутого уровней. С её помощью вы продеретесь сквозь тернии к самому ядру C++ и освоите новые инструменты языка: https://t.iss.one/devs_books/235

— 2 часть курса от CS центра. Каждая часть курса состоит из 13 видео-лекций ~1,5 часа: https://youtube.com/playlist?list=PLlb7e2G7aSpRs7YafQ1GgJvyRku10m1RN

#cpp
Что почитать на выходных: «Алгоритмы. Справочник. С примерами на C, C++, Java и Python», 2-е издание

Книга поможет понять, что наибольший вклад в производительность программы вносят правильно выбранный алгоритм и его реализация. А выбор подходящего алгоритма, способного решить вашу задачу, — дело далеко не из самых простых. Всё с примерами на C, C++, Java и Python.

#алгоритмы #книги #си #cpp #java #python
Что почитать на выходных: «C++ на примерах. Практика, практика и только практика»

Это одно из лучших учебных пособий для изучения «плюсов». В книге используется большое количество примеров с подробным анализом кода: от простых приложений для вывода текста на экран и проведения вычислений до клиент-серверного приложения. Из приятного — отдельное внимание уделено программированию различных алгоритмов и ООП.

#книги #cpp
Собрали для вас удобную дорожную карту для изучения разработки на C++ с нуля в 2022

Она включает в себя всё необходимое, что потребуется разработчику: синтаксис, ООП, многопоточность, работа с фреймворками, библиотеками и IDE.

Общая карта на картинке, а детальней в статье:

https://tproger.ru/articles/razrabotka-na-c-s-nulja-v-2022-godu-dorozhnaja-karta

#cpp #шпаргалка
Google взялись за разработку замены C++

Стало известно, что компания активно развивает язык программирования Carbon, который позиционируется как пока что экспериментальная замена C++, расширяющая данный язык и устраняющая имеющиеся недостатки.

Язык поддерживает базовую переносимость с C++ и может интегрироваться с имеющимся кодом на плюсах. Плюс ко всему язык предоставляет инструменты для упрощения миграции существующих проектов. Так что можно смело переписать на Carbon библиотеку и использовать её в существующем проекте на С++.

Основные фичи Carbon:
— Производительность, сопоставимая с С++.
— Сохранение низкоуровневого доступа к адресам и данным на битовом уровне.
— Переносимость кода, включая наследование классов и шаблоны.
— Упрощение миграции между версиями.
— Безопасная работа с памятью, защита от уязвимостей, вызванных обращением к области памяти после её освобождения, разыменованием нулевых указателей и выходом за границы буфера.

#google #cpp
Что почитать на выходных: «Думай как программист (2018)», Антон Спрол

Если вы хоть раз сталкивались с трудностями при создании кода — эта книга для вас. Её автор говорит о том, что программистов, талантливых от природы, не так много, однако можно развить в себе этот талант, если приучить свой мозг решать разнообразные задачи и делать это креативно.

Из плюсов книги:
— примеры задач и их решения;
— куча интересных упражнений;
— полезные выводы и рекомендации.

#начинающим #книги #cpp
Какие 8 самых необычных книг стоит почитать C++ разработчику?

Миллисекунды алгоритмов или чистота архитектуры, это конечно хорошо. Но как насчёт, например, осознанности деятельности C++ программистов? В этой подборке как раз про это. Тонкий юмор, немного философии и пара экземпляров из «золотого фонда» классической литературы для C++ разработчиков.

Приятного чтения: https://tproger.ru/books/8-neobychnyh-knig-dlja-c-razrabotchika/

#cpp #книги
​​Одному программисту настолько не понравился ненатуральный звук автомобильных двигателей в играх, что он взял и создал точный эмулятор для движков автомобилей

По сути он создал физический движок, программу, которая производит точное компьютерное моделирование того, как взаимодействуют цилиндры, поршни, маховики, воздух и топливо. Физический движок также рассчитывает скорость распространения огня, количество энергии, выделяемое при сгорании воздушно-топливной смеси. И генерирует звук исходя из давления в виртуальной выхлопной трубе. И всё это с 80 000 FPS.

Более того, разработчик так заморочился, что по пути почти создал свой язык программирования для описания двигателей — число цилиндров, расположение элементов, передачи и т. д.

Исходный код открыт и доступен на гитхабе: https://github.com/ange-yaghi/engine-sim

А посмотреть за процессом создания и послушать звуки самых разных двигателей можно в 12-минутном оригинальном видео: https://youtu.be/RKT-sKtR970

#кек #cpp #opensource
Изучать тонкости языка не всегда увлекательное занятие, но для исключений в C++ сделаем исключение

Исключения — важный инструмент в программировании. Но в большинстве статей исключения раскрываются поверхностно: не описана механика их работы, производительность или особенности исключений в C++. И вот интересная статья от Георгия Осипова, разработчика в ВМК МГУ и автора курса по разработке на C++ в Яндекс.Практикуме

В статье есть всё, что вы хотели узнать об исключениях в C++, но боялись спросить. Новичкам она будет полезна, чтобы погрузиться в тему. А программистам с опытом — углубиться в явление и достичь его полного понимания:

https://tprg.ru/epuG

#cpp
Насколько глубока нора исключений C++: безопасность, спецификации и бенчмарки.

Если пропустили, недавно мы уже писали про статью, в которой понятным языком разобрали ключевые слова try, catch и throw, синтаксис выбрасывания/обработки исключений и особые случаи. Но чтобы действительно стать гуру C++, придётся копнуть глубже.

Во второй части статьи вместе с Георгием Осиповым, соавтором курса «Разработчик C++» в Яндекс Практикуме, разбираем самые интересные тонкости исключений C++:

https://tprg.ru/BUSQ

#cpp