Simple and Efficient Programming with C#
Apply skills and approaches to your programming to build a real-world application in C# 9 using the latest editions of Visual Studio, C#, and Microsoft .NET.
Each chapter opens with an introduction and original application written in C# 9 for you to jump into coding. From there, you are guided through an expected output and taught best practices along the way. Author Vaskaran Sarcar emphasizes extending and maintaining the same program and he demonstrates examples for different scenarios to make your program more efficient and effective.
This book is divided into four parts. The first part starts with a detailed discussion of polymorphism. It then shows you how to make proper use of abstract classes and interfaces, and you will know which technique to use for a specific scenario. Discussions on code comments teach you how to use them effectively, and why you need to be careful with code comments.
In the second part you will learn six design principles, including SOLID a ...
Cryptography and Cryptanalysis in MATLAB
Master the essentials of cryptography and cryptanalysis and learn how to put them to practical use. Each chapter of this book starts with an introduction to the concepts on which cryptographic algorithms are based and how they are used in practice, providing fully working examples for each of the algorithms presented. Implementation sections will guide you through the entire process of writing your own applications and programs using MATLAB.
Cryptography and Cryptanalysis in MATLAB will serve as your definitive go-to cryptography reference, whether you are a student, professional developer, or researcher, showing how a multitude of cryptographic challenges can be overcome using the powerful tools of MATLAB. ...
Beginning Windows Mixed Reality Programming
Develop applications and experiences for Microsoft's HoloLens 2 and other Windows mixed reality devices. This easy-to-follow guide removes the mystery behind creating amazing augmented reality and virtual reality experiences. Mixed reality development tools and resources are provided.
Beginning Windows Mixed Reality Programming 2nd edition clearly explains all the nuances of mixed reality software development. You will learn how to create 3D objects and holograms, interact with holograms using voice commands and hand gestures, use spatial mapping and 3D spatial sound, build with toolkits such as Microsoft's Mixed Reality Toolkit and Unity's AR Foundation and XR Platform, create intuitive user interfaces, and make truly awe-inspiring mixed reality experiences. This newly revised edition also includes updated content for HoloLens 2 development, including tutorials for new interactions such as hand tracking and eye tracking.
Prototype ideas quickly for the HoloLens 2 and Wind ...
iOS 15 Programming Fundamentals with Swift
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 13 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 5.5. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework.
Explore Swift's object-oriented concepts; Become familiar with built-in Swift types; Dive deep into Swift objects, protocols, and generics; Tour the life cycle of an Xcode project; Learn how nibs are loaded; Understand Cocoa's event-driven design; Communicate with C and Objective-C.
In this edition, catch up on the latest iOS programming features: Structured concurrency: async/await, tasks, and actors; Swift native formatters and attributed strings; Lazy locals and throwing getters; Enhanced collections with the Swift Algorithms and Collections packages; Xcode tweaks: column breakpoints, package collections, and Info.plist build setting ...
Rust in Action
Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You'll be learning Rust by delving into how computers work under the hood. You'll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You'll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you'll go beyond the Rust syntax and see what Rust has to offer in real-world use cases.
Rust is the perfect language for systems programming. It delivers the low-level power of C along with rock-solid safety features that let you code fearlessly. Ideal for applications requiring concurrency, Rust programs are compact, readable, and blazingly fast. Best of all, Rust's famously smart compiler helps you avoid even subtle coding er ...
Get Programming with Scala
Scala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with. Packed with examples and exercises, Get Programming with Scala is the perfect starting point for developers with some OO knowledge who want to learn Scala and pick up a few FP skills along the way.
Scala developers are in high demand. This flexible language blends object-oriented and functional programming styles so you can write flexible, easy-to-maintain code. Because Scala runs on the JVM, your programs can interact seamlessly with Java libraries and tools. If you're comfortable writing Java, this easy-to-read book will get you programming with Scala fast.
Get Programming with Scala is a fast-paced introduction to the Scala language, covering both Scala 2 and Scala 3. You'll learn through lessons, qu ...
Is Parallel Programming Hard, And, If So, What Can You Do About It?
The purpose of this book is to help you program shared-memory parallel systems without risking your sanity. Nevertheless, you should think of the information in this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming-progress that will in time render this book obsolete.
Parallel programming in the 21st century is no longer focused solely on science, research, and grand-challenge projects. And this is all to the good, because it means that parallel programming is becoming an engineering discipline. Therefore, as befits an engineering discipline, this book examines specific parallel-programming tasks and describes how to approach them. In some surprisingly common cases, these tasks can be automated.
This book is written in the hope that presenting the engineering discipline underlying successful parallel-programming ...
C# Programming for Absolute Beginners
Get started using the C# programming language. Based on the author's 15 years of experience teaching beginners, this book provides you with a step-by-step introduction to the principles of programming or rather, how to think like a programmer. The task-solution approach will get you immersed, with minimum theory and maximum action.
What You Will Learn: Understand what programming is all about; Write simple, but non-trivial, programs; Become familiar with basic programming constructs such as statements, types, variables, conditions, and loops; Think like a programmer and combine these programming constructs in new ways; Get to know C# as a modern, mainstream programming language, and Visual Studio as one of the world's most popular programming tools. ...
Expert Python Programming, 4th Edition
This new edition of Expert Python Programming provides you with a thorough understanding of the process of building and maintaining Python apps. Complete with best practices, useful tools, and standards implemented by professional Python developers, this fourth edition has been extensively updated. Become familiar with the latest Python improvements, syntax elements, and interesting tools to boost your development efficiency.
The initial few chapters will allow experienced programmers coming from different languages to transition to the Python ecosystem. You will explore common software design patterns and various programming methodologies, such as event-driven programming concurrency, and metaprogramming. You will also go through complex code examples and try to solve meaningful problems by bridging Python with C and C++, writing extensions that benefit from the strengths of multiple languages. Finally, you will understand the complete lifetime of any applicati ...
Python Object-Oriented Programming, 4th Edition
Object-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 han ...
Git for Programmers
Git is the most popular version control system in the world. It allows developers to keep up with frequent code changes in a project, ensures there are no code conflicts between the developers, and reverts to an older version of code when required.
Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. This book will help you gain expertise on Git with many practical use cases as you progress through the chapters.
The book begins with a quick history of Git and instructions on how to get it and install it, after which you'll dive into the creation and cloning of your repository. As you progress through the book, you'll explore Git places, branching, and GUIs.
Once you understand the fundamentals, you'll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log. You'll also explore important Git commands for managing your repository. Finally, the book concludes with c ...