Типичный программист
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
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
Создаем свою простую C++ библиотеку с документацией, CMake и блекджеком

Каждому разработчику знакома ситуация, когда один и тот же кусок кода приходится таскать из проекта в проект. Тогда почему бы не превратить свои идеи и наработки в удобный и доступный формат?

Ведь создавая свою библиотеку, вы не только прокачаете портфолио и структурируете код, но и выразите себя творчески. Плюс, сможете поделиться плодами своего труда с другими.

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

#cpp