Advanced C# Tips: Reuse Objects Where Possible
Reusing objects in C# is a strategy that aligns with the principles of efficient memory management and application performance optimization. This concept is important in environments where memory resources are…
Bedrock of Software – Part 2: C and Unix – A Symbiotic Relationship
The best way to describe the relationship between C and Unix will be mutual evolution. Both were developed at Bell Labs and each played a unique role in the other’s…
Advanced C# Tips: Utilize ArrayPool for Frequent Array Allocations
ArrayPool<T> in C# is a very useful but a less known feature. It has been around since .NET 2.0 but has never been popular. In order to understand ArrayPool, we…
Advanced C# Tips: Consider Leveraging Bitwise Operations for Simple Calculations If Possible
Bitwise operators in C# are special tools that let you work directly with the individual bits of a number’s binary representation. If you are reading this blog post, I assume…
Advanced C# Tips: Use Exceptions Wisely
Exceptions in C# are definitely a great facility but we need to use them wisely. We should leave the least possible probabilities of throwing an exception since exceptions come with…
Advanced C# Tips: Prefer Value Types Over Reference Types
In C#, understanding the difference between value types and reference types is a fundamental topic when writing efficient and performant code. The choice between using a value type (like a…
Bedrock of Software – Part 1: The Origins of C
In the world of software engineering, there is a constant change. Anything we learn has a potential to get redundant just in a matter of years. A lot of languages,…
Advanced C# Tips: Prefer Structs for Immutable Data
Before diving into topic, I want to begin with clarifying the terminology. Immutable data refers to data whose state cannot be modified after it has been created. Once an immutable…
Advanced C# Tips: Use ‘in’ Parameter Modifier for Large Value Types
In C#, the in parameter modifier is relatively a recent addition. It added in C# 7.2. The main point of in keyword is to pass a large value type to…