<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sam Johnson</title>
    <description>The latest articles on DEV Community by Sam Johnson (@sam0x17).</description>
    <link>https://dev.to/sam0x17</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40882%2F9e695bdb-8b15-4782-8b77-c1a41e9f1dfc.png</url>
      <title>DEV Community: Sam Johnson</title>
      <link>https://dev.to/sam0x17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sam0x17"/>
    <language>en</language>
    <item>
      <title>Dreams from the multiverse where Crystal is as popular as Go and Rust</title>
      <dc:creator>Sam Johnson</dc:creator>
      <pubDate>Wed, 03 Feb 2021 06:29:45 +0000</pubDate>
      <link>https://dev.to/sam0x17/dreams-from-the-multiverse-where-crystal-is-as-popular-as-go-and-rust-5626</link>
      <guid>https://dev.to/sam0x17/dreams-from-the-multiverse-where-crystal-is-as-popular-as-go-and-rust-5626</guid>
      <description>&lt;p&gt;I often look in dismay at the growing popularity of Go and wonder if Crystal could ever catch up.&lt;/p&gt;

&lt;p&gt;Really, programming languages are a lot like people in real life... popularity is seldom deserved, but very roughly correlates with some degree of skill or utility.&lt;/p&gt;

&lt;p&gt;For me, Crystal is like the unpopular, down-to-earth nerdy kid, who once you meet him you wonder why he isn't running the whole school – or at least, the nerdy non-mainstream parts of the school where Go and Rust rule supreme. Obviously JavaScript and probably Python are running the show at the top of the hierarchy, wearing their undeserved varsity jackets and cheer-leading uniforms or whatever the modern zoomer equivalent is of this worn-out 90s trope.&lt;/p&gt;

&lt;p&gt;If Crystal could just become, like, the head of the drama club or something, I'd be super happy.&lt;/p&gt;

&lt;p&gt;I really like Crystal. I think it absolutely &lt;em&gt;nails&lt;/em&gt; that sweet spot between high level syntactic sugar and low level systems programming features and performance. With Crystal I feel like I really can have my cake and eat it too. As advertised I get the slickness of Ruby with the performance of optimized C/C++, or so goes the tagline.&lt;/p&gt;

&lt;p&gt;If that is the case, though, why didn't Crystal take off with the same viral popularity enjoyed by other languages? When Crystal was introduced in 2014, Ruby was all the rage. Why didn't Crystal take over?&lt;/p&gt;

&lt;p&gt;I have some theories:&lt;/p&gt;

&lt;h2&gt;
  
  
  Audience
&lt;/h2&gt;

&lt;p&gt;Crystal is laser-focused on poaching Rubyists, but Ruby is on the decline, and never had the market penetration of languages like JavaScript – as Ruby languishes, so does Crystal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Naming
&lt;/h2&gt;

&lt;p&gt;I think naming has a lot to do with the virality of a language, and there is tons of unrelated competition for the keyword "crystal" with everything from people selling quartz on Etsy to the millions of "crystal reports" stackoverflow posts. Crystal content gets buried.&lt;/p&gt;

&lt;p&gt;This has happened before if we look at what happened to D lang. How do you google D?? That poor, amazing, early language never had a chance :/&lt;/p&gt;

&lt;h2&gt;
  
  
  Association
&lt;/h2&gt;

&lt;p&gt;I think the association with Ruby scares away non-Rubyists. It really is a shame because Crystal is a great languages regardless of your experience with Ruby.&lt;/p&gt;

&lt;h2&gt;
  
  
  Timing
&lt;/h2&gt;

&lt;p&gt;In a lot of ways, Crystal has been both too late and too early. The 1.0 release still isn't out and the ideal time for it to come out was right when Go started showing up in tons of job postings and the world was looking for an easy to use systems language that isn't terrible.&lt;/p&gt;

&lt;p&gt;At the same time it was &lt;em&gt;too early&lt;/em&gt; in that most of the excitement around Crystal happened in 2015, before the "hipster systems programming language wars" really started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stewardship
&lt;/h2&gt;

&lt;p&gt;Languages like Rust and Go have enormous institutional backers (Mozilla, Google, etc) and thousands of companies who contribute money and resources.&lt;/p&gt;

&lt;p&gt;Manas has held the line for Crystal for years, but at the same time they have also been rather vacant and neglectful stewards at times, in particular doing a very poor job of communicating status to the community.&lt;/p&gt;

&lt;p&gt;In any case, it's &lt;em&gt;ridiculous&lt;/em&gt; that Rust gets the kind of community support it gets considering how difficult to use and anti-user it is. Don't get me wrong – it's a great language – but how many people chadding Rust would be happier coding Crystal? Probably a lot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Last Thoughts
&lt;/h2&gt;

&lt;p&gt;Anyway, if you read this far and you haven't tried Crystal, you totally should. It's my favored choice for the winner of the hipster systems languages war, and you'll find that unlike Go, it has real generics, and unlike Rust, it won't cripple every attempt you make to get something done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://crystal-lang.org"&gt;https://crystal-lang.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>crystal</category>
      <category>ruby</category>
      <category>go</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
