C++

97
Ebook

Hands-On GUI Application Development in Go. Build responsive, cross-platform, graphical applications with the Go programming language

Andrew Williams

Go is often compared to C++ when it comes to low-level programming and implementations that require faster processing, such as Graphical User Interfaces (GUIs). In fact, many claim that Go is superior to C++ in terms of its concurrency and ease of use. Most graphical application toolkits, though, are still written using C or C++, and so they don't enjoy the benefits of using a modern programming language such as Go. This guide to programming GUIs with Go 1.11 explores the various toolkits available, including UI, Walk, Shiny, and Fyne. The book compares the vision behind each project to help you pick the right approach for your project. Each framework is described in detail, outlining how you can build performant applications that users will love. To aid you further in creating applications using these emerging technologies, you'll be able to easily refer to code samples and screenshots featured in the book. In addition to toolkit-specific discussions, you'll cover more complex topics, such as how to structure growing graphical applications, and how cross-platform applications can integrate with each desktop operating system to create a seamless user experience. By delving into techniques and best practices for organizing and scaling Go-based graphical applications, you'll also glimpse Go's impressive concurrency system. In the concluding chapters, you'll discover how to distribute to the main desktop marketplaces and distribution channels. By the end of this book, you'll be a confident GUI developer who can use the Go language to boost the performance of your applications.

98
Ebook

Hands-On GUI Programming with C++ and Qt5. Build stunning cross-platform applications and widgets with the most powerful GUI framework

Lee Zhi Eng

Qt 5, the latest version of Qt, enables you to develop applications with complex user interfaces for multiple targets. It provides you with faster and smarter ways to create modern UIs and applications for multiple platforms. This book will teach you to design and build graphical user interfaces that are functional, appealing, and user-friendly.In the initial part of the book, you will learn what Qt 5 is and what you can do with it. You will explore the Qt Designer, discover the different types of widgets generally used in Qt 5, and then connect your application to the database to perform dynamic operations. Next, you will be introduced to Qt 5 chart which allows you to easily render different types of graphs and charts and incorporate List View Widgets in your application. You will also work with various Qt modules, like QtLocation, QtWebEngine, and the networking module through the course of the book. Finally, we will focus on cross-platform development with QT 5 that enables you to code once and run it everywhere, including mobile platforms. By the end of this book, you will have successfully learned about high-end GUI applications and will be capable of building many more powerful, cross-platform applications.

99
Ebook

Hands-On High Performance Programming with Qt 5

Mark Krajewski

Achieving efficient code through performance tuning is one of the key challenges faced by many programmers. This book looks at Qt programming from a performance perspective. You'll explore the performance problems encountered when using the Qt framework and means and ways to resolve them and optimize performance.   The book highlights performance improvements and new features released in Qt 5.9, Qt 5.11, and 5.12 (LTE). You'll master general computer performance best practices and tools, which can help you identify the reasons behind low performance, and the most common performance pitfalls experienced when using the Qt framework. In the following chapters, you'll explore multithreading and asynchronous programming with C++ and Qt and learn the importance and efficient use of data structures. You'll also get the opportunity to work through techniques such as memory management and design guidelines, which are essential to improve application performance. Comprehensive sections that cover all these concepts will prepare you for gaining hands-on experience of some of Qt's most exciting application fields - the mobile and embedded development domains.   By the end of this book, you'll be ready to build Qt applications that are more efficient, concurrent, and performance-oriented in nature  

100
Ebook

Hands-On Machine Learning with C++. Build, train, and deploy end-to-end machine learning and deep learning pipelines

Kirill Kolodiazhnyi

C++ can make your machine learning models run faster and more efficiently. This handy guide will help you learn the fundamentals of machine learning (ML), showing you how to use C++ libraries to get the most out of your data. This book makes machine learning with C++ for beginners easy with its example-based approach, demonstrating how to implement supervised and unsupervised ML algorithms through real-world examples.This book will get you hands-on with tuning and optimizing a model for different use cases, assisting you with model selection and the measurement of performance. You’ll cover techniques such as product recommendations, ensemble learning, and anomaly detection using modern C++ libraries such as PyTorch C++ API, Caffe2, Shogun, Shark-ML, mlpack, and dlib. Next, you’ll explore neural networks and deep learning using examples such as image classification and sentiment analysis, which will help you solve various problems. Later, you’ll learn how to handle production and deployment challenges on mobile and cloud platforms, before discovering how to export and import models using the ONNX format.By the end of this C++ book, you will have real-world machine learning and C++ knowledge, as well as the skills to use C++ to build powerful ML systems.

101
Ebook

Hands-On Microservices with Rust. Build, test, and deploy scalable and reactive microservices with Rust 2018

Denis Kolodin

Microservice architecture is sweeping the world as the de facto pattern for building web-based applications. Rust is a language particularly well-suited for building microservices. It is a new system programming language that offers a practical and safe alternative to C.This book describes web development using the Rust programming language and will get you up and running with modern web frameworks and crates with examples of RESTful microservices creation. You will deep dive into Reactive programming, and asynchronous programming, and split your web application into a set of concurrent actors. The book provides several HTTP-handling examples with manageable memory allocations. You will walk through stateless high-performance microservices, which are ideally suitable for computation or caching tasks, and look at stateful microservices, which are filled with persistent data and database interactions. As we move along, you will learn how to use Rust macros to describe business or protocol entities of our application and compile them into native structs, which will be performed at full speed with the help of the server's CPU.Finally, you will be taken through examples of how to test and debug microservices and pack them into a tiny monolithic binary or put them into a container and deploy them to modern cloud platforms such as AWS.

102
Ebook

Hands-On Robotics Programming with C++. Leverage Raspberry Pi 3 and C++ libraries to build intelligent robotics applications

Dinesh Tavasalkar

C++ is one of the most popular legacy programming languages for robotics, and a combination of C++ and robotics hardware is used in many leading industries. This book will bridge the gap between Raspberry Pi and C/C++ programming and enable you to develop applications for Raspberry Pi. You'll even be able to implement C programs in Raspberry Pi with the WiringPi library.The book will guide you through developing a fully functional car robot and writing programs to move it in different directions. You’ll then create an obstacle-avoiding robot using an ultrasonic sensor. In addition to this, you’ll find out how to control the robot wirelessly using your PC or Mac. This book will also help you work with object detection and tracking using OpenCV, and guide you through exploring face detection techniques. Finally, you will create an Android app and control the robot wirelessly with an Android smartphone.By the end of this book, you will have gained experience in developing a robot using Raspberry Pi and C/C++ programming.

103
Ebook

Hands-On System Programming with C++. Build performant and concurrent Unix and Linux systems with C++17

Dr. Rian Quinn

C++ is a general-purpose programming language with a bias toward system programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions.This book will help you understand the benefits of system programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards, as well as their respective system types for both C++ and POSIX. After a brief refresher on C++, Resource Acquisition Is Initialization (RAII), and the new C++ Guideline Support Library (GSL), you will learn to program Linux and Unix systems along with process management. As you progress through the chapters, you will become acquainted with C++'s support for IO. You will then study various memory management methods, including a chapter on allocators and how they benefit system programming. You will also explore how to program file input and output and learn about POSIX sockets. This book will help you get to grips with safely setting up a UDP and TCP server/client.Finally, you will be guided through Unix time interfaces, multithreading, and error handling with C++ exceptions. By the end of this book, you will be comfortable with using C++ to program high-quality systems.

104
Ebook

Inkscape Beginner's Guide. Create attractive layout designs, logos, brochures, icons, and more using the Inkscape vector graphics editor

Bethany Hiitola

Learning to use Inkscape, an exciting open-source vector graphics program, broadens your software toolkit as a graphic designer. Using practical, real-world examples, you'll learn everything about the software and its capabilities so you'll be able to design anything from logos to websites.Inkscape Beginner's Guide is a practical step-by-step guide for learning this exciting vector graphics software. Not only will it take you through each menu item and toolbar, but you will also learn about creating complex shapes, text styling, filters, working with images, extensions, and the XML editoróall using real world examples.The book starts with an overview of vector graphics and how best to use them when designing for digital and print mediums. Then we install Inkscape and start learning all the ins and outs of the software. You'll build your first vector graphic while learning best practices for using layers, and build simple and complex objects with shapes and paths that will ultimately become exciting graphics to be used in your designs. Beyond designing sample logos and brochures while learning the software, you'll also learn how to use filters, install and use extensions, and the ins-and-outs of SVG and the XML Editor in Inkscape.

105
Ebook

Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino

Mariusz Duka

Internet rzeczy to przykład koncepcji, która - w odróżnieniu od wielu innych relatywnie młodych dziedzin IT - została więcej niż pozytywnie zweryfikowana przez czas i rynek. Już dziś IoT znajduje bardzo szerokie zastosowanie w wielu obszarach życia: od projektów stricte hobbystycznych, przez automatykę domową, handel i usługi, po systemy inteligentnych miast, przemysł i rolnictwo. Internet rzeczy nadal ewoluuje - i staje się coraz powszechniejszy, a to może być zachętą do tego, by poznać go bliżej. Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino może się okazać świetną propozycją na początek przygody z IoT. Książka kompleksowo objaśnia specyfikę wybranych urządzeń i uczy, jak je programować w sposób na tyle przystępny, że wystarczy przeciętna znajomość obsługi komputera, by zacząć tworzyć pierwsze projekty. Treść została zilustrowana przykładowymi kodami źródłowymi, co zdecydowanie ułatwia stawianie pierwszych kroków. Dzięki książce: poznasz wybrane urządzenia IoT zaznajomisz się z narzędziami programistycznymi nauczysz się podstaw języków programowania uruchomisz własny serwer dla aplikacji web stworzysz serwer WWW na urządzeniu IoT a nawet zaprojektujesz serwer Minecrafta! Internet rzeczy ma przed sobą wielką przyszłość, bądź jej częścią!

106
Ebook

Java 9: Building Robust Modular Applications. Master advanced Java features and implement them to build amazing projects

Dr. Edward Lavieri, Peter Verhas, Jason Lee

Java 9 and its new features add to the richness of the language; Java is one of the languages most used by developers to build robust software applications. Java 9 comes with a special emphasis on modularity with its integration with Jigsaw. This course is your one-stop guide to mastering the language.You'll be provided with an overview and explanation of the new features introduced in Java 9 and the importance of the new APIs and enhancements. Some new features of Java 9 are ground-breaking; if you are an experienced programmer, you will be able to make your enterprise applications leaner by learning these new features. You'll be provided with practical guidance in applying your newly acquired knowledge of Java 9 and further information on future developments of the Java platform. This course will improve your productivity, making your applications faster. Next, you'll go on to implement everything you've learned by building 10 cool projects. You will learn to build an email filter that separates spam messages from all your inboxes, a social media aggregator app that will help you efficiently track various feeds, and a microservice for a client/server note application, to name just a few.By the end of this course, you will be well acquainted with Java 9 features and able to build your own applications and projects.This Learning Path contains the best content from the following two recently published Packt products:• Mastering Java 9• Java 9 Programming Blueprints

107
Ebook

Język C dla małych urządzeń. Krótki kod o wielkich możliwościach

Marc Loy

Wydawałoby się, że język C najlepsze lata ma już za sobą. Opracowano w końcu mnóstwo łatwych w użyciu i efektywnych wysokopoziomowych języków programowania. W rzeczywistości język C wciąż okazuje się niezastąpiony do tak ważnych celów, jak programowanie sterowników, systemów operacyjnych, kart graficznych, a także niewielkich mikrokontrolerów o ograniczonych zasobach. Właśnie teraz, w czasach burzliwego rozwoju internetu rzeczy, język C udowadnia swoją przydatność. Wystarczy nauczyć się tworzyć w nim czysty kod o niewielkich rozmiarach. W tym podręczniku do praktycznej nauki programowania w języku C szczególną uwagę zwrócono na pisanie kodu umożliwiającego uzyskanie wysokiej wydajności w środowiskach o bardzo małych zasobach. Znalazło się tu gruntowne omówienie podstaw dobrego programowania w języku C. Opisano struktury kontrolne, operatory, funkcje i inne elementy składni C, a także zasady dobrego programowania i wzorce, dzięki którym można zmniejszać rozmiar skompilowanego programu. Przeanalizowano również środowisko Arduino, które jest świetną platformą docelową dla niewielkich programów napisanych w C. Zawarte tu informacje przydadzą się jednak każdemu, kto chce się zająć programowaniem dla systemów wbudowanych. W książce między innymi: podstawy języka C, w tym typy danych, przepływ sterowania i funkcje zarządzanie pamięcią i działanie programów w prostych urządzeniach tworzenie czytelnego i łatwego w utrzymaniu kodu w języku C optymalizacja kodu pod kątem wydajności testowanie istniejących bibliotek i tworzenie własnych Programowanie niskopoziomowe? Czysta radość z czystego C!

108
Ebook

Język C++ i przetwarzanie współbieżne w akcji

Anthony Williams

Odkryj wszystkie tajemnice wielowątkowych aplikacji! Współbieżne przetwarzanie danych to największe wyzwanie dla programisty. Na każdym kroku czyhają na niego najbardziej wymyślne pułapki, a wykrycie pomyłki stanowi nie lada wyzwanie. Każdy programista wzdryga się na samą myśl o implementacji wielowątkowych rozwiązań. Nie musi tak być! Dzięki tej książce poradzisz sobie z większością zadań i zwinnie ominiesz zastawione pułapki. W trakcie lektury dowiesz się, jak zidentyfikować zadania, w których zastosowanie współbieżności ma sens, oraz jak zarządzać wątkami. Ponadto nauczysz się chronić współdzielone dane oraz synchronizować współbieżne operacje. Duży nacisk został tu położony na zagadnienia związane z projektowaniem współbieżnych struktur danych oraz kodu. Osobny rozdział poświęcono debugowaniu aplikacji wielowątkowych. Książka ta jest długo oczekiwaną pozycją, która ułatwi codzienne życie programistom C++. Dzięki tej książce: zaprojektujesz współbieżny kod oraz struktury ochronisz współdzielone dane poznasz zaawansowane metody zarządzania wątkami bez problemu przeprowadzisz debugowanie Twojej wielowątkowej aplikacji Sprawdź, jak tworzyć niezawodne oprogramowanie wielowątkowe!

109
Ebook

Język C++ i przetwarzanie współbieżne w akcji. Wydanie II

Anthony Williams

Jeśli aplikacja ma działać szybko i niezawodnie, najlepiej wybrać C++, dojrzały i wszechstronny język programowania, konsekwentnie rozwijany przez mistrzów kodowania. Wymaga on zachowania pewnej dyscypliny podczas pracy, jednak pozwala na uzyskanie kodu o znakomitej wydajności. Nowy standard C++17 zapewnia doskonałą obsługę wielowątkowości oraz programowania wieloprocesorowego wymaganego podczas szybkiego przetwarzania grafiki, uczenia maszynowego czy też wykonywania innych zadań, w których kluczową sprawą okazuje się wydajność. Ta książka jest drugim, zaktualizowanym i uzupełnionym wydaniem doskonałego podręcznika dla profesjonalistów. Szczegółowo opisano w niej wszystkie etapy programowania współbieżnego: od utworzenia wątków po projektowanie wielowątkowych algorytmów i struktur danych. Przedstawiono zastosowania klas std::thread i std::mutex oraz funkcji std::async, a także złożone zagadnienia związane z operacjami atomowymi i modelem pamięci. Sporo miejsca poświęcono diagnozowaniu kodu i analizie rodzajów błędów. Opisano techniki lokalizowania błędów oraz metody testowania kodu. Prezentowany materiał został uzupełniony przykładami kodu i praktycznymi ćwiczeniami. Znalazły się tu również porady i wskazówki, które docenią wszyscy programiści C++. W tej książce między innymi: nowości w standardzie C++17 zagadnienia niskiego poziomu: model pamięci i operacje atomowe zagadnienia wyższego poziomu: złożone struktury danych zagadnienia wysokiego poziomu: kod wielowątkowy i zarządzanie wątkami obsługa równoległości za pomocą funkcji dodanych w standardzie C++17 debugowanie kodu wielowątkowego Programuj elegancko, twórz wydajny i czysty kod. Oto współbieżność w C++!

110
Ebook

Język C++. Kompendium wiedzy. Wydanie IV

Bjarne Stroustrup

Twój przewodnik po C++! C++ dzielnie broni swojej pozycji na rynku języków programowania. Pomimo silnego naporu języka Java oraz platformy .NET wciąż jest niezastąpiony w wielu dziedzinach. Jeżeli tylko wymagana jest najwyższa wydajność, dostęp do sprzętu oraz przewidywalny czas wykonania, programiści najczęściej wybierają właśnie język C++. Ostatnia wersja standardu - oznaczona numerem 11 - pozwala na jeszcze łatwiejsze pisanie kodu oraz tworzenie szybszych i wydajniejszych programów. Najnowsze wydanie tej cenionej książki zostało poprawione i uzupełnione o nowości z tej właśnie wersji standardu języka C++. Dowiesz się, jak korzystać ze wskaźników, liczb losowych oraz udoskonalonych kontenerów. Ponadto poznasz najlepsze zastosowanie wyrażeń lambda czy szablonów. Oprócz omówienia nowości znajdziesz tu również szczegółowy przegląd klasycznych elementów języka C++. Pętle, zmienne, tablice, instrukcje warunkowe - to tylko niektóre z omawianych zagadnień. Książka stanowi doskonały podręcznik dla początkujących programistów i świetne rozwinięcie dla programujących w języku C++ na co dzień. Przekonaj się, jak łatwo i przyjemnie możesz opanować ten popularny język oprogramowania. Dzięki tej książce: poznasz nowości wprowadzone w C++ 11 zaznajomisz się z elementami biblioteki standardowej opanujesz podstawowy model pamięci języka C++ zrozumiesz model pamięci języka C++ Poznaj nowości C++ 11! podstawowe narzędzia, np. typy, obiekty, zakresy, pamięć, wykonywanie obliczeń i wiele więcej modularność oparta na przestrzeniach nazw, plikach źródłowych oraz obsłudze wyjątków abstrakcja w C++, tj. wykorzystanie klas, hierarchii klas oraz szablonów w programowaniu tradycyjnym, obiektowym oraz ogólnym biblioteka standardowa: kontenery, algorytmy, iteratory, narzędzia dodatkowe, łańcuchy, strumienia wejścia i wyjścia, lokacje, biblioteki liczbowe i wiele więcej szczegółowy opis podstawowego modelu pamięci języka C++ Czwarte wydanie książki pozwala na łatwe przejście na C++11 programistom, którzy do tej pory programowali przy użyciu C++98 lub w innych językach. Ponadto w książce znajduje się wiele cennych informacji nawet dla znawców standardu C++11.

111
Ebook

Język C++. Owoce programowania. Wydanie IX

Tony Gaddis

C++ powstał w 1979 roku. Od tej pory cały czas się rozwija. Mimo że wymaga od programisty pewnej dyscypliny i staranności w pracy, jest chętnie wykorzystywany, daje bowiem ogromne możliwości i cechuje się elastycznością. W języku tym zaimplementowano mechanizmy programowania obiektowego. Opanowanie C++ nie tylko pozwala programistom tworzyć aplikacje dla praktycznie wszystkich platform, komputerów, serwerów i urządzeń mobilnych, ale również ułatwia naukę innych języków programowania. Aby w pełni skorzystać z tych zalet, trzeba od początku przykładać się do nauki pisania kodu z poszanowaniem dobrych praktyk. To kolejne wydanie lubianego podręcznika programowania w języku C++; książka przeznaczona dla osób, które dopiero rozpoczynają naukę kodowania, i tych, które mają już doświadczenie z innymi językami. Znalazło się tu przystępne wyjaśnienie podstaw działania komputera oraz wprowadzenie do samego języka, a także mnóstwo pożytecznych wskazówek dla początkujących. Bardziej zaawansowani programiści docenią szczegółowe opisy niuansów, zawiłości i źródeł możliwych problemów. Książka jest napisana prostym, zrozumiałym językiem i zawiera wiele świetnie dobranych przykładów ilustrujących nie tylko funkcje i konstrukcje języka C++, ale również przypadki i sposoby ich użycia. Najważniejsze zagadnienia: przystępne wprowadzenie do C++ funkcje i klasy, tablice i wektory wyrażenia lambda, wskaźniki i przeciążanie operatorów dziedziczenie i polimorfizm stosy, kolejki i rekurencja - drzewa binarne: tworzenie i operacje na drzewach Idź i programuj w C++!

112
Ebook

Język C++. Pierwsze starcie

Zbigniew Koza

Poznaj tajniki programowania w C++ Jak skonstruowany jest program w języku C++? Na czym polega programowanie obiektowe? Jak korzystać z bibliotek? C++ to jeden z najpopularniejszych języków programowania. Stosowany jest zarówno przez profesjonalistów, jak i hobbystów. Wszyscy jego użytkownicy doceniają elastyczność, ogromne możliwości i szybkość działania napisanych w nim programów. Ogromną zaletą C++ jest to, że nie wymusza na programistach stosowania określonego stylu programowania. Z racji swoich możliwości jest to język bardzo złożony, a efektywne programowanie w nim wymaga poznania wielu technik i pojęć oraz umiejętności wykorzystania tej wiedzy w praktyce. Książka "C++. Pierwsze starcie" to podręcznik, dzięki któremu opanujesz zasady programowania w tym języku i zdobędziesz solidne podstawy do dalszego rozwijania swoich umiejętności. Znajdziesz w niej opis aktualnego standardu C++ oraz omówienia narzędzi programistycznych i bibliotek. Poznasz elementy języka, zasady programowania obiektowego i tworzenia złożonych aplikacji. Przeczytasz o szablonach, bibliotece STL i obsłudze błędów. Dowiesz się, jak stosować biblioteki przy tworzeniu aplikacji dla systemów Windows i Linux. Struktura programu w C++ Elementy języka Korzystanie z funkcji Programowanie obiektowe Dynamiczne struktury danych Stosowanie bibliotek Szablony Biblioteka STL Obsługa błędów Zrób pierwszy krok na drodze do profesjonalnego tworzenia oprogramowania.

113
Ebook

Język C. Solidna wiedza w praktyce. Wydanie VIII

Paul J. Deitel, Harvey Deitel

Początki programowania bywają trudne, jednak jest to bardzo ważny czas dla programisty. Od tego, jakich nabierze nawyków, w jakim stopniu opanuje zasady tworzenia bezpiecznego kodu i na ile będzie przestrzegał dobrych praktyk, naprawdę wiele zależy. Konieczne jest również dogłębne zrozumienie takich podstaw informatyki jak działanie procesora, zarządzanie pamięcią, wątki czy działanie kompilatora. Okazuje się, że skuteczne przyswojenie podstaw jest zadaniem bardzo trudnym, ale wyjątkowo ważnym i odpowiedzialnym - zarówno dla ucznia, jak i nauczyciela. To ósme, zaktualizowane i uzupełnione wydanie znakomitego podręcznika przeznaczonego dla adeptów języka C i ich nauczycieli. Zawiera doskonałe wprowadzenie do C oraz inżynierii oprogramowania. Materiał zamieszczony w książce jest aktualny i zgodny z nowoczesnymi zasadami pracy. Obszernie wyjaśniono tu zasady tworzenia i działania kodu, a także zagadnienia związane z typami danych, funkcjami, tablicami, operacjami na bitach, wyliczeniami, pracą na plikach i innymi kwestiami ważnymi z punktu widzenia funkcjonalności, wydajności i bezpieczeństwa kodu. To pozycja oparta na zasadach nowoczesnej dydaktyki - zawiera mnóstwo przydatnych przykładów, ćwiczeń, wskazówek i podsumowań. Poszczególne koncepcje wyjaśniono z użyciem pseudokodu, algorytmów i schematów, dzięki czemu zrozumienie języka C staje się dużo łatwiejsze. W tej książce między innymi: obszerne omówienie języka C funkcje wprowadzone w standardach C99 i C11 zasady bezpiecznego programowania testy i debugowanie kodu kwestie wydajności a wielowątkowość i systemy wielordzeniowe zasady programowania zorientowanego obiektowo: wprowadzenie do C++ C: ucz się od najlepszych i programuj jak mistrz!

114
Ebook

Język C/C++ i obliczenia numeryczne. Krótkie wprowadzenie

Michał Matlak

Poznaj zalety języka C/C++! Początki programowania, czyli jak zacząć działać bez dogłębnej znajomości tematu Struktura prostych programów, czyli czego na pewno nie wolno Ci pominąć Obliczenia numeryczne, czyli jak możesz zastosować w praktyce swoją świeżo zdobytą wiedzę Język C i jego następca C++ towarzyszą programistom komputerowym już od dawna. Mimo to zainteresowanie tymi językami wcale nie maleje, lecz rośnie — i język C++ nadal się rozwija. Przyczyna jest prosta: nie ma on sobie równych, jeśli chodzi o szybkość działania kodu wynikowego i wszechstronne możliwości zastosowania w różnych dziedzinach. Jednak do nauki tego języka trzeba się trochę przyłożyć. Jeśli przerażają Cię opasłe tomy opisujące C/C++ w najdrobniejszych szczegółach, sięgnij po książkę, która pomoże Ci szybko nauczyć się podstaw programowania w tym języku. W tym krótkim, treściwym podręczniku pokazano sposób konstruowania programów obliczeniowych na prostych, przejrzystych przykładach. Dzięki temu także i Ty możesz szybko napisać swój pierwszy program, który ułatwi Ci pracę i odpowie na Twoje konkretne potrzeby. Dowiesz się stąd, jak używać poszczególnych elementów programowania w C/C++ jako przygotowania do pracy z gotowymi bibliotekami numerycznymi. Zobaczysz, jak powinna wyglądać struktura Twojego programu i jak zaimplementować w nim różne funkcje. Sprawdzisz, jak efektywnie uczyć się programowania i na co koniecznie należy zwracać uwagę. Zobacz sam! Szybki start Rodzaje wielkości w języku C/C++ i ich deklaracja Deklaracja tablic Operacje na zadeklarowanych wielkościach Instrukcje warunkowe i sterowanie pracą komputera Automatyzacja obliczeń Architektura programu i pierwsze programy Operacje wyprowadzania wyników Opis programów przykładowych do nauki programowania Wskaźniki, tablice, funkcje, struktury i liczby zespolone Cztery programy przykładowe C/C++ to przepustka do programowania dla każdego!

115
Ebook

Julia 1.0 Programming. Dynamic and high-performance programming to build fast scientific applications - Second Edition

Ivo Balbaert

The release of Julia 1.0 is now ready to change the technical world by combining the high productivity and ease of use of Python and R with the lightning-fast speed of C++. Julia 1.0 programming gives you a head start in tackling your numerical and data problems. You will begin by learning how to set up a running Julia platform, before exploring its various built-in types. With the help of practical examples, this book walks you through two important collection types: arrays and matrices. In addition to this, you will be taken through how type conversions and promotions work. In the course of the book, you will be introduced to the homo-iconicity and metaprogramming concepts in Julia. You will understand how Julia provides different ways to interact with an operating system, as well as other languages, and then you'll discover what macros are. Once you have grasped the basics, you’ll study what makes Julia suitable for numerical and scientific computing, and learn about the features provided by Julia. By the end of this book, you will also have learned how to run external programs. This book covers all you need to know about Julia in order to leverage its high speed and efficiency for your applications.

116
Ebook

Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami

Maciej Matyka

Od dekad C++ pozostaje jednym z dwóch najważniejszych języków, jeśli chodzi o programowanie systemowe, ale też aplikacyjne. Bez niego nie byłoby Windowsa, Excela, Photoshopa ani dużej części oprogramowania bazodanowego na czele z MySQL. A bez nich trudno sobie wyobrazić funkcjonowanie dzisiejszego świata. Nic więc dziwnego, że C++ od lat pozostaje obiektem zainteresowania programistów - w branży IT niezmiennie utrzymuje się silna potrzeba, aby doskonalić umiejętności programowania w tym języku. Z pomocą przychodzi ta książka - Kombinacje C++. 648 łamigłówek programistycznych z odpowiedziami to zbiór blisko 650 praktycznych zadań doskonalących znajomość języka C++ i umiejętności programistyczne. Układem nawiązuje do podręczników szachowych, które na konkretnych przykładach przybliżają obowiązujące zasady. Zawartość została podzielona na dwie części. Pierwsza zapoznaje z podstawowymi motywami, jak klasy, funkcje czy biblioteki standardowe. Druga część zawiesza poprzeczkę wyżej i wymaga więcej wysiłku - tym bardziej jednak zachęca do zaangażowania się w rozwiązywanie problemów, co w praktyce wprost przełoży się na podniesienie kompetencji programistycznych. Dzięki książce: zrozumiesz działanie programów nauczysz się wyszukiwać błędy w kodzie poznasz kluczowe motywy języka C++ wyniesiesz swoje umiejętności na nowy, wyższy poziom Setki łamigłówek czekają!

117
Ebook

Learn LLVM 12. A beginner's guide to learning LLVM compiler tools and core libraries with C++

Kai Nacke

LLVM was built to bridge the gap between compiler textbooks and actual compiler development. It provides a modular codebase and advanced tools which help developers to build compilers easily. This book provides a practical introduction to LLVM, gradually helping you navigate through complex scenarios with ease when it comes to building and working with compilers.You’ll start by configuring, building, and installing LLVM libraries, tools, and external projects. Next, the book will introduce you to LLVM design and how it works in practice during each LLVM compiler stage: frontend, optimizer, and backend. Using a subset of a real programming language as an example, you will then learn how to develop a frontend and generate LLVM IR, hand it over to the optimization pipeline, and generate machine code from it. Later chapters will show you how to extend LLVM with a new pass and how instruction selection in LLVM works. You’ll also focus on Just-in-Time compilation issues and the current state of JIT-compilation support that LLVM provides, before finally going on to understand how to develop a new backend for LLVM.By the end of this LLVM book, you will have gained real-world experience in working with the LLVM compiler development framework with the help of hands-on examples and source code snippets.

118
Ebook

Learn OpenGL. Beginner's guide to 3D rendering and game development with OpenGL and C++

Frahaan Hussain

Learn OpenGL is your one-stop reference guide to get started with OpenGL and C++ for game development. From setting up the development environment to getting started with basics of drawing and shaders, along with concepts such as lighting, model loading, and cube mapping, this book will get you up to speed with the fundamentals.You begin by setting up your development environment to use OpenGL on Windows and macOS. With GLFW and GLEW set up using absolute and relative linking done, you are ready to setup SDL and SFML for both the operating systems.Now that your development environment is set up, you'll learn to draw using simple shaders as well as make the shader more adaptable and reusable. Then we move on to more advanced topics like texturing your objects with images and transforming your objects using translate, rotate and scale.With these concepts covered, we'll move on to topics like lighting to enable you to incorporate amazing dynamic lights in your game world.By the end of the book, you'll learn about model loading, right from setting up ASSIMP to learning about the model class and loading a model in your game environment. We will conclude by understanding cube mapping to bring advance worlds to your game.

119
Ebook

Learn WebAssembly. Build web applications with native performance using Wasm and C/C++

Mike Rourke

WebAssembly is a brand-new technology that represents a paradigm shift in web development. This book teaches programmers to leverage this technology to write high-performance applications that run in the browser. This book introduces you to powerful WebAssembly concepts to help you write lean and powerful web applications with native performance. You start with the evolution of web programming, the state of things today, and what can be done with the advent and release of WebAssembly. We take a look at the journey from JavaScript to asm.js to WebAssembly. We then move on to analyze the anatomy of a WebAssembly module and the relationship between binary and text formats, along with the corresponding JavaScript API. Further on, you'll implement all the techniques you've learned to build a high-performance application using C and WebAssembly, and then port an existing game written in C++ to WebAssembly using Emscripten. By the end of this book, you will be well-equipped to create high-performance applications and games for the web using WebAssembly.

120
Ebook