<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Philosophy on queil.net</title>
    <link>https://queil.net/tags/philosophy/</link>
    <description>Recent content in Philosophy on queil.net</description>
    <generator>Hugo</generator>
    <language>en-uk</language>
    <lastBuildDate>Mon, 30 Mar 2020 08:20:57 +0100</lastBuildDate>
    <atom:link href="https://queil.net/tags/philosophy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Implicit Domain Models</title>
      <link>https://queil.net/ideas/2020/implicit-domain-models/</link>
      <pubDate>Mon, 30 Mar 2020 08:20:57 +0100</pubDate>
      <guid>https://queil.net/ideas/2020/implicit-domain-models/</guid>
      <description>&lt;h1 id=&#34;intro&#34; class=&#34;anchor-link&#34;&gt;&lt;a href=&#34;#intro&#34;&gt;Intro&lt;span class=&#34;pilcrow&#34;&gt;&amp;nbsp;¶&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Whether you realise it or not, any non-trivial piece of code you write models a domain. Whether the model was deliberately designed and implemented or not, it is there. Its quality&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, or lack thereof, shapes the future&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h1 id=&#34;implicit-domain-models&#34; class=&#34;anchor-link&#34;&gt;&lt;a href=&#34;#implicit-domain-models&#34;&gt;Implicit domain models&lt;span class=&#34;pilcrow&#34;&gt;&amp;nbsp;¶&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;One of the results of writing code without a strong thought process are &lt;em&gt;implicit domain models (IDMs)&lt;/em&gt;. They&amp;rsquo;re are domain models that were neither deliberately designed nor expressed.&lt;/p&gt;&#xA;&lt;p&gt;IDMs usually:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thinking</title>
      <link>https://queil.net/ideas/2019/thinking/</link>
      <pubDate>Sun, 16 Jun 2019 10:52:57 +0100</pubDate>
      <guid>https://queil.net/ideas/2019/thinking/</guid>
      <description>&lt;p&gt;Thinking is the vital part of software development process. It raises questions. It is the &lt;em&gt;fail fast&lt;/em&gt; principle taken to the extreme. I&amp;rsquo;d extend the popular &amp;ldquo;&lt;em&gt;code the right thing&lt;/em&gt;&amp;rdquo; to &amp;ldquo;&lt;strong&gt;define what the right thing is, determine if code is the best solution in the first place, and then, if the answer is &lt;em&gt;yes&lt;/em&gt;, build a solid mental model, and finally start coding the right thing&lt;/strong&gt;&amp;rdquo;. Building a mental model may, (and often does), involve coding, and usually it&amp;rsquo;s an iterative process. Especially, when we explore an unknown domain and the model rapidly evolves. However, code is treated here as a &lt;em&gt;thinking tool&lt;/em&gt; rather than the final product. It could be compared to sketching before putting any paint on the canvas. It&amp;rsquo;s easy and cheap to modify a sketch where is much more difficult to alter a ready painting.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
