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

AstonJ
Currently a hot topic in the BEAM world, let’s start a thread for it (as suggested by @crowdhailer here) :smiley: What are your current...
New
wolf4earth
Serverless has been quite a prevalent topic in our industry in the past few years, and while there are a lot of sceptics, I think it’s sa...
New
bot
A new item has been posted: This thread was posted automatically, if you feel it could be in a better category and are at Trust Level ...
New
New
New
First poster: bot
The Emerging Architectures for Modern Data Infrastructure. Five years ago, if you were building a system, it was a result of the code yo...
New
finner
During a recent code review I came across this scenario: Code in review if (input.getValue() != null) { return Arrays.asList(value);...
New
Jsdr3398
I love how elixir works and some of its perks, but I’m still pretty uncomfortable, especially when mix/hex gets involved. Did anyone els...
New
New
apoorv-2204
Hi everyone, I’m considering pursuing the Elixir/Erlang certification exam offered by Erlang Solutions and wanted to check in with the c...
New

Other popular topics Top

Margaret
Hello content creators! Happy new year. What tech topics do you think will be the focus of 2021? My vote for one topic is ethics in tech...
New
AstonJ
If you are experiencing Rails console using 100% CPU on your dev machine, then updating your development and test gems might fix the issu...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
PragmaticBookshelf
“A Mystical Experience” Hero’s Journey with Paolo Perrotta @nusco Ever wonder how authoring books compares to writing articles?...
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
wmnnd
Here’s the story how one of the world’s first production deployments of LiveView came to be - and how trying to improve it almost caused ...
New
AstonJ
Was just curious to see if any were around, found this one: I got 51/100: Not sure if it was meant to buy I am sure at times the b...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
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
Fl4m3Ph03n1x
Background Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New