69 points ksec 1 hour ago 21 comments

sumnole 52 minutes ago | parent

For those that don't know: Crystal is like a typed Ruby with the performance and concurrency flow of Go.

onlyrealcuzzo 7 minutes ago | parent

> Crystal is like a typed Ruby with the performance and concurrency flow of Go.

I'm not up to date, but the scheduling engine was far behind Go in terms of parallelism. Crystal was always quite good at concurrency.

But Go is popular because it's so good at parallelism (and relatively safe with a garbage collector).

I know Crystal has been working on this for the last few releases, but I'd be surprised if it's matching Go on parallelism.

Go's runtime is quite the engineering feat.

It can often outperform hand-optimized Rust in worst-case parallel workloads (p99), despite Rust having a number of pretty huge advantages...

Primer81 49 minutes ago | parent

what does this language excel at in particular? havent heard of it before and didnt find a clear use case / mission statement on the webpage. unless I'm missing where to find it. just curious to learn more.

0cf8612b2e1e 48 minutes ago | parent

Fast, compiled Ruby. If you like that, there you go.

vidarh 46 minutes ago | parent

It's somewhat similar to Ruby, but it categorically is not Ruby. If you want fast compiled Ruby, TruffleRuby is actually Ruby and relatively compatible with MRI.

npn 10 minutes ago | parent

I surely don't want a fast compiled Ruby for the tasks I would use crystal for though.

Like every one else I also used ruby for almost everything back then, usually some hundred of lines or less for processing stuff. but for tasks that run for several hours using ruby was a frustrating experience. slowness and memory consumption aside, the duck typing system and lazy evaluation of method meaning you can run to typo after hours of running session. sure, you can fix it by write the code more carefully, running smoke tests beforehand and other stuff, but it still a chore, and when you write code all days it makes you sloppier.

having a strong typed compiled language helps it immensely, and with crystal you don't have to sacrifice the easiness of programming. and you can compile it to a portable binary and run it everywhere, no need to reinstall a huge toolchain again. (yeah rust or go can also do that, but not for ruby level expressioness language)

I'm sure crystal is not the ideal language for everything you want to use, and ruby is still helpful for what you use daily. but for some tasks, crystal surely has it own advantages. you can write very capable CLI programs without have to install a single library!

pelcg 44 minutes ago | parent

Is Crystal even relevant at all now?

It isn't interoperable with Ruby and I don't know of any reputable companies using Crystal.

It just looks like Ruby, but it isn't Ruby and it is a compiled language? OK?

I am not sure why I should learn this language?

yxhuvud 42 minutes ago | parent

Because it is a nice language to write elegant and performant code in. If that is not enough motivation I guess it is not a language for you.

snek_case 33 minutes ago | parent

HN is full of cynical comments like the above. We should be celebrating people trying things and doing things differently... I can almost guarantee you that the person who posted this cynical comment is not working on anything particularly relevant or useful.

My message to the HN community: HN is literally bankrolled by YC. If Crystal doesn't deserve to exist because other languages exist, why exactly should I care about your bullshit uber-for-dogs startup, or whatever not particularly original AI crap you think you're changing the world with these days? Get real. If you want people to be open to your ideas, maybe you ought to make an effort to be open to the ideas of others, and cultivate a climate where discussing different ideas is possible. Don't treat every HN post as an opportunity to opine on how you think the work of other people is flawed.

vidarh 20 minutes ago | parent

The challenge for Crystal is that we also have TruffleRuby which gets you the elegance and Ruby interop. To me Crystal feels like it's at the same time too different to Ruby to benefit from the similarity and too similar to create its own viable niche.

abound 39 minutes ago | parent

> I don't know of any reputable companies using Crystal.

Kagi uses Crystal for their search backend [1]. How they feel about that today and whether that was the right call are, of course, separate questions.

[1] Previous thread: https://news.ycombinator.com/item?id=38421149

pelagicAustral 38 minutes ago | parent

Fast Ruby with no moat. Next.

ch4s3 26 minutes ago | parent

I looked closely at Crystal when it first got popular but they removed the REPL which for me made Elixir a better choice.

abc42 11 minutes ago | parent

They have an interactive mode right now (crystal i), but it's not very comprehensive. You cannot use certain libraries with it etc.

Shouldn't be terribly hard to make it good though. Some time ago, I added a JIT REPL in a few afternoons with Claude, ending up with roughly the same performance as their compiler, and with it working reliably with all the libraries I tested. But since they don't want LLM contributions in Crystal, I just left it as an interesting experiment and started working on my own language instead.

burlesona 5 minutes ago | parent

It’s sad that we don’t write code anymore, it takes a lot of the joy of stuff like this away.

opem 2 minutes ago | parent

great that aarch64-linux support is now promoted to Tier 1! finally, I can convince my CTO to port some of our services in crystal for those cheap hetzner machines.