|
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.
A comprehensive guide to exploring modern Python through data
structures, design patterns, and effective object-oriented
techniques Key Features Build an intuitive understanding of
object-oriented design, from introductory to mature programs Learn
the ins and outs of Python syntax, libraries, and best practices
Examine a machine-learning case study at the end of each chapter
Book DescriptionObject-oriented programming (OOP) is a popular
design paradigm in which data and behaviors are encapsulated in
such a way that they can be manipulated together. Python
Object-Oriented Programming, Fourth Edition dives deep into the
various aspects of OOP, Python as an OOP language, common and
advanced design patterns, and hands-on data manipulation and
testing of more complex OOP systems. These concepts are
consolidated by open-ended exercises, as well as a real-world case
study at the end of every chapter, newly written for this edition.
All example code is now compatible with Python 3.9+ syntax and has
been updated with type hints for ease of learning. Steven and Dusty
provide a comprehensive, illustrative tour of important OOP
concepts, such as inheritance, composition, and polymorphism, and
explain how they work together with Python's classes and data
structures to facilitate good design. In addition, the book also
features an in-depth look at Python's exception handling and how
functional programming intersects with OOP. Two very powerful
automated testing systems, unittest and pytest, are introduced. The
final chapter provides a detailed discussion of Python's concurrent
programming ecosystem. By the end of the book, you will have a
thorough understanding of how to think about and apply
object-oriented principles using Python syntax and be able to
confidently create robust and reliable programs. What you will
learn Implement objects in Python by creating classes and defining
methods Extend class functionality using inheritance Use exceptions
to handle unusual situations cleanly Understand when to use
object-oriented features, and more importantly, when not to use
them Discover several widely used design patterns and how they are
implemented in Python Uncover the simplicity of unit and
integration testing and understand why they are so important Learn
to statically type check your dynamic code Understand concurrency
with asyncio and how it speeds up programs Who this book is forIf
you are new to object-oriented programming techniques, or if you
have basic Python skills and wish to learn how and when to
correctly apply OOP principles in Python, this is the book for you.
Moreover, if you are an object-oriented programmer coming from
other languages or seeking a leg up in the new world of Python, you
will find this book a useful introduction to Python. Minimal
previous experience with Python is necessary.
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 ready to learn Java the fun way by developing games for the
Android platform with this new and updated third edition Key
Features Learn Java, Android, and object-oriented programming from
scratch Find out how to build games including Sub Hunter, Retro
Pong, Bullet Hell, Classic Snake, and Scrolling Shooters Create and
design your own games by learning all the concepts that a game
developer must know Book DescriptionAndroid is one of the most
popular mobile operating systems today. It uses the most popular
programming language, Java, as one of the primary languages for
building apps of all types. Unlike most other Android books, this
book doesn't assume that you have any prior knowledge of Java
programming, instead helps you get started with building Android
games as a beginner. This new, improved, and updated third edition
of Learning Java by Building Android Games helps you to build
Android games from scratch. Once you've got to grips with the
fundamentals, the difficulty level increases steadily as you
explore key Java topics, such as variables, loops, methods,
object-oriented programming (OOP), and design patterns while
working with up-to-date code and supporting examples. At each
stage, you'll be able to test your understanding by implementing
the concepts that you've learned to develop a game. Toward the end,
you'll build games such as Sub Hunter, Retro Pong, Bullet Hell,
Classic Snake, and Scrolling Shooter. By the end of this Java book,
you'll not only have a solid understanding of Java and Android
basics but will also have developed five cool games for the Android
platform. What you will learn Set up a game development environment
in Android Studio Respond to a player's touch and program
intelligent enemies who can challenge the player in different ways
Explore collision detection, sprite sheets animation, simple
tracking and following, AI, parallax backgrounds, and particle
explosions Animate objects at 60 FPS and manage multiple
independent objects using OOP Work with design patterns such as
OOP, singleton, strategy, and entity-component Work with the
Android API, the SoundPool API, Paint, Canvas, Bitmap classes, and
detect version numbers Who this book is forLearning Java by
Building Android Games is for anyone who is new to Java, Android,
or game programming and wants to develop Android games. The book
will also serve as a refresher for those who already have
experience using Java on Android or any other platform but are new
to game development.
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.
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.
|
|