<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: sdfgioafnui</title><link>https://news.ycombinator.com/user?id=sdfgioafnui</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 09 Sep 2026 00:06:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sdfgioafnui" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sdfgioafnui in "The worst programmer I know"]]></title><description><![CDATA[
<p>Exceptions are for exceptional circumstances. An object being a certain type is not an exceptional circumstance, not even in a dynamic language. You should never be surprised by the type of an object unless your program has serious design flaws.<p>The fact that the language doesn't have your back means you need to be <i>more</i> careful about types, not less. The type of the arguments is a function precondition. It's the callee's responsibility to document preconditions and ideally recover cleanly from a violation, but the caller's responsibility to ensure preconditions are met. Illegal states should be caught early, not allowed to percolate until an exception is thrown.<p>I don't much care if what I just wrote is "Pythonic" or not. I don't think too much careful design up front is responsible for every Python codebase I've ever seen reading like Finnegan's Wake.</p>
]]></description><pubDate>Sat, 02 Sep 2023 16:18:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=37362895</link><dc:creator>sdfgioafnui</dc:creator><comments>https://news.ycombinator.com/item?id=37362895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37362895</guid></item></channel></rss>