retroforth/doc/html/chapters/tech-notes/code-it-yourself.html

102 lines
4 KiB
HTML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>.</title>
<style type="text/css">
* { color: #000; background: #fff; max-width: 700px; }
tt, pre { background: #dedede; color: #111; font-family: monospace;
white-space: pre; display: block; width: 100%; }
.indentedcode { margin-left: 2em; margin-right: 2em; }
.codeblock {
background: #dedede; color: #111; font-family: monospace;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
padding: 7px;
display: block;
}
.indentedlist { margin-left: 2em; color: #000; }
span { white-space: pre; }
.text { color: #000; white-space: pre; background: #dedede; }
.colon { color: #000; background: #dedede; }
.note { color: #000; background: #dedede; }
.str { color: #000; text-decoration: underline; background: #dedede; }
.num { color: #000; background: #dedede; font-weight: bold; font-style: italic; }
.fnum { color: #000; font-weight: bold; background: #dedede; }
.ptr { color: #000; font-weight: bold; background: #dedede; }
.fetch { color: #000; font-style: italic; background: #dedede; }
.store { color: #000; font-style: italic; background: #dedede; }
.char { color: #000; background: #dedede; }
.inst { color: #000; background: #dedede; }
.defer { color: #000; background: #dedede; }
.imm { color: #000; font-weight: bold; background: #dedede; }
.prim { color: #000; font-weight: bolder; background: #dedede; }
.tt { white-space: pre; font-family: monospace; background: #dedede; }
.h1, .h2, .h3, .h4 { white-space: normal; }
.h1 { font-size: 125%; }
.h2 { font-size: 120%; }
.h3 { font-size: 115%; }
.h4 { font-size: 110%; }
.hr { display: block; height: 2px; background: #000000; }
</style>
</head><body>
<p><br/><br/>
We use software for our everyday needs because we want to get
something done. We have goals to achieve and things to do.
<br/><br/>
The software we use is coded by brave programmers that have
their own goals. Most of the time there is an overlap between
their goals and ours.
<br/><br/>
Over time these will diverge.
<br/><br/>
This means that the tools we depend on grow features we don't
use or understand. There will be bugs in these code parts which
will prevent us from reaching our goals.
<br/><br/>
So we are at a fork in the road:
<br/><br/>
&bull; We have the choice of trying to understand the code and<br/>
fix it.
&bull; We have the choice of trying another program, whose<br/>
creator's goals are closer to ours.
&bull; We also have the choice of coding the software ourself.<br/>
<br/><br/>
All but the last path mean endless seeking, evaluating and
further deviation from our goals. Therefore we replace programs
we do not understand fully with our own implementation.
<br/><br/>
The followers of the Code It Yourself Manifesto believe in
these things:
<br/><br/>
&bull; We implement it according to our own goals.<br/>
&bull; We make mistakes and learn from them.<br/>
&bull; We learn how our tools we depend on need to work.<br/>
&bull; We gain a deep understanding of our problem domain.<br/>
&bull; We still embrace sharing of ideas and code.<br/>
<br/><br/>
Sharing is only possible if we are excellent developers to
each other. The next developer reading our code will be us
in a not so distant future. Coding It Ourselves means we will
document our code, clearly stating the goal of the software
we write.
<br/><br/>
Together we enjoy the diversity of implementations and ideas.
<br/><br/>
We encourage our colleagues to
<br/><br/>
<strong></strong>Code It Yourself.<strong></strong>
<br/><br/>
<span class="hr"></span>
<br/><br/>
Written by Christian Kellermann on 2016-01-12, licensed under
a CreativeCommonsAttribution-ShareAlike3.0UnportedLicense.
<br/><br/>
Original text taken from
http://pestilenz.org/~ckeen/blog/posts/ciy-manifesto.html
</p>
</body></html>