Programowanie
Niezależnie czy dopiero rozpoczynacie swoją przygodę z programowaniem, czy jesteście już uznanymi na rynku profesjonalistami, to w kategorii Programowanie na pewno znajdziecie podręczniki, które pomogą Wam w przebiegu pracy, czy też w nauce podstaw programowania.
W książkach z tego działu zawarta jest wiedza zarówno związana z czysto technicznymi sprawami typu składnia języków, ale także z umiejętnościami bardziej "miękkimi" jak obsługa i wykorzystanie pełnych możliwości środowisk programistycznych, czy też projektowanie oprogramowania lub metody numeryczne czy oraz struktury danych.
Aristides Bouras
Embark on your programming journey with a thorough introduction to how computers work, setting the stage for understanding C++ and its applications. This course begins with the basics, including setting up your development environment and installing necessary software packages. As you progress, you'll delve into fundamental algorithmic concepts, variables, constants, and handling input and output efficiently.As you build your knowledge, the course introduces more complex topics such as sequence control structures, decision-making processes, and loop control structures. You will learn to manipulate numbers, strings, and understand the intricacies of operators through practical exercises and real-world examples. Visual aids like trace tables and flowcharts will help you visualize the flow of your programs and improve your debugging skills.Towards the end of the course, you'll explore advanced topics such as arrays, data structures, subprograms, and an introduction to object-oriented programming. By the conclusion, you will also gain insights into file handling and advanced algorithmic strategies. Each chapter is designed to build on the previous one, ensuring a cohesive and comprehensive learning experience that equips you with the skills needed to excel in C++ programming and algorithmic thinking.
Aristides Bouras
Embark on your programming journey with a thorough introduction to how computers work, setting the stage for understanding C++ and its applications. This course begins with the basics, including setting up your development environment and installing necessary software packages. As you progress, you'll delve into fundamental algorithmic concepts, variables, constants, and handling input and output efficiently.As you build your knowledge, the course introduces more complex topics such as sequence control structures, decision-making processes, and loop control structures. You will learn to manipulate numbers, strings, and understand the intricacies of operators through practical exercises and real-world examples. Visual aids like trace tables and flowcharts will help you visualize the flow of your programs and improve your debugging skills.Towards the end of the course, you'll explore advanced topics such as arrays, data structures, subprograms, and an introduction to object-oriented programming. By the conclusion, you will also gain insights into file handling and advanced algorithmic strategies. Each chapter is designed to build on the previous one, ensuring a cohesive and comprehensive learning experience that equips you with the skills needed to excel in C++ programming and algorithmic thinking.
Aristides Bouras
This course takes you on a journey through the basics of C# programming and algorithmic thinking, tailored specifically for complete beginners. Starting with an understanding of how a computer works, you will explore integrated development environments, essential software packages, and basic algorithmic concepts.As you progress, you will delve deeper into key programming constructs such as variables, constants, input and output handling, operators, and control structures. The course emphasizes practical application, guiding you through exercises involving complex mathematical expressions, string manipulations, decision structures, and loop control structures. By the time you reach the advanced sections, you will have a comprehensive understanding of data structures, subprograms, and object-oriented programming.Designed to be engaging and informative, this course offers tips, tricks, and detailed explanations to help you master each concept. The use of Visual Studio Code is seamlessly integrated, providing you with hands-on experience in a real-world development environment. By the end of the course, you will be well-equipped to tackle more advanced programming challenges and continue your journey in the world of software development.
Aristides Bouras
This course takes you on a journey through the basics of C# programming and algorithmic thinking, tailored specifically for complete beginners. Starting with an understanding of how a computer works, you will explore integrated development environments, essential software packages, and basic algorithmic concepts.As you progress, you will delve deeper into key programming constructs such as variables, constants, input and output handling, operators, and control structures. The course emphasizes practical application, guiding you through exercises involving complex mathematical expressions, string manipulations, decision structures, and loop control structures. By the time you reach the advanced sections, you will have a comprehensive understanding of data structures, subprograms, and object-oriented programming.Designed to be engaging and informative, this course offers tips, tricks, and detailed explanations to help you master each concept. The use of Visual Studio Code is seamlessly integrated, providing you with hands-on experience in a real-world development environment. By the end of the course, you will be well-equipped to tackle more advanced programming challenges and continue your journey in the world of software development.
Ayobami Adewole
This book guides developers to create robust, production-ready C# 7 and .NET Core applications through the practice of test-driven development process. In C# and .NET Core Test-Driven Development, you will learn the different stages of the TDD life cycle, basics of TDD, best practices, and anti-patterns. It will teach you how to create an ASP.NET Core MVC sample application, write testable code with SOLID principles and set up a dependency injection for your sample application. Next, you will learn the xUnit testing framework and learn how to use its attributes and assertions. You’ll see how to create data-driven unit tests and mock dependencies in your code. You will understand the difference between running and debugging your tests on .NET Core on LINUX versus Windows and Visual Studio. As you move forward, you will be able to create a healthy continuous integration process for your sample application using GitHub, TeamCity, Cake, and Microsoft VSTS.By the end of this book, you will have learned how to write clean and robust code through the effective practice of TDD, set up CI build steps to test and build applications as well as how to package application for deployment on NuGet.
Ayobami Adewole
This book guides developers to create robust, production-ready C# 7 and .NET Core applications through the practice of test-driven development process. In C# and .NET Core Test-Driven Development, you will learn the different stages of the TDD life cycle, basics of TDD, best practices, and anti-patterns. It will teach you how to create an ASP.NET Core MVC sample application, write testable code with SOLID principles and set up a dependency injection for your sample application. Next, you will learn the xUnit testing framework and learn how to use its attributes and assertions. You’ll see how to create data-driven unit tests and mock dependencies in your code. You will understand the difference between running and debugging your tests on .NET Core on LINUX versus Windows and Visual Studio. As you move forward, you will be able to create a healthy continuous integration process for your sample application using GitHub, TeamCity, Cake, and Microsoft VSTS.By the end of this book, you will have learned how to write clean and robust code through the effective practice of TDD, set up CI build steps to test and build applications as well as how to package application for deployment on NuGet.
BIPLAB MODAK
This is a comprehensive tutorial with step-by-step instructions on how to develop applications with Code::Blocks.This book is for C++ developers who wish to use Code::Blocks to create applications with a consistent look and feel across multiple platforms. This book assumes that you are familiar with the basics of the C++ programming language.
C++. Biblioteka standardowa. Podręcznik programisty. Wydanie II
Nicolai M. Josuttis
Lektura obowiązkowa dla każdego programisty C++! Pomimo olbrzymiej konkurencji ze strony platformy .NET oraz języka Java język C++ wciąż jest niezastąpiony w wielu dziedzinach. Wszędzie tam, gdzie wymagane są najwyższa wydajność, pełna kontrola nad sprzętem oraz przewidywalność, C++ jest bezkonkurencyjny. Biblioteka standardowa C++ to zestaw klas i interfejsów, które w znaczny sposób zwiększają możliwości tego języka. Warto wykorzystać jej potencjał! Biblioteka standardowa C++ poza wieloma niewątpliwymi zaletami ma jedną poważną wadę - jest trudna do opanowania. Właśnie dlatego potrzebny Ci jest ten podręcznik! W trakcie lektury poznasz nowe elementy języka C++ w wersji 11. Następnie dowiesz się, czym jest standardowa biblioteka szablonów (STL), oraz zobaczysz, jak wykorzystać w codziennej pracy: mapy, multimapy, iteratory, listy oraz wiele innych elementów. Na sam koniec nauczysz się poprawnie korzystać ze współbieżności oraz tworzyć aplikacje obsługujące różne wersje językowe. Każdy z komponentów biblioteki został dokładnie przedstawiony: z opisem przeznaczenia, przykładami oraz problemami, których może przysporzyć. Książka ta jest obowiązkową lekturą każdego programisty C++! Dzięki tej książce: poznasz nowości języka C++ w wersji 11 wykorzystasz możliwości kontenerów STL zrozumiesz zastosowanie iteratorów zobaczysz na praktycznych przykładach, jak działają komponenty błyskawicznie opanujesz możliwości biblioteki standardowej C++ Odkryj potęgę C++!
C++. Ćwiczenia praktyczne. Wydanie III
Andrzej Stasiewicz
Poznaj nowoczesny warsztat pracy programisty Naucz się tworzyć funkcje i używać typów danych Dowiedz się, na czym polega programowanie obiektowe w C++ Przekonaj się, że programowanie w C++ to nic trudnego! C++ stanowi obecnie najbardziej rozpowszechniony język programowania. Choć nie każdy o tym wie, dał on początek wielu innym, wyspecjalizowanym językom, zaś dla tysięcy studentów kierunków informatycznych niezmiennie pozostaje jednym z najważniejszych przedmiotów na studiach. Napisane w nim aplikacje można spotkać dosłownie na każdym kroku i w każdym systemie operacyjnym, a sprawnie posługujący się nim programiści mogą liczyć na dobre oferty pracy. Mimo upływu lat C++ wciąż jest językiem bardzo nowoczesnym, a dzięki długiej historii stanowi narzędzie bardzo dojrzałe i doskonale sprawdzone. Jedynym problemem wydaje się to, że tak wiele osób uważa go za język skomplikowany i trudny do opanowania. O tym, że wcale tak być nie musi, możesz przekonać się dzięki książce "C++. Ćwiczenia praktyczne. Wydanie III ". Zgromadzone w niej informacje i ćwiczenia w prosty i niezwykle pragmatyczny sposób wprowadzą Cię w podstawy "tajemnej" wiedzy programistycznej. Dowiesz się między innymi, jak posługiwać się plikami źródłowymi tworzącymi program C++, zapewniać sobie dostęp do bibliotek i używać funkcji standardowych, wykonywać operacje wejścia-wyjścia, korzystać z różnych instrukcji warunkowych oraz deklarować czy definiować własne funkcje. Poznasz też standardowe typy danych dostępne w języku C++, nauczysz się deklarować zmienne i przeprowadzać na nich rozmaite operacje. Zrozumiesz, jak tworzyć własne typy danych i do czego może Ci się to przydać. Warsztat programisty C++ Podstawowe informacje o języku i narzędziach Organizacja plików źródłowych Obsługa strumieni wejścia i wyjścia Dołączanie bibliotek i korzystanie z funkcji bibliotecznych Implementowanie algorytmów przy użyciu instrukcji warunkowych Deklarowanie i definiowanie własnych funkcji Tworzenie i używanie zmiennych różnych typów Definiowanie własnych typów danych w postaci klas Podstawowe informacje o kontenerach Przećwicz C++ w praktyce!
Marcin Lis
Czas na praktyczną naukę C#! Odkryj wygodne narzędzia programistyczne i obiektowe możliwości C# Poznaj najważniejsze konstrukcje języka i naucz się stosować je w praktyce Dowiedz się, jak wykorzystywać C# do tworzenia doskonałych aplikacji Windows Na początku był język C. Potem przyszedł czas na zorientowane obiektowo C++. Przełomem była Java, lecz dopiero twórcy języka C# odnieśli prawdziwy sukces. Udało im się to dzięki połączeniu najlepszych cech wszystkich poprzedników, prostej, zwartej i doskonale znanej wielu programistom składni oraz możliwościom oferowanym przez platformę .NET. Dodatkowymi atutami były niespotykane wcześniej bezpieczeństwo i wydajność środowiska uruchomieniowego. Znajomość C# pozwala dziś o wiele łatwiej tworzyć bardzo zaawansowane aplikacje przy stosunkowo niewielkim nakładzie pracy, a nauka języka wcale nie musi być drogą przez mękę. Można się o tym przekonać dzięki książce "C#. Ćwiczenia. Wydanie III" . Wykonując zawarte w niej zadania, poznasz nie tylko konstrukcje języka, lecz również sposoby zastosowania ich w praktyce oraz metody wykorzystania środowiska C# do tworzenia wydajnych aplikacji Windows. Podstawy języka C# i środowiska Visual C# Podstawy techniki obiektowej Typy złożone i związane z nimi instrukcje Definiowanie, zgłaszanie i obsługa wyjątków Podstawy programowania w Windows Elementy graficznego interfejsu użytkownika Poznaj najlepszy język do tworzenia aplikacji Windows!
Marcin Lis
Poznaj C# — to Ci się przyda! Język programowania, czyli nauka podstawowych elementów języka C# i ich zastosowania Programowanie obiektowe, czyli zaawansowane mechanizmy i struktury danych Programowanie w Windows, czyli tworzenie aplikacji z graficznym interfejsem użytkownika C# to obiektowy język programowania, dość podobny do Javy i C++, choć jednocześnie nieco prostszy, a jego możliwości są naprawdę imponujące. Coraz większa popularność i wygoda jego używania sprawiają, że programiści chętnie sięgają po to narzędzie. Niezależnie od tego, czy umiesz już programować w Javie i C++ czy dopiero przystępujesz do nauki programowania, ta książka pomoże Ci szybko opanować najważniejsze elementy C#! Znajdziesz tu bez mała półtorej setki ćwiczeń, które pozwolą Ci zrozumieć, jak używać zmiennych i operatorów, stosować instrukcje i wprowadzać dane. Zobaczysz, jak deklarować klasy i tablice, zapewniać obsługę wyjątków i błędów, tworzyć obiekty i całe, działające aplikacje — konsolowe i z graficznym interfejsem użytkownika. Możesz to zrobić w sposób całkowicie praktyczny i od razu zobaczyć efekty swoich działań. Sprawdź, jakie cuda da się stworzyć w języku C# i wykorzystaj tę wiedzę w swojej pracy! Pierwsza aplikacja Zmienne i typy danych Instrukcje, pętle i wprowadzanie danych Klasy, obiekty i tablice Wyjątki i obsługa błędów Interfejsy Aplikacje okienkowe Delegacje i zdarzenia Komponenty Przećwicz C# i zacznij w nim programować!
John Carey, Anil Achary, Shreyans Doshi ,...
C++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++.This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book.By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code.
Marcin Jamro
Data structures allow organizing data efficiently. They are critical to various problems and their suitable implementation can provide a complete solution that acts like reusable code. In this book, you will learn how to use various data structures while developing in the C# language as well as how to implement some of the most common algorithms used with such data structures.At the beginning, you will get to know arrays, lists, dictionaries, and sets together with real-world examples of your application. Then, you will learn how to create and use stacks and queues. In the following part of the book, the more complex data structures will be introduced, namely trees and graphs, together with some algorithms for searching the shortest path in a graph. We will also discuss how to organize the code in a manageable, consistent, and extendable way. By the end of the book,you will learn how to build components that are easy to understand, debug, and use in different applications.
Marcin Jamro
Data structures allow organizing data efficiently. They are critical to various problems and their suitable implementation can provide a complete solution that acts like reusable code. In this book, you will learn how to use various data structures while developing in the C# language as well as how to implement some of the most common algorithms used with such data structures.At the beginning, you will get to know arrays, lists, dictionaries, and sets together with real-world examples of your application. Then, you will learn how to create and use stacks and queues. In the following part of the book, the more complex data structures will be introduced, namely trees and graphs, together with some algorithms for searching the shortest path in a graph. We will also discuss how to organize the code in a manageable, consistent, and extendable way. By the end of the book,you will learn how to build components that are easy to understand, debug, and use in different applications.
Wisnu Anggoro
C++ is a general-purpose programming language which has evolved over the years and is used to develop software for many different sectors. This book will be your companion as it takes you through implementing classic data structures and algorithms to help you get up and running as a confident C++ programmer.We begin with an introduction to C++ data structures and algorithms while also covering essential language constructs. Next, we will see how to store data using linked lists, arrays, stacks, and queues. Then, we will learn how to implement different sorting algorithms, such as quick sort and heap sort. Along with these, we will dive into searching algorithms such as linear search, binary search and more. Our next mission will be to attain high performance by implementing algorithms to string datatypes and implementing hash structures in algorithm design. We'll also analyze Brute Force algorithms, Greedy algorithms, and more.By the end of the book, you'll know how to build components that are easy to understand, debug, and use in different applications.
Wisnu Anggoro
C++ is a general-purpose programming language which has evolved over the years and is used to develop software for many different sectors. This book will be your companion as it takes you through implementing classic data structures and algorithms to help you get up and running as a confident C++ programmer.We begin with an introduction to C++ data structures and algorithms while also covering essential language constructs. Next, we will see how to store data using linked lists, arrays, stacks, and queues. Then, we will learn how to implement different sorting algorithms, such as quick sort and heap sort. Along with these, we will dive into searching algorithms such as linear search, binary search and more. Our next mission will be to attain high performance by implementing algorithms to string datatypes and implementing hash structures in algorithm design. We'll also analyze Brute Force algorithms, Greedy algorithms, and more.By the end of the book, you'll know how to build components that are easy to understand, debug, and use in different applications.
C++ dla bystrzaków. Wydanie VII
Stephen R. Davis
Wprowadzenie do języka C++ Programowanie funkcjonalne Używanie klas nadrzędnych i dziedziczenia Programowanie w języku C++ od podstaw Bez względu na to, czy jesteś początkującym czy średnio zaawansowanym programistą, który chce doszlifować swoje umiejętności, dzięki C++ dla bystrzaków możesz zostać sprawnym programistą. Ten podręcznik, zaktualizowany, uwzględniający zmiany z rozszerzenia do języka C++ z 2014 roku, pomoże Ci zrozumieć klasy, dziedziczenie, pokaże, jak sprawić, by Twój program wykonywał się w sposób bezpieczny - i wiele więcej. W książce: Twój pierwszy program Operatory matematyczne i logiczne Programowanie obiektowe Obsługa błędów i obrona przed hakerami
Siddhartha Rao
Programowanie w Twoim zasięgu! Pomimo swojego wieku C++ wciąż zajmuje wysoką lokatę na liście najpopularniejszych języków programowania. Przez lata dzięki wydajności oraz dostępności zdobył sobie licznych wielbicieli i wciąż jest niezastąpiony w wielu zadaniach, choć w branży przewagę nad nim mają język Java i platforma .NET. Jeżeli jednak oczekujesz najwyższej wydajności i przewidywalnego czasu wykonania zadania, język C++ może okazać się jedynym słusznym wyborem. Z tą książką opanujesz język C++ bez trudu, poświęcając na to tylko godzinę dziennie! W trakcie lektury zgłębisz jego tajniki, poznasz zalety oraz wady. Każda kolejna godzina to coraz bardziej zaawansowana, a przy tym ciekawsza dawka wiedzy. Opanowanie materiału zawartego w podręczniku pozwoli Ci na pisanie programów o różnym stopniu złożoności oraz swobodne poruszanie się w świecie języka C++. W trakcie lektury opanujesz składnię i elementy języka - tablice, instrukcje warunkowe, pętle czy stałe nie będą miały przed Tobą żadnych tajemnic. W kolejnych rozdziałach dowiesz się, jak wykorzystać wskaźniki i dyrektywy kompilatora. Ponadto zaznajomisz się z zasadami programowania obiektowego oraz poznasz nowości zawarte w wersji 11. Książka ta jest doskonałym źródłem wiedzy dla każdego adepta języka C++! Dzięki tej książce: poznasz składnię języka C++ opanujesz nowości wersji 11 języka C++ poznasz zasady programowania obiektowego napiszesz program o dowolnym stopniu skomplikowania Poznaj i wykorzystaj potencjał języka C++!
C++ Fundamentals. Hit the ground running with C++, the language that supports tech giants globally
Antonio Mallia, Francesco Zoffoli
C++ Fundamentals begins by introducing you to the C++ compilation model and syntax. You will then study data types, variable declaration, scope, and control flow statements. With the help of this book, you'll be able to compile fully working C++ code and understand how variables, references, and pointers can be used to manipulate the state of the program. Next, you will explore functions and classes — the features that C++ offers to organize a program — and use them to solve more complex problems. You will also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guidelines.As you advance through the chapters, you'll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ book will guide you in fully exploiting standard containers and algorithms, understanding how to pick the appropriate one for each problem. By the end of this book, you will not only be able to write efficient code but also be equipped to improve the readability, performance, and maintainability of your programs.
C++ Fundamentals. Hit the ground running with C++, the language that supports tech giants globally
Antonio Mallia, Francesco Zoffoli
C++ Fundamentals begins by introducing you to the C++ compilation model and syntax. You will then study data types, variable declaration, scope, and control flow statements. With the help of this book, you'll be able to compile fully working C++ code and understand how variables, references, and pointers can be used to manipulate the state of the program. Next, you will explore functions and classes — the features that C++ offers to organize a program — and use them to solve more complex problems. You will also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guidelines.As you advance through the chapters, you'll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ book will guide you in fully exploiting standard containers and algorithms, understanding how to pick the appropriate one for each problem. By the end of this book, you will not only be able to write efficient code but also be equipped to improve the readability, performance, and maintainability of your programs.
Siddharth Shekar
Although numerous languages are currently being used to develop games, C++ remains the standard for fabricating expert libraries and tool chains for game development. This book introduces you to the world of game development with C++.C++ Game Development By Example starts by touching upon the basic concepts of math, programming, and computer graphics and creating a simple side-scrolling action 2D game. You'll build a solid foundation by studying basic game concepts such as creating game loops, rendering 2D game scenes using SFML, 2D sprite creation and animation, and collision detection. The book will help you advance to creating a 3D physics puzzle game using modern OpenGL and the Bullet physics engine. You'll understand the graphics pipeline, which entails creating 3D objects using vertex and index buffers and rendering them to the scene using vertex and fragment shaders. Finally, you'll create a basic project using the Vulkan library that'll help you get to grips with creating swap chains, image views, render passes, and frame buffers for building high-performance graphics in your games.By the end of this book, you’ll be ready with 3 compelling projects created with SFML, the Vulkan API, and OpenGL, and you'll be able take your game and graphics programming skills to the next level.
C++ High Performance. Boost and optimize the performance of your C++17 code
Björn Andrist, Viktor Sehr
C++ is a highly portable language and can be used to write both large-scale applications and performance-critical code. It has evolved over the last few years to become a modern and expressive language. This book will guide you through optimizing the performance of your C++ apps by allowing them to run faster and consume fewer resources on the device they're running on without compromising the readability of your code base.The book begins by helping you measure and identify bottlenecks in a C++ code base. It then moves on by teaching you how to use modern C++ constructs and techniques. You'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and memory management, and how it can be used efficiently with respect to CPU caches. After that, you'll see how STL algorithm and composable Range V3 should be used to both achieve faster execution and more readable code, followed by how to use STL containers and how to write your own specialized iterators.Moving on, you’ll get hands-on experience in making use of modern C++ metaprogramming and reflection to reduce boilerplate code as well as in working with proxy objects to perform optimizations under the hood. After that, you’ll learn concurrent programming and understand lock-free data structures. The book ends with an overview of parallel algorithms using STL execution policies, Boost Compute, and OpenCL to utilize both the CPU and the GPU.
C++ High Performance. Boost and optimize the performance of your C++17 code
Björn Andrist, Viktor Sehr
C++ is a highly portable language and can be used to write both large-scale applications and performance-critical code. It has evolved over the last few years to become a modern and expressive language. This book will guide you through optimizing the performance of your C++ apps by allowing them to run faster and consume fewer resources on the device they're running on without compromising the readability of your code base.The book begins by helping you measure and identify bottlenecks in a C++ code base. It then moves on by teaching you how to use modern C++ constructs and techniques. You'll see how this affects the way you write code. Next, you'll see the importance of data structure optimization and memory management, and how it can be used efficiently with respect to CPU caches. After that, you'll see how STL algorithm and composable Range V3 should be used to both achieve faster execution and more readable code, followed by how to use STL containers and how to write your own specialized iterators.Moving on, you’ll get hands-on experience in making use of modern C++ metaprogramming and reflection to reduce boilerplate code as well as in working with proxy objects to perform optimizations under the hood. After that, you’ll learn concurrent programming and understand lock-free data structures. The book ends with an overview of parallel algorithms using STL execution policies, Boost Compute, and OpenCL to utilize both the CPU and the GPU.
C++ High Performance. Master the art of optimizing the functioning of your C++ code - Second Edition
Björn Andrist, Viktor Sehr, Ben Garney
C++ High Performance, Second Edition guides you through optimizing the performance of your C++ apps. This allows them to run faster and consume fewer resources on the device they're running on without compromising the readability of your codebase.The book begins by introducing the C++ language and some of its modern concepts in brief. Once you are familiar with the fundamentals, you will be ready to measure, identify, and eradicate bottlenecks in your C++ codebase. By following this process, you will gradually improve your style of writing code. The book then explores data structure optimization, memory management, and how it can be used efficiently concerning CPU caches.After laying the foundation, the book trains you to leverage algorithms, ranges, and containers from the standard library to achieve faster execution, write readable code, and use customized iterators. It provides hands-on examples of C++ metaprogramming, coroutines, reflection to reduce boilerplate code, proxy objects to perform optimizations under the hood, concurrent programming, and lock-free data structures. The book concludes with an overview of parallel algorithms.By the end of this book, you will have the ability to use every tool as needed to boost the efficiency of your C++ projects.
C++ i Qt. Wprowadzenie do wzorców projektowych. Wydanie II
Alan Ezust, Paul Ezust
Najlepsze wzorce dla C++ i Qt! Język C++ przez długie lata był liderem wśród języków programowania i wciąż jest rozwijany. Qt to zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika, działającego w różnych systemach operacyjnych — Windows, Mac OS X oraz Linux. Projekt jest intensywnie rozwijany od 1992 roku, a najnowsza wersja daje nawet możliwość tworzenia aplikacji internetowych czy mobilnych. Wykorzystanie możliwości C++ oraz potencjału Qt może dać niezwykłe efekty! W trakcie lektury nauczysz się podstaw języka C++ i zgłębisz tajniki bibliotek Qt. Zdobędziesz interesujące informacje na temat wykorzystania kontenerów, metaobiektów, metawłaściwości i mechanizmu refleksji. Dowiesz się, jak wykorzystać wzorzec MVC (ang. Model-View-Controller) oraz w jaki sposób opanować problemy związane z programowaniem współbieżnym. Ponadto nauczysz się panować nad wskaźnikami i unikać typowych problemów związanych z dostępem do pamięci. Książka ta jest doskonałą pozycją dla wszystkich programistów C++, którzy chcą wzbogacić swój warsztat o bibliotekę Qt. Dzięki tej książce: - poznasz podstawy C++ oraz Qt - opanujesz programowanie współbieżne - zrozumiesz wzorzec MVC - zbudujesz interesującą aplikację przy użyciu C++ i Qt Wykorzystaj moc duetu: C++ i Qt!
C++ i Qt. Wprowadzenie do wzorców projektowych. Wydanie II
Alan Ezust, Paul Ezust
Najlepsze wzorce dla C++ i Qt! Język C++ przez długie lata był liderem wśród języków programowania i wciąż jest rozwijany. Qt to zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika, działającego w różnych systemach operacyjnych — Windows, Mac OS X oraz Linux. Projekt jest intensywnie rozwijany od 1992 roku, a najnowsza wersja daje nawet możliwość tworzenia aplikacji internetowych czy mobilnych. Wykorzystanie możliwości C++ oraz potencjału Qt może dać niezwykłe efekty! W trakcie lektury nauczysz się podstaw języka C++ i zgłębisz tajniki bibliotek Qt. Zdobędziesz interesujące informacje na temat wykorzystania kontenerów, metaobiektów, metawłaściwości i mechanizmu refleksji. Dowiesz się, jak wykorzystać wzorzec MVC (ang. Model-View-Controller) oraz w jaki sposób opanować problemy związane z programowaniem współbieżnym. Ponadto nauczysz się panować nad wskaźnikami i unikać typowych problemów związanych z dostępem do pamięci. Książka ta jest doskonałą pozycją dla wszystkich programistów C++, którzy chcą wzbogacić swój warsztat o bibliotekę Qt. Dzięki tej książce: - poznasz podstawy C++ oraz Qt - opanujesz programowanie współbieżne - zrozumiesz wzorzec MVC - zbudujesz interesującą aplikację przy użyciu C++ i Qt Wykorzystaj moc duetu: C++ i Qt!
C++ in Embedded Systems. A practical transition from C to modern C++
Amar Mahmutbegović, Steve Branam
Transitioning from C can be daunting, with concerns about performance overhead, added complexity, and unfamiliar tooling. Addressing these challenges, Amar Mahmutbegovic, an advocate for modern C++ in embedded development, shows how to harness zero-cost abstractions, compile-time checks, and modern C++ capabilities to preserve performance while achieving safer, cleaner code. This book bridges the gap between traditional C and advanced C++, helping you retain the efficiency C developers expect while unlocking safety and expressiveness of modern C++.Starting with a modern development environment setup, including a Docker container for seamless example replication, you’ll overcome challenges of using the C++ standard library in memory-constrained settings and explore the Embedded Template Library (ETL) as an alternative. The book walks through essential C++ concepts before exploring advanced topics such as templates, strong typing, error handling, compile-time computation, and RAII. Through practical examples, you'll implement a sequencer, write a type-safe HAL, and apply patterns like Command, State, and Observer to solve embedded problems.By the end, you’ll be able to apply modern C++ to develop robust, modular firmware with performance matching or exceeding hand-coded C solutions.*Email sign-up and proof of purchase required
C#. Lekcje programowania. Praktyczna nauka programowania dla platform .NET i .NET Core
Jacek Matulewski
Programistą być Książka, którą trzymasz w ręku, to znakomity podręcznik do nauki programowania od podstaw. Autor, wieloletni wykładowca akademicki i nauczyciel studentów informatyki, proponuje naukę programowania w języku C#. To wybór nieprzypadkowy. C# jest nowoczesnym, obiektowym, stale rozwijanym i popularnym językiem, którym opiekuje się firma Microsoft. Dodatkowo ― dzięki podobieństwu C# do innych często używanych języków z rodziny C, C++ i Java ― wszystko, czego nauczysz się z podręcznika, możesz wykorzystać także do programowania w tych językach. Zakres zagadnień omawianych w książce obejmuje: język programowania C# 6.0, w tym posługiwanie się zmiennymi, metodami, tablicami oraz kolekcjami danych z platform .NET i .NET Core podstawowe techniki programowania obiektowego różne formaty przechowywania i eksportu danych darmowe środowisko programistyczne Microsoft Visual Studio 2019 Community Jeżeli chcesz uczyć się programować od podstaw ― to książka dla Ciebie. Jeżeli znasz już podstawy, ale chcesz poznać C# oraz platformy .NET i .NET Core ― to również dobry wybór. Uwaga! Podręcznik zawiera ćwiczenia, w których krok po kroku opisano tworzenie aplikacji konsolowych w darmowym Visual Studio 2019 i omówiono ich kod, a także bogaty zestaw zadań do samodzielnego wykonania!
C#. Lekcje programowania. Praktyczna nauka programowania dla platform .NET i .NET Core
Jacek Matulewski
Programistą być Książka, którą trzymasz w ręku, to znakomity podręcznik do nauki programowania od podstaw. Autor, wieloletni wykładowca akademicki i nauczyciel studentów informatyki, proponuje naukę programowania w języku C#. To wybór nieprzypadkowy. C# jest nowoczesnym, obiektowym, stale rozwijanym i popularnym językiem, którym opiekuje się firma Microsoft. Dodatkowo ― dzięki podobieństwu C# do innych często używanych języków z rodziny C, C++ i Java ― wszystko, czego nauczysz się z podręcznika, możesz wykorzystać także do programowania w tych językach. Zakres zagadnień omawianych w książce obejmuje: język programowania C# 6.0, w tym posługiwanie się zmiennymi, metodami, tablicami oraz kolekcjami danych z platform .NET i .NET Core podstawowe techniki programowania obiektowego różne formaty przechowywania i eksportu danych darmowe środowisko programistyczne Microsoft Visual Studio 2019 Community Jeżeli chcesz uczyć się programować od podstaw ― to książka dla Ciebie. Jeżeli znasz już podstawy, ale chcesz poznać C# oraz platformy .NET i .NET Core ― to również dobry wybór. Uwaga! Podręcznik zawiera ćwiczenia, w których krok po kroku opisano tworzenie aplikacji konsolowych w darmowym Visual Studio 2019 i omówiono ich kod, a także bogaty zestaw zadań do samodzielnego wykonania!
C#. Lekcje programowania. Praktyczna nauka programowania dla platform .NET i .NET Core
Jacek Matulewski
Programistą być Książka, którą trzymasz w ręku, to znakomity podręcznik do nauki programowania od podstaw. Autor, wieloletni wykładowca akademicki i nauczyciel studentów informatyki, proponuje naukę programowania w języku C#. To wybór nieprzypadkowy. C# jest nowoczesnym, obiektowym, stale rozwijanym i popularnym językiem, którym opiekuje się firma Microsoft. Dodatkowo ― dzięki podobieństwu C# do innych często używanych języków z rodziny C, C++ i Java ― wszystko, czego nauczysz się z podręcznika, możesz wykorzystać także do programowania w tych językach. Zakres zagadnień omawianych w książce obejmuje: język programowania C# 6.0, w tym posługiwanie się zmiennymi, metodami, tablicami oraz kolekcjami danych z platform .NET i .NET Core podstawowe techniki programowania obiektowego różne formaty przechowywania i eksportu danych darmowe środowisko programistyczne Microsoft Visual Studio 2019 Community Jeżeli chcesz uczyć się programować od podstaw ― to książka dla Ciebie. Jeżeli znasz już podstawy, ale chcesz poznać C# oraz platformy .NET i .NET Core ― to również dobry wybór. Uwaga! Podręcznik zawiera ćwiczenia, w których krok po kroku opisano tworzenie aplikacji konsolowych w darmowym Visual Studio 2019 i omówiono ich kod, a także bogaty zestaw zadań do samodzielnego wykonania!
C++ Memory Management. Write leaner and safer C++ code using proven memory-management techniques
Patrice Roy, Michael Wong
C++ programmers often face challenges in allocating and managing memory efficiently, especially given the diverse needs of real-time systems, embedded systems, games, and conventional desktop applications. This book offers a targeted approach to address the unique memory constraints of each domain.Written by an ISO C++ Standards Committee member, Patrice Roy, this guide covers fundamental concepts of object lifetime and memory organization to help you write simpler and safer programs. You’ll learn how to control memory allocation mechanisms, create custom containers and allocators, and adapt allocation operators to suit your specific requirements, making your programs smaller, faster, safer, and more predictable.Starting with core principles of memory management, this book introduces modern facilities that simplify your work and then dives into memory management mechanics, building solutions for specific application needs, and measuring their impact on your program’s behavior.By the end of this book, you’ll be able to write secure programs that handle memory optimally for your application domain. You will also have a strong grasp of both high-level abstractions for safer programs and low-level abstractions that allow detailed customization.
Jon Skeet
Poznaj najskrytsze zakamarki C#! Obecnie szczególnie cenione są te języki programowania, które pozwalają na błyskawiczne osiągnięcie oczekiwanych efektów. Dodatkowo absolutnie niezbędne jest zachowanie możliwości uruchamiania raz napisanej aplikacji na różnych platformach bez konieczności jej przepisywania. Nikt nie ma na to czasu! C# to nowoczesny język, który zdobył uznanie programistów na całym świecie, ponieważ spełnia nawet najbardziej wyśrubowane wymagania! Ten bezcenny podręcznik zaprowadzi Cię w najskrytsze zakątki języka C#. Autorzy założyli, że znasz jego podstawy - to pozwoliło im skupić uwagę na niuansach, ciekawostkach oraz subtelnych szczegółach. W trakcie lektury zrozumiesz, co się dzieje w czeluściach C#, a dzięki temu unikniesz ukrytych pułapek. Książka ta jest obowiązkową pozycją każdego programisty C#. Bez niej najciekawsze funkcje C# wciąż będą Ci obce! Dowiedz się: do czego przydają się typy generyczne jak zaimplementować iteratory jak zoptymalizować skompilowany kod w czym może pomóc język LINQ jak testować kod Fascynująca podróż w głąb C#!
Jon Skeet
C# liczy sobie około dwudziestu lat. Jest niestrudzenie rozwijany i doskonalony przez Microsoft, a dzięki swojej wszechstronności znajduje zastosowanie w wielu dziedzinach: pisaniu gier komputerowych, tworzeniu skalowalnych i niezawodnych aplikacji internetowych oraz aplikacji mobilnych, a nawet niskopoziomowym programowaniu komponentów większych systemów. Twórcy C# postawili na obiektowość, ścisłą kontrolę typów, a przede wszystkim na prostotę w stosowaniu. W tym celu wykorzystano wyniki badań akademickich i połączono je z praktycznymi technikami rozwiązywania problemów. W efekcie C# stał się ulubionym językiem profesjonalistów. To czwarte wydanie podręcznika przeznaczonego dla programistów C#, którzy znają podstawy tego języka, jednak zależy im na dogłębnym zrozumieniu ważnych pojęć i przyswojeniu różnych sposobów myślenia o pozornie znanych zagadnieniach. W książce skrótowo opisano wersje C# od 2 do 5, a wyczerpująco omówiono wersje od 6 do 7.3. Zaprezentowano również niektóre informacje o projektowanych nowych elementach języka C# 8, takich jak typy referencyjne przyjmujące wartość null, wyrażenia switch, usprawnienia dopasowywania wzorców, a także dalsza integracja asynchroniczności z podstawowymi mechanizmami języka. Poszczególne treści zilustrowano licznymi przykładami kodu źródłowego. W tej książce między innymi: wyrażenia lambda, inicjalizatory zapytań, asynchroniczność składowe z ciałem w postaci wyrażenia zaawansowane techniki pracy z ciągami znaków zagadnienia integracji krotek z językiem dekonstruktory i dopasowywanie wzorców nowe techniki stosowania referencji i powiązanych mechanizmów C#. Programowanie na najwyższym poziomie!
Kurt Guntheroth
We współczesnym świecie, pełnym pośpiechu i rywalizacji, wydajność programu jest równie istotna dla klientów, jak oferowane przez niego funkcje. Ten praktyczny podręcznik wyjaśnia podstawowe zasady podnoszenia wydajności, które pomagają w optymalizacji kodu C++. Uczy, jak dostosowywać poprawny kod C++ tak, aby działał on szybciej i zużywał mniej zasobów na każdym komputerze, począwszy od zegarka, poprzez telefon, stację roboczą, superkomputer, aż po globalną sieć serwerów. Autor Kurt Guntheroth prezentuje szereg przykładów demonstrujących, w jaki sposób można, stopniowo wdrażając przedstawione zasady, osiągnąć kod spełniający wymagania klientów dotyczące reaktywności i przepustowości. O przydatności porad zamieszczonych w tej książce będzie się można przekonać, gdy kolega z zespołu zawoła: Zaczęło działać niesamowicie szybko. Kto coś naprawił? Dowiedz się jak: Wyznaczać kandydatów do optymalizacji przy użyciu programu profilującego oraz czasomierzy programowych Przeprowadzać powtarzalne eksperymenty w celu mierzenia wydajności zmodyfikowanych wersji kodu Optymalizować użycie zmiennych dynamicznych Podnieść wydajność kosztownych pętli i funkcji Przyspieszyć działanie funkcji przetwarzających ciągi Rozpoznawać efektywne algorytmy i wzorce optymalizacyjne Identyfikować mocne i słabe strony klas kontenerów w C++ Analizować wyszukiwanie i sortowanie z perspektywy optymalizatora W efektywny sposób używać funkcji przesyłania strumieniowego we/wy w języku C++ W wydajny sposób stosować w kodzie C++ funkcje równoległe bazujące na wątkach Cenne źródło praktycznych porad aktualnych, trafnych i osadzonych w rzeczywistości. Solidne kompendium wiedzy o nowym obliczu języka C++. Jerry Tan Starszy programista, The Depository Trust and Clearing Corporation Kurt Guntheroth, programista z ponad 35-letnim doświadczeniem, od ćwierćwiecza zajmuje się opracowywaniem wydajnego kodu C++. Rozwija programy dla platform Windows, Linux oraz systemów wbudowanych. Kurt mieszka w Seattle w stanie Waszyngton.