<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: dupdrop</title><link>https://news.ycombinator.com/user?id=dupdrop</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 30 Oct 2026 11:19:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dupdrop" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dupdrop in "Around a dozen banking apps began specifically permitting GrapheneOS"]]></title><description><![CDATA[
<p>Good thing that companies never do anything illegal, and everyone lives in Europe.</p>
]]></description><pubDate>Sat, 24 Oct 2026 15:21:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=50222146</link><dc:creator>dupdrop</dc:creator><comments>https://news.ycombinator.com/item?id=50222146</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50222146</guid></item><item><title><![CDATA[New comment by dupdrop in "Our commitment to Windows quality"]]></title><description><![CDATA[
<p>I'm curious: what would make it so much worse in Fedora compared to Arch?</p>
]]></description><pubDate>Sat, 21 Mar 2026 08:42:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47465229</link><dc:creator>dupdrop</dc:creator><comments>https://news.ycombinator.com/item?id=47465229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47465229</guid></item><item><title><![CDATA[New comment by dupdrop in "Python Type Checker Comparison: Empty Container Inference"]]></title><description><![CDATA[
<p>Only Python, is a language soooo dynamic, that the question "Does this code type-checks?" may get the valid response: "With which of the 5 existing type checkers?"</p>
]]></description><pubDate>Mon, 02 Mar 2026 01:48:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47212896</link><dc:creator>dupdrop</dc:creator><comments>https://news.ycombinator.com/item?id=47212896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47212896</guid></item><item><title><![CDATA[New comment by dupdrop in "Helix: A Modern, High-Performance Language"]]></title><description><![CDATA[
<p>I don't know if your language is expression based like Rust, but in Rust the nice thing is that it's just the regular if syntax being used as an expression and not some additional special case syntax, which is elegant.<p>I actually like the Haskell syntax more because it's looks nicer when formatted in multiple lines:<p><pre><code>  -- Haskell:
  -- single line
  if ... then ... else ...

  -- multiline
  if ...
      then ...
      else ...

</code></pre>
Where in Rust with normal formatting it because 5 whole lines:<p><pre><code>  // Rust:
  let result = if ... {
      ...
  } else {
      ...
  };

  // or, 4 lines but less common:
  let result = match ... {
      true => ...,
      false => ...,
  };
</code></pre>
I think the strongest argument for condition-first that's unrelated to "taste" is the fact it is consistent with the order of execution:<p><pre><code>  # Python:
  # you have to read "from the middle out" to read with the order of execution
  x = a() if b() else c()

</code></pre>
I also strongly suggest you look up why Python ended up with the syntax it did. The reasons were not really good and not really applicable to a new language. Maybe my memory is bad because I can't find the source, but I remember one of the justifications was simply that it turned out faster in cpython (the python interpreter) in the test implementation they did.<p>I might also consider asking Chris Lattner (Mojo language). They did use that syntax in Mojo, because it is made to be a superset of Python. But I remember hearing him say he really disliked it.</p>
]]></description><pubDate>Wed, 02 Jul 2025 16:18:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=44445558</link><dc:creator>dupdrop</dc:creator><comments>https://news.ycombinator.com/item?id=44445558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44445558</guid></item><item><title><![CDATA[New comment by dupdrop in "Helix: A Modern, High-Performance Language"]]></title><description><![CDATA[
<p>I think I only started to <i>really</i> hate it when I had to deal with some Python code where people decided to nest them and made a really hard to read mess where they should have used just a normal if-else chain. A Rust style if-expression would be better IMO, but it was Python code.<p>On a more basic level, I just don't see any good reason to put the condition in the middle.<p>Lisp: `(if <cond> <then> <else>)`
Haskell: `if <cond> then <then> else <else>`
Rust: `if <cond> { <then> } else { <else> }`<p>All the above read fine and normal. In the python version the order of execution is different then the left-to-right reading order.<p>It's not like it's a fatal flaw for a language to do it like Python. But it is just silly IMO. My POV is that I actually really like if-expressions, but hate the condition-in-the-middle syntax, so I tend to avoid it unless it's <i>really</i> short. When code changes slightly and becomes longer I'd rather not have to always double take if this now should change to an if-statment or to an expression etc.</p>
]]></description><pubDate>Tue, 01 Jul 2025 16:16:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44435416</link><dc:creator>dupdrop</dc:creator><comments>https://news.ycombinator.com/item?id=44435416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44435416</guid></item><item><title><![CDATA[New comment by dupdrop in "Helix: A Modern, High-Performance Language"]]></title><description><![CDATA[
<p>Sorry for the petty comment, but if you design your language syntax with `x if cond else y` with the condition in the middle like in the Python if-expression syntax, I cannot trust your judgment and we cannot be friends. (from one of the images of code)<p>I will take an actual look into it later though, seems interesting.</p>
]]></description><pubDate>Mon, 30 Jun 2025 17:41:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44425968</link><dc:creator>dupdrop</dc:creator><comments>https://news.ycombinator.com/item?id=44425968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44425968</guid></item></channel></rss>