<story><title>Where is Ruby Headed in 2021?</title><url>https://bignerdranch.com/blog/where-is-ruby-headed-in-2021/</url></story><parent_chain><item><author>fastball</author><text>When it comes to code, I&amp;#x27;m fairly certain &amp;quot;correctness&amp;quot; is in fact an irrefutable advantage.&lt;p&gt;The argument has always been whether or not the price of that correctness is too high.&lt;p&gt;But at this point if you&amp;#x27;re using a modern IDE &amp;#x2F; code editor (e.g. VSCode), it&amp;#x27;s actually &lt;i&gt;easier&lt;/i&gt; to write statically typed code because the inference &amp;#x2F; auto-completion &amp;#x2F; etc is so much better when you do.&lt;p&gt;At least with TypeScript in VSCode.</text></item><item><author>tambourine_man</author><text>&amp;gt; But that&amp;#x27;s a pretty out-of-date take&lt;p&gt;Gradual&amp;#x2F;optional static typing are not new ideias. It’s just that they are fashionable now.&lt;p&gt;It used to be that not having to deal with types &lt;i&gt;at all&lt;/i&gt; was the cool place to be in. Our computers were getting so much faster every year, why would performance be a concern? Programmers are more productive in dynamic languages and computer time is cheap, etc, etc.&lt;p&gt;The “correctness” pitch, the required for larger projects, compiletime vs runtime errors are all discussable, even though they are often thrown in the conversation as irrefutable advantages of static typing.&lt;p&gt;The performance angle, not so much. Static will almost always be faster then dynamic typing, even with all the crazy tricks we’ve developed over the decades.</text></item><item><author>eropple</author><text>This is a set of statements that strike me as pretty unreflective of the state of things these days. I have slung a &lt;i&gt;lot&lt;/i&gt; of Ruby in my life and I literally-not-figuratively stopped the second I laid my hands on TypeScript because we&amp;#x27;ve hit the point where gradual static typing is both easily available and &lt;i&gt;super easy to work with&lt;/i&gt;. (And there&amp;#x27;s also Rust, which can scratch a whole different set of itches that I don&amp;#x27;t happen to personally have.)&lt;p&gt;If your idea of static typing is Java or Go or &amp;quot;something&amp;quot;, if your idea of it is that it&amp;#x27;s for &amp;quot;giant orgs&amp;quot; and not improving your own correctness and throughput of code (I write better code, &lt;i&gt;faster&lt;/i&gt;, in TypeScript than I ever did in Ruby!), yeah, it might not make sense. But that&amp;#x27;s a pretty out-of-date take, I think, and the wins the suitably plastic individual can get, even on a solo or small-team project, are significant.</text></item><item><author>Mikeb85</author><text>Honestly I don&amp;#x27;t get why some people want to move to static types.  Ruby is a dynamic language, that&amp;#x27;s the point of it...  Giant orgs can just use Java or something.  We need some languages to stay productive for those of us who work solo or in small groups.  If I wanted static types I&amp;#x27;d use Java, Go or something (probably Haskell).</text></item></parent_chain><comment><author>dragonwriter</author><text>&amp;gt; The argument has always been whether or not the price of that correctness is too high.&lt;p&gt;No. I mean, that&amp;#x27;s been part of the argument, but so has whether static typing actually gave you useful correctness. Many static languages have had type systems that are more designed around convenience of compilation (and performance of compiled code) than correctness; the type systems of the optional typecheckers of modern dynamic languages are leaps and bounds better than static type systems of most popular static languages a couple decades ago, and have been for some time.&lt;p&gt;&amp;gt; But at this point if you&amp;#x27;re using a modern IDE &amp;#x2F; code editor (e.g. VSCode), it&amp;#x27;s actually easier to write statically typed code because the inference &amp;#x2F; auto-completion &amp;#x2F; etc is so much better when you do.&lt;p&gt;If you have good inference, statically typed and dynamically typed code is virtually indistinguishable TypeProf-IDE for Ruby, discussed in TFA, generates type signatures by inference from plain Ruby code.</text></comment>
<story><title>Where is Ruby Headed in 2021?</title><url>https://bignerdranch.com/blog/where-is-ruby-headed-in-2021/</url></story><parent_chain><item><author>fastball</author><text>When it comes to code, I&amp;#x27;m fairly certain &amp;quot;correctness&amp;quot; is in fact an irrefutable advantage.&lt;p&gt;The argument has always been whether or not the price of that correctness is too high.&lt;p&gt;But at this point if you&amp;#x27;re using a modern IDE &amp;#x2F; code editor (e.g. VSCode), it&amp;#x27;s actually &lt;i&gt;easier&lt;/i&gt; to write statically typed code because the inference &amp;#x2F; auto-completion &amp;#x2F; etc is so much better when you do.&lt;p&gt;At least with TypeScript in VSCode.</text></item><item><author>tambourine_man</author><text>&amp;gt; But that&amp;#x27;s a pretty out-of-date take&lt;p&gt;Gradual&amp;#x2F;optional static typing are not new ideias. It’s just that they are fashionable now.&lt;p&gt;It used to be that not having to deal with types &lt;i&gt;at all&lt;/i&gt; was the cool place to be in. Our computers were getting so much faster every year, why would performance be a concern? Programmers are more productive in dynamic languages and computer time is cheap, etc, etc.&lt;p&gt;The “correctness” pitch, the required for larger projects, compiletime vs runtime errors are all discussable, even though they are often thrown in the conversation as irrefutable advantages of static typing.&lt;p&gt;The performance angle, not so much. Static will almost always be faster then dynamic typing, even with all the crazy tricks we’ve developed over the decades.</text></item><item><author>eropple</author><text>This is a set of statements that strike me as pretty unreflective of the state of things these days. I have slung a &lt;i&gt;lot&lt;/i&gt; of Ruby in my life and I literally-not-figuratively stopped the second I laid my hands on TypeScript because we&amp;#x27;ve hit the point where gradual static typing is both easily available and &lt;i&gt;super easy to work with&lt;/i&gt;. (And there&amp;#x27;s also Rust, which can scratch a whole different set of itches that I don&amp;#x27;t happen to personally have.)&lt;p&gt;If your idea of static typing is Java or Go or &amp;quot;something&amp;quot;, if your idea of it is that it&amp;#x27;s for &amp;quot;giant orgs&amp;quot; and not improving your own correctness and throughput of code (I write better code, &lt;i&gt;faster&lt;/i&gt;, in TypeScript than I ever did in Ruby!), yeah, it might not make sense. But that&amp;#x27;s a pretty out-of-date take, I think, and the wins the suitably plastic individual can get, even on a solo or small-team project, are significant.</text></item><item><author>Mikeb85</author><text>Honestly I don&amp;#x27;t get why some people want to move to static types.  Ruby is a dynamic language, that&amp;#x27;s the point of it...  Giant orgs can just use Java or something.  We need some languages to stay productive for those of us who work solo or in small groups.  If I wanted static types I&amp;#x27;d use Java, Go or something (probably Haskell).</text></item></parent_chain><comment><author>Mikeb85</author><text>&amp;gt; it&amp;#x27;s actually easier to write statically typed code because the inference &amp;#x2F; auto-completion &amp;#x2F; etc is so much better when you do.&lt;p&gt;Ruby has a pretty nice language server, nice linter, REPL (Pry), many other tools.&lt;p&gt;The best development experience IMO is still stuff like SLIME or Smalltalk environments.&lt;p&gt;&amp;quot;Intellisence&amp;quot; just makes using statically typed languages bearable.  It&amp;#x27;s not a unique feature.</text></comment>