C++ дайджест #11: підсумки року, реліз Visual studio 2019

Привіт, мої любі сішники! Вітаю вас з Новим роком! Бажаю вам чистого коду, цікавезних задач, від яких перехоплює подих, та стабільного ТЗ! Пропоную в цьому дайджесті підвести підсумки року та, як завжди, розглянути декілька статей про modern С++ та улюблені інструменти для розробки. Починаємо? :)

Підсумки року в світі С++

C++ at the End of 2018 — скарбничка, в якій описано все життя С++ в 2018. У статті перераховано усі зустрічі комітету по стандартизації з посиланнями на репорти, найвизначніші конференції, розглянуто підтримку стандартів компіляторами, перелічено інструменти, які необхідні для розробки або значно спрощують життя, та їх поточний статус. Містить хорошу підбірку літератури. Розглянуто питання складності С++. Стаття обов’язкова для читання: таке не можна пропустити :)

Посилання на трендові open source проекти на GitHub 2018 року.

Getting You There — Your C++ Standardization Efforts in 2019 — автор пише про свій досвід участі в стандартизаціЇ С++.

Call For Submissions — конференція C++Now чекає заявок на презентацію.

Інструменти

Однією з найвизначніших подій грудня можно сміливо назвати реліз Visual Studio 2019: Visual Studio Live Share, покращення швидкодії, Git stash, покращений Look & Feel та багато іншого.

Деталі можно почитати в статтях:
Making every developer more productive with Visual Studio 2019.
Honest Review of Visual Studio 2019 Preview 1.

Exploring Clang Tooling — Using Build Tools with clang-tidy — продовження циклу статей про Сlang-Tidy. В цій частині йдеться про рефакторинг при роботі з групою файлів, взаємодію з Ninja та CMake.

bake — новенький менеджер пакетів.

QtCreator CMake for Android plugin — плагін від KDAB, що дозволяє безболісно створювати андроїд застосунки в зв’язці Qt, CMake та QtCreator.

Modern C++

A brief introduction to Concepts — Part 1, a brief introduction to Concepts — Part 2 — автор надає гарні аргументи для розуміння про concepts та як їх використовувати на прикладах.

Stop with the CTAD FUD! — про сюрпризи при виведенні аргументів шаблону класу.

How to Use The Newest C++ String Conversion Routines — std::from_chars — навіщо потрібен std::from_chars, якими компіляторами підтримується, приклади використання.

Overview of std::map’s Insertion / Emplacement Methods in C++17 — описано різницю між методами вставки елемента до std::map. Гарна інструкція щодо того, коли та який метод зручніше використовувати.

C++ Core Guidelines: Rules for Variadic Templates — чудовий опис того, коли доречно та як саме застосовувати Variadic Templates.

Корисні посилання

OpenCV 4.0.0 new Graph API (G-API) розглядає нову модель роботи з OpenCV, при якій ми створюємо конвейер операцій та застосовуємо його вже до конкретних даних.

Qt: Tableview performance — аналізує проблему швидкодії TableView до Qt-5.12, містить приклад, на якому можна подивитися на покращену швидкодію TableView в Qt-5.12.

Google C++ Style Guide — Code Style від Google (і вони обирають spaces!).

Performance: C++ vs Rust — точка зору про порівняння C++ та Rust, що заснована на логічних аргументах. Автор не підкріплює думки цифрами, але почитати цікаво.

Секреты тернарного оператора — стаття з Хабру про те, де можна використовувати тернарний оператор на відміну від if() та небезпеки, які в ньому ховаються.

Deciphering the postcard sized raytracer — розгляд коду, створеного Andrew Kensler для рейтресингу.

TODO_BEFORE(): A Clean Codebase for 2019 — як з’являється tech debt() та як з цим жити далі.

Оновлення

Цього місяця маємо такі оновлення:

Для новачків

7 Best C++ Tutorial, Course & Certification [2018 — 2019]
C++ Quick Reference
C++ Tutorial for Beginners

Хвилиночка флуду

Сподіваюсь, що ялинка вже наряджена. Та якщо ви не встигли до дедлайну — тримайте лайфхак: Новорічна ялинка на github.

Більше варіантів новорічних ялинок на stackexchange :)

А наостанок — новорічний календар:


← Попередній випуск: C++ дайджест #10

LinkedIn

7 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
C++ Core Guidelines: Rules for Variadic Templates — чудовий опис того, коли доречно та як саме застосовувати Variadic Templates.

Нє поняв прєкола. Думав, там дійсно якийсь корисний гайд, а там боянисті «хеллоуворлди» С++11. Не розумію, навіщо цей чувак написав таку статтю в кінці 2018.
Пьорфект форвардінг ще Маєрс розжував у всіх деталях. Ручне написання make_unique демонстрував Саттер у 2012 (herbsutter.com/gotw/_102). Рекурсивний прінт це взагалі дитячий садок, такий приклад вже давно лежав на cppreference (en.cppreference.com/...​p/language/parameter_pack).

Найбільший бляха підсумок — нема і не буде модулів, рефлексії, корутин в 20 стандарті. Рейнджи хоч завезуть і на тому спасибі.
Йшов, ітіть його, 2019 рік.

Йшов, ітіть його, 2019 рік.

сі# вже існував ось як 16 років... ))

Там про інший рефлекшн іде мова. В шарпі рантайм. А вони хочуть компайл тайм.

Це сплата за стандарт. Якби плюси були властністью однієї компанії, то розвиток міг би бути швидше. До того ж легасі завжди тягне назад.

Той же раст стрімко розвивається завдяки тому, що вплив на нього має лише одна компанія і легасі відсутній у порівнянні з плюсами.

Дякую. Декілька посилань зацікавили!

Подписаться на комментарии