- Published 4/27/2023
- 1st Edition
- Online video 978-0-13-810571-6
5+ Hours of Video Instruction
Expert Microsoft developer and trainer, Markus Reynolds, demonstrates in this unique course just how to escape the virtual machine and embrace bare metal low-level programming for creating efficient, and blazing fast programs.
Overview:
Learn how to speed up CLI apps, manage native services, handle API request on the web, and replace python/go scripts in your DevOps pipeline. Write Performative Programs with C# demonstrates just how to write performative low-level code in C#.
Markus Reynolds shows you how to implement low-level programming concepts using C# and .NET, so you can create programs that run more efficiently and with less memory usage than traditional C# programs.
Skill Level:
What You Will Learn:
- Resolve performance and memory bottlenecks, write efficient and light programs
- Think more low level when solving high level programming problems with AOT and Rust
- Leverage .NET 7 to create native CLI programs
- Generate native libraries with Rust
- Invoke native libraries with C#
- Manually manipulate memory with unsafe C# code and the Span and Memory classes
- Generate ahead-of-time programs for increased speed and performance
- Understand how .NET handles memory
Who Should Take This Course:
- Software Developers
- DevOps Engineers
- Quality Assurance Testers
Course Requirements:
Intermediate C#, basic computer memory knowledge, basic knowledge of a lower-level language like C or Rust
About the Publisher:
Microsoft Press creates IT books and references for all skill levels across the range of Microsoft technologies. https://www.microsoftpressstore.com/
About Pearson Video Training:
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Sams, and Que. Topics include IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training athttp://www.informit.com/video.
Table of Contents
Introduction
Lesson 1: Review .NET Memory Management
1.1 Learn reference types and value types
1.2 Understand Passing by Reference and by Value
1.3 Understand the Stack versus the Heap
1.4 Understand structs
1.5 Understand function pointers
Lesson 2: Efficient Collections
2.1 Understand how collections are Allocated
2.2 Learn how to calculate the algorithmic time and space complexity of an operation
2.3 Program a program with complexity in mind
2.4 Learn how to easily Parallelize Operations on a Collection
2.5 Learn the differences between Classes, Records, and Immutable Dictionaries and when to use each
2.6 Understand Linq Performance
Lesson 3: Learn New Memory Classes
3.1 Learn the Span Class
3.2 Learn the Memory Class
3.3 Program a simple example program using Span, Memory, Structs, and Function Pointers
Lesson 4: Learn Pointers and Unsafe Code
4.1 Learn Pointers
4.2 Learn Marshalling
4.3 Learn Stackalloc
4.4 Learn GlobalHAlloc
4.5 Use Unsafe Code
4.6 Program a memory-efficient Web Scraper
Lesson 5: Learn Platform Invoke
5.1 Learn how to platform invoke
5.2 Understand DLL Import versus Library Import
5.3 Pass data between .NET and a native DLL
5.4 Program a native Win32 GUI application
Lesson 6: Understand FFI and Native Libraries
6.1 Learn about Rust
6.2 Build a Rust DLL
6.3 Learn how to pass data between Rust and C#
6.4 Program a native algorithm
Summary