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
pillaiindu
I have heard many times that languages with a garbage collector aren’t great for system programming. Today I saw a book titled “Hands-On ...
New
CommunityNews
The Magic of Python Context Managers. Recipes for using and creating awesome Python context managers, that will make your code more read...
New
DevotionGeo
How Dgraph was running out of memory for some users, and how Go’s Garbage collector wasn’t enough, and Dgraph team used jemalloc to manag...
New
finner
During a recent code review I came across this scenario: Code in review if (input.getValue() != null) { return Arrays.asList(value);...
New
First poster: bot
Rust 2021 Roadmap by Mark-Simulacrum · Pull Request #3037 · rust-lang/rfcs. The focus of this year is on project health, specifically as...
New
Jsdr3398
I really need developers to help create my messaging platform but I’m not sure how much they want etc. I’ve never hired anyone before :s...
New
pillaiindu
Hi everyone, Does anyone know when will “Agile Web Development in Rails 8” by Pragmatic Bookshelf release. I’m eager to dive into the la...
New
apoorv-2204
I’m experimenting with Hexagonal / Clean Architecture in Elixir. The classic Behaviour + Impl split works great for mocking and isolating...
New

Other popular topics Top

AstonJ
SpaceVim seems to be gaining in features and popularity and I just wondered how it compares with SpaceMacs in 2020 - anyone have any thou...
New
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
Margaret
Ask Me Anything with Mark Volkmann @mvolkmann On February 24 and 25, we are giving you a chance to ask questions of PragProg author M...
New