1. 39
  1.  

  2. 7

    It’s hard to believe that Crystal has been around for over a decade. I remember when it was a just a fledgling language! Back then, Crystal and Rust both seemed to be competing for the niche of “Ruby-ish bare-metal language.” It’s interesting to see how their design has diverged over time.

    1. 5

      A couple interesting projects I’ve come across written in Crystal:

      1. 3

        There is also invidious which is a very nice alternative frontend for Youtube !

        1. 1

          Hmm, that’s only two data points, but it seems like a trend to write these alternate frontends in Crystal. I wonder why that would be? Is it because they might have written it in Ruby on Rails back in the day, and Crystal has some similar ergonomics? Or nostalgia / familiarity among a specific demographic, in other words?

      2. 4

        I really like Crystal, mostly. It’s an interesting language with a lot of nice things in it. So many nice things that it’s actually too much IMO. There’s so many language constructs that it’s difficult to wrap your head around and I find myself quickly forgetting entire things even exist.

        1. 4

          I’ve written a few thousands lines of Crystal for fun, and non-profit. It does feel like Ruby most of the time, and gets the job done nicely. I think that if you come from this language, then Crystal won’t feel so large.

          Still, coming from years of Ruby, I’ve enjoyed languages that shifted from its paradigms more.

          1. 2

            I’ve never seriously used Ruby, but when I did toy with it I didn’t like it much so that explains a lot.

        2. 1

          I’ve been writing Crystal in the recent past, right before 1.0. Macros and API docs are lovely most of the time, but the main issue for me was:

          • Compilation was too slow. Including slightly big libraries or frameworks in a project could mean 5-10 extra secs of compilation every time. Was forced to use none or little dependencies to keep the compilation times on sane levels. I know this version introduces an interpreter, but by their numbers (times reduced at 75% in best scenarios), it’s not enough.
          • Integration with VS Code for checking-while-writing was slow and inaccurate, too.