Programista 2/2021 (96)
Programista 2/2021 (96)
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ł.
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.
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...
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 Ć.
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.
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 [18].
Jakie technologie i inicjatywy firma ma dziś w swoim portfolio?
Rozmowa z Krzysztofem Personą, Dyrektorem Centrum R&D Nokii w Krakowie
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?