Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Writing Your Own LINQ Operator: Extension Methods and yield return
Why a LINQ operator is just an extension method; writing lazy, streaming operators with yield return, separating argument validation from the iterator, immediate operators, finally when enumeration is abandoned early, an Expression-based operator for IQueryable and name clashes with the BCL.
C# Collection Interfaces: IEnumerable, ICollection, IList and yield return
What IEnumerable, ICollection, IList and the IReadOnly* interfaces promise and what they don't; why an array throws on Add, exposing an internal list safely, choosing parameter types and writing lazy iterators with yield return.
JavaScript Iterators and Generators: Symbol.iterator, yield and Iterator Helpers
We cover the iterable and iterator protocols, writing your own iterable with Symbol.iterator, how generators and yield pause and resume, infinite sequences, ES2025 iterator helpers and ES2026's Iterator.concat.