Facets of Immutability

Immutability, the cornerstone of functional programming, has many facets. Not every (mainstream) language supports all the facets; at least not per what each facet stands for. That’s what I will …

Read more →

A Paradox of Braces

A great deal of thought goes into language design. Eric Lippert’s posts is a living testament, at least for C#. Syntax and idioms are also part of the language design. When designing a language, the …

Read more →

C++/CLI Primer – An Apress Book

Earlier this year, I wrote1 about publishing2 C++/CLI Primer on [LeanPub.com]3. I wondered if there is anybody else besides myself and Microsoft using C++/CLI but readers surprised and humbled me with …

Read more →

Problem Reduction

algorithmsC#min-diffprogrammingword-distance

Problem Reduction is what I call when a given problem can be expressed in terms of or solved using a solution to an alternate problem. Take for instance, the word distance problem: Find the shortest …

Read more →

Importance of Semantics

apiclean codedesignprogrammingsemantics

semantics | /sɪˈmæntɪks/ | noun (functioning as sing) ‐ the branch of linguistics that deals with the study of meaning, changes in meaning, and the principles that govern the relationship between …

Read more →