<div dir="ltr">I was largely paid for developing software during my career.  This explains my impoverished publication record to some extent (50 refereed papers/presentations).  In my last career position, I developed a large library of Java programs for implementing algorithms in the area of statistical causal reasoning (I should have said "SCR").  What I often did was to write an English description of the purpose of the method or class and include that in comments at the beginning.  Then I would include the pseudocode or other description of each step of the algorithm also in comments.  When Joe Ramsey took over this work I believe he said I had made it easy for him to understand my code.  I know he said that my unit tests were excellent.  That was because I used a well-documented and complex example to test the methods.  I would then throw an exception if any important intervening variable was computed to have a value that was incorrect.  FWIW.<div><br></div><div>Frank</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 27, 2021 at 12:16 PM Steve Smith <<a href="mailto:sasmyth@swcp.com">sasmyth@swcp.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>I am no longer an *effective* coder in the same sense Dave
      describes.   But that doesn't mean I can't read and write code in
      a number of languages and idioms.  But it does mean that nobody
      should pay me for that work except insomuch as it is incidental to
      what I'm *really* doing for their filthy lucre.   It is very handy
      that I *can* read/write code across  a wide spectrum of
      languages/idioms, but far from acutely useful...  If I had to make
      a living doing it, I might be able to scrape enough rust off to be
      useful with it in a few restricted contexts, and probably paid out
      at roughly minimum wage, suggesting I would only take that kind of
      work in lieu of pumping gas (nobody outside of NJ/OR/NZ) actually
      pumps gas for a living anymore?!  I could probably do better
      cutting firewood or as a handyman or shade-tree mechanic.  And in
      the latter two cases, my main value would be triage/addressing of
      trivial problems followed by prescribing one kind of specialist or
      another for the actual skilled labor implied in many cases.   <br>
    </p>
    <p>I think that learning coding skills is something valuable to add
      to one's toolbox, not unlike learning how to weld/solder/braze
      (minimally) or do rough carpentry or learn the basics of fasteners
      and sealers (glue, nails, screws, caulk, varnish, paint, oil,
      etc.)   <br>
    </p>
    <p>The open question here is perhaps how well it helps one learn to
      communicate with humans (thus co-).   I think it expands one's
      metaphorical domains to work with, but it is more universally
      useful to describe a linear set of logical instructions into
      something more familiar like a Recipe or some colloquialism like
      "rinse... repeat" or navigational instructions (how to get here
      from there) or assemble furniture (open the box, inspect the
      contents, consider the final configuration, skim the directions
      for unexpected dependencies, execute step 1, iterate through
      numbered steps to final, VIOLA bookcase!)</p>
    <p>I find that *many* capable coders are NOT particularly capable
      communicators.   Among other things, their empathy is often
      stunted, possibly by being too focused on *rigor* vs *clarity* in
      the sense of GEPR/NST's discussion upthread.   <br>
    </p>
    <p>On the other hand, following Glen's conception of
      "self-programming" I think the Mr. Myagi/Karate Kid example is a
      good one.   We learn a set of actions, independent of
      understanding final purpose, ultimately developing a set of
      universal skills which are equally good for waxing a car or
      brushing aside an opponent's strike.   I don't know that Myagi nor
      the KK were coders by the definition here...   but in a fairly
      strong sense, that was what was going on.   Similarly, a lot of
      conventional rote learning is like that....  the way we learn our
      times-tables, or diagram sentences,  study for an anatomy or
      biology exam.</p>
    <p>My $.02 (inflation adjusted)</p>
    <p>- Steve<br>
    </p>
    <div>On 1/27/21 11:45 AM, Prof David West
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      
      
      <div style="font-family:Arial">Nick,<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial">I am no longer a good
        programmer/coder, although once ...  Really good coders like
        Glen, Marcus, Jon ... on the list, will probably disagree with
        me; but:<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial">Coding/programming is not
        communication — if restricted to coder ----> machine
        -----> machine action. The machine is nothing more than the
        embodiment of a mathematical abstraction and coding is analogous
        to rearranging the symbols in a mathematical expression, such
        that, when resolved, the expression yields different results.<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial">No boss says what you quoted, but
        few programmers have not had the experience of "the damn machine
        keeps doing what I told it, instead of what I want."<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial">But — a program has two audiences:
        the machine (no communication here) and other programmers (tons
        of miscommunication here). This is what the reference from Eric
        Smith talks about. There is an entire, usually ignored, paradigm
        in computer science called "literate programming"  — the most
        prominent advocate, Donald Knuth.<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial">If one were skilled at literate
        programming, one would be communicating to another programmer
        (or herself at a later point in time) all the knowledge and
        meaning necessary for the latter to understand, modify, enhance,
        or correct the program as needs be. <b><u>If possible</u></b>
        this would be a communication skill worth developing — might
        lead to more precise and accurate communication outside the
        world of the computer.<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial"><b>"If possible,"</b> is key.
        Many, starting with Peter Naur, would argue that this kind of
        programmer-to=programmer communication is impossible because the
        medium, the code plus any written documentation, is too
        impoverished to communicate what needs to be communicated. In
        Naur's world, programming is joint theory building — a theory of
        "an affair in the world and how the program (addresses) it."
        Code and documentation represent maybe a tenth of that theory,
        the remainder being in the heads of those who developed it.<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial">davew<br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div style="font-family:Arial"><br>
      </div>
      <div>On Wed, Jan 27, 2021, at 10:56 AM, <a href="mailto:thompnickson2@gmail.com" target="_blank">thompnickson2@gmail.com</a>
        wrote:<br>
      </div>
      <blockquote type="cite" id="gmail-m_2728326401642693078qt">
        <div>
          <p>This flies in the face of my belief
            that you coders know something about life that we citizens
            need to know.   I imagine coding to be like trying to write
            an instruction to a person such that that person always does
            what you want them to do.  So, it is an act of communication
            in which the communicatee is always right, no matter how
            idiotic may be it’s response.  No boss ever says to a coder,
            “Your code was brilliant but unfortunately the machine
            didn’t understand you.” <br>
          </p>
          <p> <br>
          </p>
          <p>Am I right about any of that?<br>
          </p>
          <p> <br>
          </p>
          <div>
            <p>Nick Thompson<br>
            </p>
            <p><a href="mailto:ThompNickSon2@gmail.com" target="_blank">ThompNickSon2@gmail.com</a><br>
            </p>
            <p><a href="https://wordpress.clarku.edu/nthompson/" target="_blank">https://wordpress.clarku.edu/nthompson/</a><br>
            </p>
          </div>
          <p> <br>
          </p>
          <div>
            <div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in">
              <p><br>
              </p>
              <div><b>From:</b> Friam <a href="mailto:friam-bounces@redfish.com" target="_blank"><friam-bounces@redfish.com></a>
                <b>On Behalf Of </b>Prof David West<br>
              </div>
              <div><b>Sent:</b> Wednesday, January 27, 2021 11:41 AM<br>
              </div>
              <div><b>To:</b> <a href="mailto:friam@redfish.com" target="_blank">friam@redfish.com</a><br>
              </div>
              <div><b>Subject:</b> [FRIAM] coding versus music<br>
              </div>
              <p><br>
              </p>
            </div>
          </div>
          <p> <br>
          </p>
          <div>
            <p><span><span style="font-family:Arial,sans-serif">For
                  a while now there has been a huge push to teach kids
                  how to code. Ostensibly because it enhances skills
                  like language, logic, and math; plus, "computer
                  literacy" is essential in a world filled with
                  computers.</span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif"> </span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif">A
                  study at MIT suggests that coding skill is orthogonal
                  to reading skill and has little, if any, influence on
                  development of logic/math skills.</span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif"> </span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif">An
                  article in the Journal of Neuroscience argues that if
                  you want to increase the "skills and brainpower" of
                  kids you should teach them music.</span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif"> </span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif">I
                  came across this information peripherally and have not
                  read the specific research reported on. I <b><u>want</u></b>
                  the reports to be accurate representation of the
                  research because it confirms long held biases against
                  the value of "computational thinking" and computer
                  science as a fundamental knowledge domain.</span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif"> </span></span><br>
            </p>
          </div>
          <div>
            <p><span><span style="font-family:Arial,sans-serif">dave
                  west</span></span><br>
            </p>
          </div>
        </div>
        <div>- .... . -..-. . -. -.. -..-. .. ... -..-. .... . .-. .<br>
        </div>
        <div>FRIAM Applied Complexity Group listserv<br>
        </div>
        <div>Zoom Fridays 9:30a-12p Mtn GMT-6  <a href="http://bit.ly/virtualfriam" target="_blank">bit.ly/virtualfriam</a><br>
        </div>
        <div>un/subscribe <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" target="_blank">http://redfish.com/mailman/listinfo/friam_redfish.com</a><br>
        </div>
        <div>FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" target="_blank">http://friam-comic.blogspot.com/</a><br>
        </div>
        <div>archives: <a href="http://friam.471366.n2.nabble.com/" target="_blank">http://friam.471366.n2.nabble.com/</a><br>
        </div>
        <div><br>
        </div>
      </blockquote>
      <div style="font-family:Arial"><br>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>- .... . -..-. . -. -.. -..-. .. ... -..-. .... . .-. .
FRIAM Applied Complexity Group listserv
Zoom Fridays 9:30a-12p Mtn GMT-6  <a href="http://bit.ly/virtualfriamun/subscribe" target="_blank">bit.ly/virtualfriam
un/subscribe</a> <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" target="_blank">http://redfish.com/mailman/listinfo/friam_redfish.com</a>
FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" target="_blank">http://friam-comic.blogspot.com/</a>
archives: <a href="http://friam.471366.n2.nabble.com/" target="_blank">http://friam.471366.n2.nabble.com/</a>
</pre>
    </blockquote>
  </div>

- .... . -..-. . -. -.. -..-. .. ... -..-. .... . .-. .<br>
FRIAM Applied Complexity Group listserv<br>
Zoom Fridays 9:30a-12p Mtn GMT-6  <a href="http://bit.ly/virtualfriam" rel="noreferrer" target="_blank">bit.ly/virtualfriam</a><br>
un/subscribe <a href="http://redfish.com/mailman/listinfo/friam_redfish.com" rel="noreferrer" target="_blank">http://redfish.com/mailman/listinfo/friam_redfish.com</a><br>
FRIAM-COMIC <a href="http://friam-comic.blogspot.com/" rel="noreferrer" target="_blank">http://friam-comic.blogspot.com/</a><br>
archives: <a href="http://friam.471366.n2.nabble.com/" rel="noreferrer" target="_blank">http://friam.471366.n2.nabble.com/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Frank Wimberly<br>140 Calle Ojo Feliz<br>Santa Fe, NM 87505<br>505 670-9918<div><br></div><div>Research:  <a href="https://www.researchgate.net/profile/Frank_Wimberly2" target="_blank">https://www.researchgate.net/profile/Frank_Wimberly2</a></div></div></div>