<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Clojure Q&amp;A - Recent questions tagged rich</title>
<link>https://ask.clojure.org/index.php/tag/rich</link>
<description></description>
<item>
<title>What are &quot;Constructs&quot; and &quot;Artifacts&quot; as mentioned in Simple Made Easy?</title>
<link>https://ask.clojure.org/index.php/8462/what-are-constructs-and-artifacts-mentioned-simple-made-easy</link>
<description>&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/matthiasn/talk-transcripts/master/Hickey_Rich/SimpleMadeEasy/00.09.06.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Rich mentions that things like performance are a property of the artifact, not the construct.  But that we focus so much on the experience of the construct with a reference to the amount of typing required.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;So, what's one critical area where we have to distinguish these two&lt;br&gt;
things and look at them from a perspective of them being easy and&lt;br&gt;
being simple? It has to do with constructs and artifacts. Right? We&lt;br&gt;
program with constructs. We have programming languages. We use&lt;br&gt;
particular libraries, and those things, in and of themselves, when we&lt;br&gt;
look at them, like when we look at the code we write, have certain&lt;br&gt;
characteristics in and of themselves.&lt;/p&gt;
&lt;p&gt;But we're in a business of artifacts. Right? We don't ship source&lt;br&gt;
code, and the user doesn't look at our source code and say, &quot;Ah,&lt;br&gt;
that's so pleasant.&quot; Right? No? They run our software, and they run it&lt;br&gt;
for a long period of time. And, over time, we keep glomming more stuff&lt;br&gt;
on our software. All of that stuff, the running of it, the performance&lt;br&gt;
of it, the ability to change it all is an attribute of the artifact,&lt;br&gt;
not the original construct.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;he then goes on to say&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Does the software do what it's supposed to do? Is it of high quality?&lt;br&gt;
Can we rely on it doing what it's supposed to do? Can we fix problems&lt;br&gt;
when they arise? And if we're given a new requirement, can we change&lt;br&gt;
it? These things have nothing to do with the construct, as we typed it&lt;br&gt;
in, or very little to do with it, and have a lot to do with the&lt;br&gt;
attributes of the artifact. We have to start assessing our constructs&lt;br&gt;
based around the artifacts, not around the look and feel of the&lt;br&gt;
experience of typing it in or the cultural aspects of that.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &quot;Can we change it?&quot; gives me pause, I would have thought that was an attribute of the constructs used to build it. &lt;/p&gt;
&lt;p&gt;He goes on to say&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;One of the problems I think we have is this conundrum that some things&lt;br&gt;
that are easy actually are complex. So let's look. There are a bunch&lt;br&gt;
of constructs that have complex artifacts that are very succinctly&lt;br&gt;
described. Right? Some of the things that are really dangerous to use&lt;br&gt;
are like so simple to describe.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which gives me even more confusion about what an artifact is in this context! I originally thought it was a software project, but now it doesn't seem so.&lt;/p&gt;
&lt;p&gt;This quote seems helpful for answering, as indicates that simplicity is about the artifact. Not the construct.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; So the first part of making things simple is just to choose&lt;br&gt;
constructs that have simple artifacts. But we have to write our own&lt;br&gt;
constructs sometimes, so how do we abstract for simplicity?&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<category>Other</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/8462/what-are-constructs-and-artifacts-mentioned-simple-made-easy</guid>
<pubDate>Mon, 26 Aug 2019 06:02:48 +0000</pubDate>
</item>
</channel>
</rss>