|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
A recipe-based guide to refining your C++ programming skills with
the help of coding best practices, advanced programming concepts,
and the latest features of C++17 and C++20 Key Features Learn how
to develop and design your own libraries Find solutions to your app
development problems and implement them in a highly reusable
manner, following library development best practices Explore
advanced C++ features such as containers, coroutines, and modules
Book DescriptionIf you think you've mastered C++ and know
everything it takes to write robust applications, you'll be in for
a surprise. With this book, you'll gain comprehensive insights into
C++, covering exclusive tips and interesting techniques to enhance
your app development process. You'll kick off with the basic
principles of library design and development, which will help you
understand how to write reusable and maintainable code. You'll then
discover the importance of exception safety, and how you can avoid
unexpected errors or bugs in your code. The book will take you
through the modern elements of C++, such as move semantics, type
deductions, and coroutines. As you advance, you'll delve into
template programming - the standard tool for most library
developers looking to achieve high code reusability. You'll explore
the STL and learn how to avoid common pitfalls while implementing
templates. Later, you'll learn about the problems of multithreaded
programming such as data races, deadlocks, and thread starvation.
You'll also learn high-performance programming by using
benchmarking tools and libraries. Finally, you'll discover advanced
techniques for debugging and testing to ensure code reliability. By
the end of this book, you'll have become an expert at C++
programming and will have gained the skills to solve complex
development problems with ease. What you will learn Solve common
C++ development problems by implementing solutions in a more
generic and reusable way Achieve different levels of exception
safety guarantees by introducing precise declarations Write
library-quality code that meets professional standards Practice
writing reliable, performant code that exposes consistent behavior
in programs Understand why you need to implement design patterns
and how it's done Work with complex examples to understand various
aspects of good library design Who this book is forThis book is for
intermediate and expert-level C++ developers who are looking to
explore the lesser known functionalities of the language to improve
the efficiency of their code and the way they develop applications.
Basic knowledge of object-oriented programming concepts and the
Standard Template Library (STL) is assumed.
Explore the functional programming paradigm and the different
techniques for developing better algorithms, writing more concise
code, and performing seamless testing Key Features Explore this
second edition updated to cover features like async functions and
transducers, as well as functional reactive programming Enhance
your functional programming (FP) skills to build web and server
apps using JavaScript Use FP to enhance the modularity,
reusability, and performance of apps Book DescriptionFunctional
programming is a paradigm for developing software with better
performance. It helps you write concise and testable code. To help
you take your programming skills to the next level, this
comprehensive book will assist you in harnessing the capabilities
of functional programming with JavaScript and writing highly
maintainable and testable web and server apps using functional
JavaScript. This second edition is updated and improved to cover
features such as transducers, lenses, prisms and various other
concepts to help you write efficient programs. By focusing on
functional programming, you'll not only start to write but also to
test pure functions, and reduce side effects. The book also
specifically allows you to discover techniques for simplifying code
and applying recursion for loopless coding. Gradually, you'll
understand how to achieve immutability, implement design patterns,
and work with data types for your application, before going on to
learn functional reactive programming to handle complex events in
your app. Finally, the book will take you through the design
patterns that are relevant to functional programming. By the end of
this book, you'll have developed your JavaScript skills and have
gained knowledge of the essential functional programming techniques
to program effectively. What you will learn Simplify JavaScript
coding using function composition, pipelining, chaining, and
transducing Use declarative coding as opposed to imperative coding
to write clean JavaScript code Create more reliable code with
closures and immutable data Apply practical solutions to complex
programming problems using recursion Improve your functional code
using data types, type checking, and immutability Understand
advanced functional programming concepts such as lenses and prisms
for data access Who this book is forThis book is for JavaScript
developers who want to enhance their programming skills and build
efficient web applications. Frontend and backend developers who use
various JavaScript frameworks and libraries like React, Angular, or
Node.js will also find the book helpful. Working knowledge of
ES2019 is required to grasp the concepts covered in the book
easily.
Publisher's Note: Microsoft stops supporting .NET Core 3.1 in
December 2022. The newer 7th edition of this book is available that
covers .NET 7 (end-of-life May 2024) or .NET 6 (end-of-life
November 2024), with C# 11 and EF Core 7. Key Features Build
modern, cross-platform applications with .NET Core 3.0 Get up to
speed with C#, and up to date with all the latest features of C#
8.0 Start creating professional web applications with ASP.NET Core
3.0 Book DescriptionIn C# 8.0 and .NET Core 3.0 - Modern
Cross-Platform Development, Fourth Edition, expert teacher Mark J.
Price gives you everything you need to start programming C#
applications. This latest edition uses the popular Visual Studio
Code editor to work across all major operating systems. It is fully
updated and expanded with new chapters on Content Management
Systems (CMS) and machine learning with ML.NET. The book covers all
the topics you need. Part 1 teaches the fundamentals of C#,
including object-oriented programming, and new C# 8.0 features such
as nullable reference types, simplified switch pattern matching,
and default interface methods. Part 2 covers the .NET Standard
APIs, such as managing and querying data, monitoring and improving
performance, working with the filesystem, async streams,
serialization, and encryption. Part 3 provides examples of
cross-platform applications you can build and deploy, such as web
apps using ASP.NET Core or mobile apps using Xamarin.Forms. The
book introduces three technologies for building Windows desktop
applications including Windows Forms, Windows Presentation
Foundation (WPF), and Universal Windows Platform (UWP) apps, as
well as web applications, web services, and mobile apps. What you
will learn Build cross-platform applications for Windows, macOS,
Linux, iOS, and Android Explore application development with C# 8.0
and .NET Core 3.0 Explore ASP.NET Core 3.0 and create professional
web applications Learn object-oriented programming and C#
multitasking Query and manipulate data using LINQ Use Entity
Framework Core and work with relational databases Discover Windows
app development using the Universal Windows Platform and XAML Build
mobile applications for iOS and Android using Xamarin.Forms Who
this book is forReaders with some prior programming experience or
with a science, technology, engineering, or mathematics (STEM)
background, who want to gain a solid foundation with C# 8.0 and
.NET Core 3.0.
Get started with C# and strengthen your knowledge of core
programming concepts such as procedural, object-oriented, generic,
functional, and asynchronous programming along with the latest
features of C# 8 Key Features Learn the fundamentals of C# with the
help of easy-to-follow examples and explanations Leverage the
latest features of C# 8, including nullable reference types,
pattern matching enhancements, and asynchronous streams Explore
object-oriented programming, functional programming, and
multithreading concepts Book DescriptionThe C# programming language
is often developers' primary choice for creating a wide range of
applications for desktop, cloud, and mobile. In nearly two decades
of its existence, C# has evolved from a general-purpose,
object-oriented language to a multi-paradigm language with
impressive features. This book will take you through C# from the
ground up in a step-by-step manner. You'll start with the building
blocks of C#, which include basic data types, variables, strings,
arrays, operators, control statements, and loops. Once comfortable
with the basics, you'll then progress to learning object-oriented
programming concepts such as classes and structures, objects,
interfaces, and abstraction. Generics, functional programming,
dynamic, and asynchronous programming are covered in detail. This
book also takes you through regular expressions, reflection, memory
management, pattern matching, exceptions, and many other advanced
topics. As you advance, you'll explore the .NET Core 3 framework
and learn how to use the dotnet command-line interface (CLI),
consume NuGet packages, develop for Linux, and migrate apps built
with .NET Framework. Finally, you'll understand how to run unit
tests with the Microsoft unit testing frameworks available in
Visual Studio. By the end of this book, you'll be well-versed with
the essentials of the C# language and be ready to start creating
apps with it. What you will learn Get to grips with all the new
features of C# 8 Discover how to use attributes and reflection to
build extendable applications Utilize LINQ to uniformly query
various sources of data Use files and streams and serialize data to
JSON and XML Write asynchronous code with the async-await pattern
Employ .NET Core tools to create, compile, and publish your
applications Create unit tests with Visual Studio and the Microsoft
unit testing frameworks Who this book is forIf you have little
experience in coding or C# and want to learn the essentials of C#
programming to develop powerful programming techniques, this book
is for you. It will also help aspiring programmers to write scripts
or programs to accomplish specific tasks.
A comprehensive guide to get started with Java and gain insights
into major concepts such as object-oriented, functional, and
reactive programming Key Features Strengthen your knowledge of
important programming concepts and the latest features in Java
Explore core programming topics including GUI programming,
concurrency, and error handling Learn the idioms and best practices
for writing high-quality Java code Book DescriptionJava is one of
the preferred languages among developers, used in everything right
from smartphones, and game consoles to even supercomputers, and its
new features simply add to the richness of the language. This book
on Java programming begins by helping you learn how to install the
Java Development Kit. You will then focus on understanding
object-oriented programming (OOP), with exclusive insights into
concepts like abstraction, encapsulation, inheritance, and
polymorphism, which will help you when programming for real-world
apps. Next, you'll cover fundamental programming structures of Java
such as data structures and algorithms that will serve as the
building blocks for your apps. You will also delve into core
programming topics that will assist you with error handling,
debugging, and testing your apps. As you progress, you'll move on
to advanced topics such as Java libraries, database management, and
network programming, which will hone your skills in building
professional-grade apps. Further on, you'll understand how to
create a graphic user interface using JavaFX and learn to build
scalable apps by taking advantage of reactive and functional
programming. By the end of this book, you'll not only be well
versed with Java 10, 11, and 12, but also gain a perspective into
the future of this language and software development in general.
What you will learn Learn and apply object-oriented principles Gain
insights into data structures and understand how they are used in
Java Explore multithreaded, asynchronous, functional, and reactive
programming Add a user-friendly graphic interface to your
application Find out what streams are and how they can help in data
processing Discover the importance of microservices and use them to
make your apps robust and scalable Explore Java design patterns and
best practices to solve everyday problems Learn techniques and
idioms for writing high-quality Java code Who this book is
forStudents, software developers, or anyone looking to learn new
skills or even a language will find this book useful. Although this
book is for beginners, professional programmers can benefit from it
too. Previous knowledge of Java or any programming language is not
required.
Enhance your development skills with Java's state-of-the-art
features and projects to make your applications leaner and faster
Key Features Overcome the challenges involved in migrating to new
versions of Java Discover how Oracle has bridged the gap between
Java and native code Make the best use of new Java features and
libraries in your applications Book DescriptionWith its new
six-monthly release cadence, Java is moving forward faster. In
addition to planned version releases, a lot of work is currently
being undertaken on various Java projects at Oracle. In order to
make best use of the new features in their applications and
libraries, you must be well-versed with the most recent
advancements. Java 11 and 12 - New Features will take you through
the latest developments in Java, right from variable type inference
and simplified multithreading through to performance improvements,
which are covered in depth to help you make your applications more
efficient. This book explains the relevance and applicability of
Java's new features, and answers your questions on whether to
invest in migrating to new Java versions and when to migrate.
You'll also get to grips with platform features, such as AppCDS and
new garbage collectors, to tune and optimize your application-from
reduced launch time and latency to improved performance and
throughput. By the end of this book, you will be equipped with a
thorough understanding of the new features of Java 11, 12, and
Project Amber, and possess the skills to apply them with a view to
improving your application's performance. What you will learn Study
type interference and how to work with the var type Understand
Class-Data Sharing, its benefits, and limitations Discover platform
options to reduce your application's launch time Improve
application performance by switching garbage collectors Get up to
date with the new Java release cadence Define and assess decision
criteria for migrating to a new version of Java Who this book is
forIf you're an executive or solutions architect responsible for
technology selection or Java migration decisions, this Java book is
for you. You'll also benefit from this book if you're a computer
science enthusiast curious to learn about the latest and upcoming
Java features. This book will help you migrate your solutions from
Java 8 or older to the latest Java release.
Design and develop high-performance, reusable, and maintainable
applications using traditional and modern Julia patterns with this
comprehensive guide Key Features Explore useful design patterns
along with object-oriented programming in Julia 1.0 Implement
macros and metaprogramming techniques to make your code faster,
concise, and efficient Develop the skills necessary to implement
design patterns for creating robust and maintainable applications
Book DescriptionDesign patterns are fundamental techniques for
developing reusable and maintainable code. They provide a set of
proven solutions that allow developers to solve problems in
software development quickly. This book will demonstrate how to
leverage design patterns with real-world applications. Starting
with an overview of design patterns and best practices in
application design, you'll learn about some of the most fundamental
Julia features such as modules, data types, functions/interfaces,
and metaprogramming. You'll then get to grips with the modern Julia
design patterns for building large-scale applications with a focus
on performance, reusability, robustness, and maintainability. The
book also covers anti-patterns and how to avoid common mistakes and
pitfalls in development. You'll see how traditional object-oriented
patterns can be implemented differently and more effectively in
Julia. Finally, you'll explore various use cases and examples, such
as how expert Julia developers use design patterns in their open
source packages. By the end of this Julia programming book, you'll
have learned methods to improve software design, extensibility, and
reusability, and be able to use design patterns efficiently to
overcome common challenges in software development. What you will
learn Master the Julia language features that are key to developing
large-scale software applications Discover design patterns to
improve overall application architecture and design Develop
reusable programs that are modular, extendable, performant, and
easy to maintain Weigh up the pros and cons of using different
design patterns for use cases Explore methods for transitioning
from object-oriented programming to using equivalent or more
advanced Julia techniques Who this book is forThis book is for
beginner to intermediate-level Julia programmers who want to
enhance their skills in designing and developing large-scale
applications.
Learn to create high-performance, error-free programs by
understanding the core principles and techniques behind programming
in C++ Key Features Gain a solid understanding of the syntax and
anatomy of C++ Implement best practices when building
high-performance C++ programs Prepare for real-world development
tasks by tackling engaging activities Book DescriptionC++ is the
backbone of many games, GUI-based applications, and operating
systems. Learning C++ effectively is more than a matter of simply
reading through theory, as the real challenge is understanding the
fundamentals in depth and being able to use them in the real world.
If you're looking to learn C++ programming efficiently, this
Workshop is a comprehensive guide that covers all the core features
of C++ and how to apply them. It will help you take the next big
step toward writing efficient, reliable C++ programs. The C++
Workshop begins by explaining the basic structure of a C++
application, showing you how to write and run your first program to
understand data types, operators, variables and the flow of control
structures. You'll also see how to make smarter decisions when it
comes to using storage space by declaring dynamic variables during
program runtime. Moving ahead, you'll use object-oriented
programming (OOP) techniques such as inheritance, polymorphism, and
class hierarchies to make your code structure organized and
efficient. Finally, you'll use the C++ standard library?s built-in
functions and templates to speed up different programming tasks. By
the end of this C++ book, you will have the knowledge and skills to
confidently tackle your own ambitious projects and advance your
career as a C++ developer. What you will learn Understand how a C++
program is written, executed, and compiled Efficiently work with
the essential C++ data types and variables Build your own C++
applications by writing clear and error-free code Grasp the core
principles behind object-oriented programming Simplify your code by
using templates and the standard library Debug logical errors and
handle exceptions in your program Who this book is forThis Workshop
is for anyone who is new to C++ who wants to build a strong
foundation for C++ game programming or application development.
Basic prior knowledge of data structures and OOP concepts, as well
as experience in any other programming language, will help you
grasp the concepts covered in this book more easily.
Explore C# and the .NET Core framework to create applications and
optimize them with ASP.NET Core 2 Key Features Get to grips with
multi-threaded, concurrent, and asynchronous programming in C# and
.NET Core Develop modern, cross-platform applications with .NET
Core 2.0 and C# 7.0 Create efficient web applications with ASP.NET
Core 2. Book DescriptionC# is a widely used programming language,
thanks to its easy learning curve, versatility, and support for
modern paradigms. The language is used to create desktop apps,
background services, web apps, and mobile apps. .NET Core is open
source and compatible with Mac OS and Linux. There is no limit to
what you can achieve with C# and .NET Core. This Learning Path
begins with the basics of C# and object-oriented programming (OOP)
and explores features of C#, such as tuples, pattern matching, and
out variables. You will understand.NET Standard 2.0 class libraries
and ASP.NET Core 2.0, and create professional websites, services,
and applications. You will become familiar with mobile app
development using Xamarin.Forms and learn to develop
high-performing applications by writing optimized code with various
profiling techniques. By the end of C# 7 and .NET: Designing Modern
Cross-platform Applications, you will have all the knowledge
required to build modern, cross-platform apps using C# and .NET.
This Learning Path includes content from the following Packt
products: C# 7.1 and .NET Core 2.0 - Modern Cross-Platform
Development - Third Edition by Mark J. Price C# 7 and .NET Core 2.0
High Performance by Ovais Mehboob Ahmed Khan What you will learn
Explore ASP.NET Core to create professional web applications Master
OOP with C# to increase code reusability and efficiency Protect
your data using encryption and hashing Measure application
performance using BenchmarkDotNet Use design techniques to increase
your application's performance Learn memory management techniques
in .NET Core Understand tools and techniques to monitor application
performance Who this book is forThis Learning Path is designed for
developers who want to gain a solid foundation in C# and .NET Core,
and want to build cross-platform applications. To gain maximum
benefit from this Learning Path, you must have basic knowledge of
C#.
Design and architect real-world scalable C++ applications by
exploring advanced techniques in low-level programming,
object-oriented programming (OOP), the Standard Template Library
(STL), metaprogramming, and concurrency Key Features Design
professional-grade, maintainable apps by learning advanced concepts
such as functional programming, templates, and networking Apply
design patterns and best practices to solve real-world problems
Improve the performance of your projects by designing concurrent
data structures and algorithms Book DescriptionC++ has evolved over
the years and the latest release - C++20 - is now available. Since
C++11, C++ has been constantly enhancing the language feature set.
With the new version, you'll explore an array of features such as
concepts, modules, ranges, and coroutines. This book will be your
guide to learning the intricacies of the language, techniques, C++
tools, and the new features introduced in C++20, while also helping
you apply these when building modern and resilient software. You'll
start by exploring the latest features of C++, and then move on to
advanced techniques such as multithreading, concurrency, debugging,
monitoring, and high-performance programming. The book will delve
into object-oriented programming principles and the C++ Standard
Template Library, and even show you how to create custom templates.
After this, you'll learn about different approaches such as
test-driven development (TDD), behavior-driven development (BDD),
and domain-driven design (DDD), before taking a look at the coding
best practices and design patterns essential for building
professional-grade applications. Toward the end of the book, you
will gain useful insights into the recent C++ advancements in AI
and machine learning. By the end of this C++ programming book,
you'll have gained expertise in real-world application development,
including the process of designing complex software. What you will
learn Understand memory management and low-level programming in C++
to write secure and stable applications Discover the latest C++20
features such as modules, concepts, ranges, and coroutines
Understand debugging and testing techniques and reduce issues in
your programs Design and implement GUI applications using Qt5 Use
multithreading and concurrency to make your programs run faster
Develop high-end games by using the object-oriented capabilities of
C++ Explore AI and machine learning concepts with C++ Who this book
is forThis C++ book is for experienced C++ developers who are
looking to take their knowledge to the next level and perfect their
skills in building professional-grade applications.
|
You may like...
The Flame
Leonard Cohen
Hardcover
(3)
R701
R567
Discovery Miles 5 670
|