mafinar

mafinar

Thinking about learning Crystal, let's discuss

So I was thinking of trying out Crystal, I had tried it multiple times but left it midway. Now that there’s a book on it and it’s version 1.0 (not that pre-1.0 ever stopped me from learning a language), I was thinking of giving another dive.

My previous experience with the language was good, I mean, I never used Ruby but they do have similarities and I like that type of syntax. It’s pretty fast too. The only con for me was the editor support, compared to that, Nim has much better editor support (It has a pleasurable syntax in front of a performant system but I think I like Crystal syntax more).

Does anyone have any shareable views about Crystal? Any advice/suggestions/feelings on it? Anyone planning on learning it?

Most Liked

OvermindDL1

OvermindDL1

For using a NIF you do not want to use a language that has a GC, because it will conflict with the Erlang BEAM GC unless you are very very very careful about where data is ‘owned’ and that you prevent the GC from running on any of the BEAM threads, but as long as you can verify all that then it’s fine.

On a crystal side I messed with it for a couple small tools, doesn’t seem bad but not really my style. For something C’ish like that I’d go more for Nim or so (though for most things I’d go Rust nowadays anyway). Plus when I last tried it, it still had a GIL, so no parallelization.

AstonJ

AstonJ

I would be up for this! Since I know Ruby hopefully it wouldn’t be too hard getting familiar with Crystal too.

One thing I always thought might be good is using it for Elixir/Erlang nifs, but I think @OvermindDL1 said this may not be a good fit.

Other than that, would it be good to use for things like graphical work? Do you know what the Crystal core team are targeting it at?

(Speaking of the core team, I think I spoke to one or two of them via Twitter a few years ago and they always came across as very nice and very much in the spirit of Ruby… which is always a huge plus :+1:)

AstonJ

AstonJ

Ah yeah I think I remember it being about GC now (I started a dedicated thread about languages that don’t GC here) :blush:

I’d like to try nim too at some point, maybe after rust :smiley:

Where Next?

Popular Backend topics Top

New
New
bot
So you want to live-reload Rust - fasterthanli.me. Good morning! It is still 2020, and the world is literally on fire , so I guess we c...
New
New
New
First poster: bot
C++: The Good Parts . Jordan DeLong overviews the past, current and near future “good parts” of C++'s functional side through the colore...
New
New
AstonJ
Inspired by this post by @stefan.jarina, I’m curious about the kind of Bash scripts you’ve written and whether you still use Bash given t...
New
rustkas
Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New
pillaiindu
Cross posting from Elixir Forum. Build it with Phoenix is a nice course by Geoffrey Lessel @geo. But if you start with Phoenix 1.7.2 or ...
New

Other popular topics Top

PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New