REKLAMA

Programista 2/2021 (96) – kwiecień/maj 2021 – Programowanie interfejsów C++ – SPIS TREŚCI

Zapraszamy do zamówienia magazynu w >>prenumeracie<<. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI oraz AZW3. Do prenumeraty papierowej zawsze dołączamy wydania elektroniczne.

BIBLIOTEKI I NARZĘDZIA

Tworzenie rozszerzeń do Visual Studio
Formatowanie kodu i IntelliSense

Visual Studio jest jednym z najważniejszych narzędzi programistycznych. Pomimo że ciągle się rozwija, repertuar obsługiwanych języków programowania i formatów plików pozostaje mniej więcej stały. Kilka obsługiwanych w tym środowisku języków to nic w porównaniu z istniejącymi obecnie sześciuset językami programowania. Aby zasypać tę przepaść, twórcy Visual Studio pozwalają na samodzielne rozszerzanie jego możliwości. Temu, jak to zrobić, będzie poświęcony ten artykuł.

Jakub Krasucki, Jacek Matulewski

JĘZYKI PROGRAMOWANIA

Projektowanie interfejsów C++ (>>więcej o tym arykule<<)

API (Application Programming Interface) to zagadnienie, z którym spotykamy się na co dzień. Czy jednak potrafimy dobrze zaprojektować interfejsy w języku C++? W jaki sposób C++ różni się od innych języków pod względem projektowania API? Czy rozumiemy semantykę różnych struktur tego języka? Lektura tego artykułu pozwoli czytelnikowi ugruntować wiedzę z zakresu tworzenia interfejsów w języku C++, a także zrozumieć, dlaczego biblioteka standardowa oraz boost w tak dużym stopniu korzystają z szablonów i tzw. metaprogramowania.

Dawid Pilarski

Rust – nowoczesny minimalizm

Języki programowania wywodzące się od C mają w dalszym ciągu wielu zwolenników. Po części jest to spowodowane ogromną bazą kodu i szerokim wyborem narzędzi, które przez lata zostały stworzone na potrzeby tego języka, a po części przez niemal pełną kontrolę nad kodem maszynowym, który powstaje w wyniku kompilacji. Zaproponowanie nowocześniejszej, a jednak w dalszym ciągu niskopoziomowej alternatywy, która przyjęłaby się w środowisku programistycznym, wydawało się niemożliwe, a przynajmniej bardzo trudne. Tak było, dopóki nie pojawił się Rust...

Robert Jaremczak

Język Ć – programuj jednocześnie w kilku językach (>>więcej o tym artykule<<)

Zastanawialiście się kiedyś, czy nowy projekt zaimplementować w języku C++, Java, C#, Python, Swift, JavaScript czy C? A gdyby tak zaimplementować go we wszystkich wymienionych językach jednocześnie? Brzmi jak dużo pracy? Poznajcie język programowania Ć.

Piotr Fusik

PROGRAMOWANIE SYSTEMÓW OSADZONYCH

Weryfikacja modułów FPGA przy użyciu standardu UVM

Wśród inżynierów zajmujących się weryfikacją układów scalonych powstał standard, który systematyzuje podejście do budowania i używania środowisk testowych wykorzystujących język opisu i walidacji sprzętu SystemVerilog. Standardem tym jest UVM (Universal Verification Methodology). W tym artykule zostaną przedstawione podstawowe elementy budowy środowiska UVM oraz użycie ich w praktyce. Modułem, który posłuży jako przykład, jest konwerter danych z protokołu APB do protokołu SPI napisany w języku Verilog.

Mateusz Nowak

ALGORYTMIKA

Efektywny algorytm Knutha dla problemu Dokładnego Pokrycia i jego zastosowanie w trudnych łamigłówkach (>>więcej o tym artykule<<)

Niejeden z nas grał, a na pewno zna łamigłówki Sudoku czy Polyomino. To drugie od czasu wprowadzenia przez Solomona Golomba wzbudziło zainteresowanie matematyków zajmujących się nauką i rekreacją. Liczne gry – jak np. Tetris czy Ubongo – łamigłówki i nierozwiązane problemy oparte są na tych zachwycających elementach, które powstają przez połączenie wzdłuż krawędzi wielu nie nachodzących na siebie kwadratów jednostkowych.

Łukasz Grządko

WYWIAD

Krakowska Nokia kończy 10 lat. Jakie technologie i inicjatywy firma ma dziś w swoim portfolio?

PLANETA IT

Czujka podczerwieni pasywnej od kuchni

Kto z nas nie zna kapitana Kirka i samoczynnie otwierających się drzwi na pokładzie NCC-1701? Coś, co szokowało w latach 60., dziś jest powszechne. Jak to się stało, że kosmiczna technologia trafiła pod strzechy?

Wojciech Macek