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

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

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

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

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

VK: vk.com/tproger

Другие наши проекты: https://tprg.ru/media
Download Telegram
Кодите на 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.me/devs_books/258

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

— Книга «С++ для профи» для программистов среднего и продвинутого уровней. С её помощью вы продеретесь сквозь тернии к самому ядру C++ и освоите новые инструменты языка: https://t.me/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
Какие 8 самых необычных книг стоит почитать C++ разработчику?

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

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

#cpp #книги
Почему Линус Торвальдс ненавидит C++?

В 2007 году пользователь Дмитрий Какурин написал письмо Линусу Торвальдсу, в котором спросил программиста, почему тот использует чистый Си вместо того, чтобы написать все на C++. Само использование чистого Си Дмитрий Какурин назвал емким словом bullshit. В ответ Линус Торвальдс сказал, что bullshit — это сам Какурин, а C++ — ужасный язык, на котором кодеры генерируют, мягко говоря, «нечистоты».

Рассказываем, что еще сказал Линус и почему так вышло: https://tproger.ru/articles/pochemu-linus-torvalds-nenavidit-s

#linux #cpp #си
История C++ с 1953 года от FLOW-MATIC и Fortran до языка Си и Cfront

Язык C++ разработал датский программист Бьерн Страуструп, это известный факт. Но что, если копнуть глубже и попытаться разобраться, где находится стартовая точка эволюции языков программирования, которая привела к появлению C++, и какой эволюционный путь прошли языки?

В этой статье рассказываем, как бизнес в 1950 годах появлиял на развитие языков программирования, какие шаги проделал ALGOL перед тем, как превратился в язык Си, и как языки проделали долгий и витиеватый путь от упрощения к усложнению, и наоборот: https://tproger.ru/articles/istoriya-cpp-s-1953-goda

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

Ларс Бергстром, директор по инженерии Google, рассказал о преимуществах Rust, продемонстрировав опыт компании по переносу проектов с Go и C++ на этот язык. Эксперименты Google показали, что разработчики стали в два раза продуктивнее, используя Rust вместо C++.

#cpp #golang #rust