Hi, <br><br>In general negation can be confusing, but negations are not only syntactically. You can find negation in the semantic also, e.g.: variable names. <br><br>You can find yourself with a variable name which express a negation, e.g.: <b>abandoned</b> (I must admit this is not the majority of the cases) <br>

<br>In such situations, it&#39;s really convenient to have different combinations that allow you to write the code that reads better. Which read better between these? <br><br>abandoned not ifTrue: []<br>abandoned ifFalse: [] <br>

<br>Maybe what you will discover is that most of the time you use ifTrue... maybe you negate the variable or not... I think is not what you like the most, but what you write most of the time that tent to be readable. <br>

<br>Regards, <br>Erlis <br><br><div class="gmail_quote">On Tue, Oct 18, 2011 at 9:20 AM, Louis LaBrunda <span dir="ltr">&lt;<a href="mailto:Lou@keystone-software.com">Lou@keystone-software.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi Guys,<br>
<div><div></div><div class="h5"><br>
&gt;On 18.10.2011, at 05:11, Chris Muller wrote:<br>
&gt;<br>
&gt;&gt; (From vm-dev list)<br>
&gt;&gt;&gt; But I much prefer foo ~~ bar ifTrue: than foo == bar ifFalse:.<br>
&gt;&gt;<br>
&gt;&gt; Hi Eliot.  May I ask why you prefer the former over the latter?<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m interested because I&#39;m working on an application where the folks<br>
&gt;&gt; involved prefer something similar, to where they write (expr) not<br>
&gt;&gt; ifTrue: [ ] rather than (expr) ifFalse: [ ].<br>
&gt;&gt;<br>
&gt;&gt; I know you wouldn&#39;t do that but your statement definitely piqued my<br>
&gt;&gt; surprise and curiosity.<br>
&gt;<br>
&gt;Maybe this is a clue: very few other programming languages have an &quot;else&quot;-case without a preceding &quot;if true&quot;. So maybe for people versed in multiple languages the ifFalse: feels wrong?<br>
&gt;<br>
&gt;I personally like &quot;expr ifFalse:&quot; better than &quot;expr not ifTrue:&quot;. And I read &quot;~~&quot; as &quot;not identical&quot; which also has a mental &quot;not&quot; in it, so I prefer &quot;== ifFalse&quot; :)<br>


&gt;- Bert -<br>
<br>
</div></div>Allow me to throw out an outside the box (programming box) thought.  If one<br>
is able to mentally read &quot;x ~= y ifTrue:...&quot; or &quot;x == y ifFalse:...&quot; all in<br>
one look, I don&#39;t think it matters much as they know what the sentence says<br>
instantly.  It then becomes a matter of what they are use to.<br>
<br>
For those of us who read those sentences in two parts: &quot;x ~= y&quot; and<br>
&quot;ifTrue:...&quot;, the &quot;not&quot; being included in the comparison is preferred as it<br>
tells us up front what the comparison is about.  Then the second part tells<br>
us what is being done about it.  I hope helps and makes some sense.<br>
<br>
Lou<br>
-----------------------------------------------------------<br>
<font color="#888888">Louis LaBrunda<br>
Keystone Software Corp.<br>
SkypeMe callto://PhotonDemon<br>
mailto:<a href="mailto:Lou@Keystone-Software.com">Lou@Keystone-Software.com</a> <a href="http://www.Keystone-Software.com" target="_blank">http://www.Keystone-Software.com</a><br>
<br>
<br>
</font></blockquote></div><br>