D is a multi-paradigm programming language that combines a wide range of powerful programming concepts from the lowest to the highest levels. It emphasizes memory safety, program correctness, and pragmatism. This course will teach you advanced D concepts, so it’s recommended to get the basics down.
In this course, you will start by learning lifetimes, structs, function overloading, and inheritance, all crucial concepts for advanced D developers.
In the second half of the course, you will learn about templates, pointers, memory management, and more. If you’re looking to take your D programming to the next level, then this course will find you well.
By the end of this course, you will be well equipped to take your D experience and start creating your own applications.
D is a multi-paradigm programming language that combines a wide range of powerful programming concepts from the lowest to the hi...Show More
WHAT YOU'LL LEARN
Learning about lifetimes of variables and type conversions
Understanding the concepts related to structs, classes and interfaces
Learning the use of templates
Learning about ranges
Understanding parallelism in D
Learning about lifetimes of variables and type conversions
Show more
Content
2.
Lifetimes, null Value and the is Operator
6 Lessons
Walk through managing variable lifetimes, fundamental operations, null values, and the is operator in D.
3.
Type Conversions
6 Lessons
Examine type conversions in D, including automatic to explicit conversions, for safe operations.
4.
Structs
7 Lessons
Grasp the fundamentals of struct creation, copying, literals, and practical applications in D.
5.
Variable Number of Parameters
7 Lessons
Solve problems in creating flexible functions with default and variadic arguments.
6.
Function Overloading and Member Functions
9 Lessons
See how it works: function overloading, member functions, and managing const behaviors in D.
7.
Constructor and Other Special Functions
10 Lessons
Build on constructors, destructors, postblit adjustments, and assignment operators in D programming.
8.
Operator Overloading
15 Lessons
Learn how to use operator overloading for custom behaviors and intuitive programming in D.
9.
Introduction to Classes
7 Lessons
Look at how classes in D offer object-oriented features, reference type behavior, and strict copying/assignment rules.
10.
Inheritance
11 Lessons
Master the steps to create specialized subclasses, override functions, and handle abstract classes in D.
11.
The Object Class
7 Lessons
Find out about essential member functions of the Object class in D.
12.
Interfaces
7 Lessons
Solve problems in D with interface inheritance, static and final functions, and abstraction.
13.
destroy and scoped
4 Lessons
Focus on advanced resource management techniques in D using `destroy()` and `scoped()`.
14.
Modules and Libraries
4 Lessons
Practice using modules, imports, and libraries to build structured and efficient D programs.
15.
Encapsulation and Protection Attributes
5 Lessons
Learn how to use encapsulation and protection attributes for safe and efficient coding.
16.
UFCS, Properties and Contract Programming
8 Lessons
Grasp UFCS, properties, and contract programming principles for cleaner, more consistent code.
17.
Templates
9 Lessons
Examine the creation and application of templates in D for scalable, type-independent code tasks.
18.
Pragmas, alias and with
9 Lessons
Break down complex ideas of pragmas, aliasing, and the "with" statement in D programming.
19.
Pointers
14 Lessons
Take a closer look at pointers, their syntax, operations, and practical applications in D.
20.
Bit Operations
13 Lessons
Tackle data representation, binary and hexadecimal systems, bit operations, and common uses with challenges and solutions.
21.
Conditional Compilation
9 Lessons
Master the steps to conditional compilation, enhancing flexibility, debugging, and platform-specific code in D.
22.
Function Pointers, Delegates, and Lambdas
8 Lessons
Break down function pointers, delegates, and lambdas to enhance your programming techniques.
23.
foreach with Structs and Classes
7 Lessons
Walk through iteration and struct design in D for custom loops and nested elements.
24.
Unions, Labels, goto and Tuples
8 Lessons
Examine unions, labels, goto, and tuples for efficient memory, control flow, and versatile data handling.
25.
More Templates
14 Lessons
Grasp the fundamentals of D's comprehensive template system for flexible, efficient code generation.
26.
More Functions
8 Lessons
Deepen your knowledge of function attributes, safety, and compile-time execution in D.
27.
Mixins
7 Lessons
Follow the process of using mixins in D for flexible code generation and scope management.
28.
Ranges
19 Lessons
Build on ranges to enhance data handling and flexibility in D programming.
29.
static foreach and Parallelism
11 Lessons
Step through static foreach and parallelism for efficient, parallelized code execution in D.
30.
Message Passing Concurrency
12 Lessons
Walk through message passing concurrency in D, focusing on threads, messages, and exception handling.
31.
Data Sharing Concurrency
6 Lessons
Examine data sharing, race conditions, synchronization, atomic operations, and concurrency in D programming.
32.
Fibers
9 Lessons
Enhance your skills in managing state and execution flow using fibers for efficient concurrency.
33.
Memory Management
10 Lessons
Take a closer look at memory management techniques, garbage collection, allocation, and alignment in D programming.
34.
User Defined Attributes (UDA) and Operator Precedence
5 Lessons
Follow the process of using UDAs for flexible programming and understanding operator precedence.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources