scala VS crystal

Compare scala vs crystal and see what are their differences.

Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
scala crystal
23 87
13,561 17,007
0.3% 0.7%
9.6 9.8
1 day ago 6 days ago
Scala Crystal
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

scala

Posts with mentions or reviews of scala. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-01.

crystal

Posts with mentions or reviews of crystal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-01.
  • Appropriate, Correct, Robust, Usable, Maintainable, and Efficient (ACRUMEN) with Dave Aronson
    8 projects | dev.to | 1 Dec 2021
    Kirk: So this leads me to a question. As you said, the main perspectives of Ruby with regard to that lack of static type checking is you have your tests catch these errors. And one of the things that I found actually converting Ruby code that I've written to Crystal, which is a statically-typed checked compiled language, is that there are cases where I've had Ruby code that has literally been running in production for more than a decade. When I converted it to Crystal, I discovered that I had some fundamental errors in a few places with regard to certain type checking things that didn't come up in any of the specs that I wrote and maybe came up in runtime errors.
  • Ask HN: Alternatives to Rust Programming Language
    3 projects | news.ycombinator.com | 22 Nov 2021
  • Trying Elixir as a Rubyist
    1 project | reddit.com/r/ruby | 21 Nov 2021
    IMO crystal is a much better high performance option for ruby devs to work with, however it has the pretty major drawback of being unlikely to ever get much adoption. Though I also think it's unlikely elixir will ever graduate out of niche status, it's certainly more widely used than crystal.
  • awesome-low-level-programming-languages
    8 projects | reddit.com/r/ProgrammingLanguages | 20 Nov 2021
  • Where is Ruby Headed in 2021? - Big Nerd Ranch
    1 project | reddit.com/r/programming | 19 Nov 2021
    Have you taken a look at Crystal? It might be interesting to you: https://crystal-lang.org/
  • Where is Ruby Headed in 2021?
    14 projects | news.ycombinator.com | 18 Nov 2021
    > [...] I’ve used a number of languages and dabbled in a few frameworks but nothing I’ve used brings me joy like ruby does.

    Totally agree, 100%. Ruby isn't "perfect", but it's a pleasure to use. As in, I actually want to use it, not just am "ok" or ambivalent about it. I have my nitpicks about Ruby, about Rails and other things just like anyone, but I second your comment that nothing else has been able to match that sweet spot of great productivity that is a direct result of a fantastic developer experience created through a programming language that just "flows" linguistically so much easier than...well, everything else I've personally ever seen (with Python being an arguable tie there).

    My biggest gripes about Ruby and its ecosystem have been the pain in the posterior it is to deploy apps (all those gems, which eventually wind up abandonware and now you've got dependency hell, especially with apps not maintained in 5 years or something) and its relative sluggishness when compared against some other deployable artifacts.

    Personally, I think Crystal (https://crystal-lang.org/) fixes pretty much all of this, as long as you're willing to cede a few things due to the nature of the beast (compiled vs. interpreted).

    And that's not considering the speed improvements Ruby's gained in the last few years (3x3); it's undoubtedly far better now than when I last released an app with Ruby or Rails (circa ~2016, maybe ~2017ish). I'm just so disappointed that everything's "JavaScript this" or "Go(lang) that". Not that I have a problem with Go (I do have many problems with JavaScript, which I strongly dislike, but that's a separate topic), it's just that this industry acts like lemmings in a lot of cases. "New shiny!" attracts the horde, and that critical mass creates a new tyranny of being the "snowflake" technology/stack/developer, which has a lot of risks for both the organization paying for what you build in tech stack $X (rare language, can I replace this hire later, can I find somebody that knows $X, lower risk if we use $Y b/c we can find plentiful/cheap talent in $Y or $Y salaries are lower than $X), and by that token therefore it's a risk to the developer's career to get hard core on anything perceived as "snowflake" or otherwise not "flavor of the $(month || year || interval)".

    Which is just so sad, and I feel like it's a contributing factor in Ruby's decline (in terms of hiring demand for full time positions). It's not at all the technology's fault, and it's not a performance "issue" whatsoever anymore (really wasn't in the first place unless you were nickel and diming literally everything or did stuff just plain stupid).

    Go, Rust and friends all have their own benefits and drawbacks too, and they're fine languages with their own killer features and/or quirks. They can produce pre-compiled code for a variety of platforms from a single machine, resulting in (if desired) a single file binary deployable artifact that can be installed and simply run, no dependencies to install, no OS configuration necessary. Ruby, without lots of hacks potentially questionable hacks and potential future abandonware, doesn't do that at all AFAIK, but Crystal can also produce fat binaries just like Go can (and I assume Rust can too), making it the best of both worlds in my opinion.

    Crystal: compile Ruby-like code to a "fat" binary for single file, zero-config/dependency deployment that runs true multithreaded apps as native code. And most of those tradeoffs you'd have to give up because "compiled" - most of those you can work around pretty easily and I've heard you can even have it embed source code in the binary to be run in interpreted mode at runtime, so you can have your app compiled for the vast majority of use cases, then have it run its own code inside itself interpreted/JIT'd when run, giving you access to many (all?) of the features you'd otherwise think you'd have to sacrifice.

    So yeah, I love Ruby, and I think Crystal is definitely the next evolutionary step for that language and ecosystem. No hate on Ruby there whatsoever, I just see it as a more mature option for a lot of use cases, but definitely not all. I don't know if you can do that metaprogramming magic Ruby is so amazing at any faster in Crystal since you'd have to run the code as interpreted at runtime, not pre-compiled (AFAIK), so it's not an outright replacement. Still, I think it's damn near one, and you can probably "color outside the lines" just a tiny bit as needed when you absolutely MUST have that feature anyway.

    Okay, end stream-of-consciousness. I haven't been able to sleep for 3 days, so rambling is a sort of unavoidable side effect...sorry about that. But yeah, try Crystal if you haven't already, you'll likely be very happily shocked at how amazing it is!

    14 projects | news.ycombinator.com | 18 Nov 2021
  • Crystal programming language reaches 1.0 - SD Times
    1 project | reddit.com/r/programming | 12 Nov 2021
    Note that this article is from late March 2021 and Crystal's latest version is 1.2.2.
  • Crystal 1.2.2 Is Released
    2 projects | news.ycombinator.com | 11 Nov 2021
    I've taken a look and it's interesting. The two downers for me were:

    - needless differences to Ruby: for example, the devs have refused to implement single-line if...then...end simply because they don't like it (https://github.com/crystal-lang/crystal/issues/4117)

    - cryptic error messages, mostly type-related: this might have got better in subsequent releases, I guess.

  • Does Crystal have a debugger?
    2 projects | reddit.com/r/crystal_programming | 8 Nov 2021
    Github PR

What are some alternatives?

When comparing scala and crystal you can also consider the following projects:

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266

Elixir - Elixir is a dynamic, functional language designed for building scalable and maintainable applications

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

go - The Go programming language

kotlin - The Kotlin Programming Language.

Visual Studio Code - Visual Studio Code

mint-lang - :leaves: A refreshing programming language for the front-end web.

nyxt - Nyxt - the hacker's power-browser.

rust - Empowering everyone to build reliable and efficient software.

Metals - Scala language server with rich IDE features 🚀

Angular - The modern web developer’s platform