Nullable and Required Types
Explains the differences and usage of nullable and required types in C#, covering value types, reference types, and the nullable operator.
Explains the differences and usage of nullable and required types in C#, covering value types, reference types, and the nullable operator.
A developer investigates why Project Valhalla's object flattening doesn't work for LocalDate arrays in a custom JDK build, uncovering serialization and nullability issues.
Explores best practices for modeling state in SwiftUI apps, emphasizing value types and avoiding common pitfalls like singletons.
Explains the differences between structs and classes in C#, focusing on value vs. reference types, performance, and language comparisons.
Explains how to create a custom SQL expression in Entity Framework to query data using strongly-typed ID value types, solving translation issues.
A breakdown of the latest draft proposal for value types (Project Valhalla) in Java, explaining the potential new programming model.
Explains how Swift's inout parameters reduce code duplication, with examples from a real open-source project.
Explores how Java's Project Valhalla and JSpecify aim to eliminate NullPointerExceptions by defining nullability for value and reference types.
Explores the pitfalls of mutable value types in C#/.NET, explaining why they are often avoided and the performance reasons for their limited use.
Explains the difference between default(MyStruct) and new MyStruct() in C# 10, highlighting that default bypasses parameterless constructors.
Explains the differences between struct, readonly struct, ref struct, and record struct in C#, focusing on usage, limitations, and memory management.
Explains how Swift implements equality using the Equatable protocol, covering value vs. reference types, automatic synthesis, and conditional conformance.
Explains when and how to implement the Equatable and Identifiable protocols in Swift for effective domain modeling with value types.
Analyzes C# struct equality performance, comparing default structs, IEquatable implementations, and C# 10 record structs.
Explains how Swift manages memory for data types, covering layout, alignment, and safe access using MemoryLayout.
Explores whether C# qualifies as a low-level language by porting a C++ raytracer to C# and analyzing performance, value types, and systems programming.
Explains how to use Swift value types (structs, enums) to encapsulate domain data, logic, and business rules for cleaner, more testable, and concurrency-friendly code.
Explains how boxing works internally in the .NET CLR, covering type creation, IL code, and JIT compilation.
Explains C# 7.0's ref returns and ref locals for passing and returning large structs by reference to improve performance.
Explains the performance differences between value types and reference types in .NET, focusing on memory layout, CPU cache, and garbage collection.