Co czeka framework Qt w 2018 roku ?

Qt wciąż niesamowicie się rozwija. Równolegle z poprawianiem błędów i tworzeniem nowych funkcjonalności, framework stara się opanowywać nowe, nieznane dotychczas dla niego obszary. Kolejne wersje przynoszą wsparcie dla nowych platform, zarówno systemowych, jak i sprzętowych.

Pod koniec lutego The Qt Company pochwaliło się planami rozwoju na 2018 rok. Postaram się pokrótce pokazać, czego można się spodziewać i na co czekać w obecnym roku. (więcej…)

C++11 #12: Jak działa semantyka przeniesienia ?

Referencje do r-wartości.

Semantyka przeniesienia to jedna z kluczowych koncepcji nowoczesnego języka C++, która zadebiutowała w C++11. Sam język potrzebował jednak kilku nowych funkcjonalności, które umożliwiłyby wprowadzenie tej idei w życie.

Podstawą stały się referencje do r-wartości (ang. r-value references).

(więcej…)

DRY – KISS – YAGNI, czyli jak „doświadczeni” programiści zapominają o podstawach.

DRY – KISS – YAGNI.

Tak, tak – wszyscy programiści uwielbiają chwytliwe akronimy. Ten podziw rośnie przeważnie wraz ze stażem pracy. Co jednak zauważyłem parę miesięcy temu – z zastosowaniem reklamowanych zasad w praktyce bywa bardzo różnie.

Kolejna obserwacja jest taka, że im prostsza reguła, tym trudniej ją zachować – naprawdę niesamowita sprawa. To jest wg mnie właśnie to, co odróżnia doświadczenie od stażu pracy.

(więcej…)

C++11 #11: Inteligentne wskaźniki wchodzą do gry: std::shared_ptr, std::weak_ptr.

std::shared_ptr.

W odróżnieniu od std::unique_ptr, std::shared_ptr opiera się na współdzieleniu właśności (ang. shared ownership) przechowywanego zasobu. Z tego powodu możemy posiadać wiele inteligentnych wskaźników typu std::shared_ptr, wskazujących na ten sam obiekt w pamięci.

Ten koncept ma bardzo dużo wspólnego z realizacją automatycznego odśmiecania pamięci w innych językach programowania, ponieważ klasa std::shared_ptr ma zaimplementowany mechanizm tzw. zliczania referencji.

(więcej…)

C++11 #10: Inteligentne wskaźniki wchodzą do gry: std::unique_ptr.

Inteligentne wskaźniki wchodzą do gry.

Do tej pory wpisy na temat C++11 dotyczyły bardzo ważnych i przydatnych zmian w języku. Jednak to zarządzanie pamięcią i wskaźniki doczekały się największych, fundamentalnych usprawnień w nowym standardzie – jednym z najważniejszych są tzw. inteligentne wskaźniki.

Oczywiście nadal można ręcznie zarządzać pamięcią w C++ – to fundament języka. Nie wyklucza to jednak wprowadzania nowych rozwiązań, które przyczyniają się do drastycznych zmian w sposobie zarządzania życiem obiektów i jednocześnie eliminują większość paskudnych błędów.

(więcej…)