<story><title>A decade of developing a programming language</title><url>https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/</url></story><parent_chain><item><author>packetlost</author><text>As someone who has worked with massive typed Python codebases, I 100% agree with the author on Gradual Typing. It&amp;#x27;s literally the &lt;i&gt;worst&lt;/i&gt; of both worlds. It&amp;#x27;s actually even worse than that because it gives the &lt;i&gt;illusion&lt;/i&gt; of some safety when there isn&amp;#x27;t any, especially in Python where most of the tooling &amp;quot;fails open&amp;quot; by default and won&amp;#x27;t tell you something is wrong despite having annotations.</text></item></parent_chain><comment><author>LegibleCrimson</author><text>I disagree, as somebody who has also worked with tons of type-hinted Python code.  Gradual typing is obviously worse than real static typing, but it&amp;#x27;s a step up from full dynamic typing.  It has caught many bugs for me before hitting them in runtime, and provides good documentation about what I can expect a function to accept and return without forcing me to read prose.&lt;p&gt;Type hints don&amp;#x27;t provide any safety, though.  That was never the goal, given that they&amp;#x27;re strictly optional and don&amp;#x27;t really exist at runtime anyway (though I have written some experimental monstrosities that used annotations for code generation at runtime).  They&amp;#x27;re documentation in a standard form that static analysis tools can leverage.&lt;p&gt;I really can&amp;#x27;t imagine a situation where having type hints in Python is worse than simply not having them.  They&amp;#x27;re not the worst of both worlds, they&amp;#x27;re a compromise with some of the benefits and drawbacks of each.</text></comment>
<story><title>A decade of developing a programming language</title><url>https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/</url></story><parent_chain><item><author>packetlost</author><text>As someone who has worked with massive typed Python codebases, I 100% agree with the author on Gradual Typing. It&amp;#x27;s literally the &lt;i&gt;worst&lt;/i&gt; of both worlds. It&amp;#x27;s actually even worse than that because it gives the &lt;i&gt;illusion&lt;/i&gt; of some safety when there isn&amp;#x27;t any, especially in Python where most of the tooling &amp;quot;fails open&amp;quot; by default and won&amp;#x27;t tell you something is wrong despite having annotations.</text></item></parent_chain><comment><author>ric2b</author><text>How is it worse than no typing? If you&amp;#x27;re not testing adequately because you think type safety is enough, you done f&amp;#x27;d up.</text></comment>