<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Null on ilikeorangutans</title><link>https://kuelzer.ca/tags/null/</link><description>Recent content in Null on ilikeorangutans</description><generator>Hugo</generator><language>en</language><copyright>© 2026 Jakob Külzer</copyright><lastBuildDate>Sun, 12 Apr 2026 14:27:24 -0400</lastBuildDate><atom:link href="https://kuelzer.ca/tags/null/index.xml" rel="self" type="application/rss+xml"/><item><title>null, Software Design, and Scala's Option</title><link>https://kuelzer.ca/posts/2018/05/26/null-software-design-and-scalas-option/</link><pubDate>Sat, 26 May 2018 12:13:10 -0400</pubDate><guid>https://kuelzer.ca/posts/2018/05/26/null-software-design-and-scalas-option/</guid><description>&lt;p&gt;For the past year or so I&amp;rsquo;ve been writing a lot of Scala and fallen in love with its &lt;code&gt;Option&lt;/code&gt; type and how it allows me to avoid &lt;code&gt;null&lt;/code&gt;s. I reflected on &lt;code&gt;null&lt;/code&gt;, why they are bad, and how optional types allow you to write more expressive code.&lt;/p&gt;
&lt;h2 id="what-is-null"&gt;What is null?&lt;/h2&gt;
&lt;p&gt;Most programming languages have the concept of &lt;code&gt;null&lt;/code&gt; (or &lt;code&gt;nil&lt;/code&gt;) that represents the absence of a given value or object. At it&amp;rsquo;s surface the absence of a value probably just translates into a pointer of value &lt;code&gt;0x0&lt;/code&gt; or in languages that do not zero variables, a pointer anywhere into the memory. But aside from the implementation details the more interesting question is how &lt;code&gt;null&lt;/code&gt; fits into a language&amp;rsquo;s type system.&lt;/p&gt;</description></item></channel></rss>