Types and Programming Languages Part 15 – Prohibit vs Enable in the software engineering

This is the fifteenth part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally Discussions in software engineering are pretty often about taste. Even though all debaters argue based on their knowledge, skills, or experience, … Continue reading Types and Programming Languages Part 15 – Prohibit vs Enable in the software engineering

Types and Programming Languages Part 14 – Pure functions vs impure ones

This is the fourteenth part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally Pure functions — functions returning the same output for the same input, not relying on external state. Some love them. Some … Continue reading Types and Programming Languages Part 14 – Pure functions vs impure ones

Async Wandering Part 14 — Async with Fibers reimplemented in .NET Core

This is the fourteenth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? We already implemented Loom in C# with Fibers. This time, a piece of code which uses P/Invoke (instead … Continue reading Async Wandering Part 14 — Async with Fibers reimplemented in .NET Core

Async Wandering Part 13 — Reentrant recursive async lock

This is the thirteenth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? Today I’ll discuss some misconception regarding the reentrant recursive async lock described in this article. It shows the … Continue reading Async Wandering Part 13 — Reentrant recursive async lock