<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Tim&apos;s journal</title>
  <link>https://tim.dreamwidth.org/</link>
  <description>Tim&apos;s journal - Dreamwidth Studios</description>
  <lastBuildDate>Sat, 05 Sep 2015 05:55:49 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>tim</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/6843885/234887</url>
    <title>Tim&apos;s journal</title>
    <link>https://tim.dreamwidth.org/</link>
    <width>72</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://tim.dreamwidth.org/1959447.html</guid>
  <pubDate>Sat, 05 Sep 2015 05:55:49 GMT</pubDate>
  <title>Language and trade-offs</title>
  <link>https://tim.dreamwidth.org/1959447.html</link>
  <description>There&apos;s a thing that happens sometimes when language changes, which is that people mistake a conditional claim for an absolute one.&lt;br /&gt;&lt;br /&gt;For example, a person of color might suggest that the terms &quot;primary/replica&quot; could be used instead of the technical term &quot;master/slave&quot;, to avoid trivializing an extended era of structural violence which to this date the United States has never made amends for. A white person might reply indignantly, might condemn &quot;language policing&quot; and say &quot;you can&apos;t tell me what words to use!&quot;&lt;br /&gt;&lt;br /&gt;Now suppose I make the claim that an adjacency list uses less memory to represent a sparse graph than an adjacency matrix does, at the cost of making edge-existence queries less efficient. Is anybody going to tell me that I&apos;m algorithm-policing or that I can&apos;t make them stop using an adjacency matrix? I don&apos;t think so, because they would recognize that I&apos;m stating that there&apos;s a trade-off implicit in your choice of data structure: make edge-existence queries faster, or use less memory. I&apos;m not telling you how you should resolve that trade-off, just that there is one.&lt;br /&gt;&lt;br /&gt;Like engineering, language involves trade-offs. Continuing to use the term &quot;master/slave&quot; in technical contexts where it&apos;s historically been used arguably has the advantage of being a well-understood term, as well as saving the time that would be spent explaining and possibly defending the decision to switch to new vocabulary. The disadvantage of continuing to use &quot;master/slave&quot; is that it alienates many Black Americans, among others.&lt;br /&gt;&lt;br /&gt;It&apos;s up to each individual to decide whether they want to resolve this particular linguistic trade-off on the side of subjective clarity, or of making as many people as possible feel welcome. To point out that a trade-off &lt;i&gt;exists&lt;/i&gt; isn&apos;t to demand that it be resolved in one particular way. It&apos;s just to help people make decisions that reflect their values, just as explaining engineering trade-offs helps people make wise use of the resources available to them.&lt;br /&gt;&lt;br /&gt;Another politically loaded technical term is &quot;divide and conquer&quot;. Recursive algorithms aren&apos;t inherently violent or militaristic -- why not &quot;divide and solve&quot; or &quot;divide and organize&quot;? Again, there&apos;s a trade-off: using the historically accepted term &quot;divide and conquer&quot; has the advantage of clarity, while &quot;divide and solve&quot; has the advantage of not normalizing violence or abuse of power. You might choose to accept &quot;primary/replica&quot; but continue saying &quot;divide and conquer&quot;, and that&apos;s fine. Just realize that there are trade-offs involved in both, and that the choice to continue using an accepted term whose connotations are political is just as political a choice as the choice to adopt a new term. &lt;br /&gt;&lt;br /&gt;If I say that QuickSort has better average-case performance while MergeSort has better worst-case performance, I don&apos;t think anyone would complain that I&apos;m telling them what sorting algorithm to use, or dictating whether they should care more about average-case performance or about worse-case performance. So why do so many people seem to interpret observations as commands when those observations are about language trade-offs?&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1959447&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://tim.dreamwidth.org/1959447.html</comments>
  <category>language</category>
  <category>computer science</category>
  <category>technology</category>
  <category>algorithms</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
</channel>
</rss>
