Live data from Hacker News

Crystal 1.0 – What to expect

crystal-lang.org

301–310 of 351 posts

Re: Crystal 1.0 – What to expect

#301

Earlier quoted context omitted.

Kotlin mostly requires JVM, Crystal does not. With Kotlin native, Kotlin js and most importantly Graal native this is plain wrong.

Is kotlin/native a first class option today for server side programming? Last I looked at it, which was fairly recently, that did not seem to be the case.

While Kotlin native is likely more mature than crystal I would say that graal native is much better as it allow you to reuse Java libraries and therefore spring native.

Re: Crystal 1.0 – What to expect

#302
post #218

It feels like Crystal it took all the best things from the languages I love, and put them together into one, beautiful language: - Elegance of Ruby - Statically type checked + global type inference - No Nulls - Go-like concurrency - Easy C ffi - High performance I really hope the Crystal succeeds and the language goes mainstream - this release is a huge step forward towards that. Congrats to the Crystal team for reac…

Just curious, as an avid user of Elixir lang, which has most of these anyway, what should be a compelling reason for someone like me to start using Crystal (more)? Thank you

Crystal does a better job with making portable binaries. For example I have written an app that's a 20MB alpine docker container. A comparable app written in Elixir used an 800MB alpine docker container.

I think Elixir is one of crystal's top competitors, but only for servers. Probably you'd never leave Elixir to write a webserver in Crystal. That's just Erlang's specialty. You would leave golang, Ruby, python, PHP, etc. for crystal though, because of the type system, performance, threads, binary, etc..

I've actually started using crystal to write the kinds of scripts people would normally use python for, despite it not being a scripting language.

Re: Crystal 1.0 – What to expect

#303

Earlier quoted context omitted.

> Once replaced a python script while it was running. Expected time, python: 12 hours. Time to get it running in Crystal: 20 min. Time to finish in Crystal: 12 minutes. Can you please elaborate on this?

Reallity probably is that code was not optimized python which was writen as POC and not touched after initial write. Python is usually fast enough when using numpy,scipy etc.

> Python is usually fast enough when not using python

Agreed.

Re: Crystal 1.0 – What to expect

#304
post #110

Earlier quoted context omitted.

Kotlin mostly requires JVM, Crystal does not. Kotlin is heavily oriented towards Java familiarity and interoperability, Crystal is heavily oriented towards Ruby familiarity, and C interoperability. Also, Crystal was first released in 2014, when Kotlin was like 3 years old, and 100% JVM-bound.

Kotlin mostly requires JVM, Crystal does not. With Kotlin native, Kotlin js and most importantly Graal native this is plain wrong.

That doesn't stop 99% of the mind share and language design from being "Java with lipstick".

Re: Crystal 1.0 – What to expect

#305

Earlier quoted context omitted.

That is like a hack. You are basically dumping a JIT image to file. That means all sorts of caveats apply such as be real careful about how you use reflection. Also there is no ABI so you cannot use anything like a native DLL. Native compilation while possible is clearly second class on the JVM platform. For Crystal it is first class.

Crystal is also not great for dlls or .so files as the event loop and gc probably wouldn't work well in that scenario.

Sounds like a fair compromise when the alternatives includes at least one of the following tradeoffs: harder, less safe, and/or slower.

Re: Crystal 1.0 – What to expect

#306
post #265
post #250

Earlier quoted context omitted.

I think if you've been bitten by compilation times in e.g. Scala or C++, then compile speed is something you end up caring about. When it comes to modern static languages, it seem like there's a tradeoff where providing all the abstractions and ergonomics to make you not miss any functionality from dynamic languages will instead expand compilation times and make you miss the instant feedback of an interpreted languag…

C++ compile speeds can be easily improved when using binary libraries, incremental compilation, incremental linking, and hopefully modules will help as well. Energize C++ and VA C++ v4.0 showed the way of a Smalltalk like experience for C++, the tools just need to catch up with the past. VC++ and C++ Builder are on the good path for it.

Don't forget pimpl.

Re: Crystal 1.0 – What to expect

#307

Earlier quoted context omitted.

All of those points are already met and in a better way by mature languages like e.g Kotlin. Really the only argument would be the "Ruby elegance" (or familiarity?) which I don't know. What make ruby/crystal more "elegant" (I would prefer the term readable ) than the competition?

Well, speaking purely from personal experience, Crystal is much more enjoyable to write and read than Java derivatives. Take that with a grain of salt, though, since I have a deep-seated hatred of Java stemming from experiences in the early 00s.

Interesting, could you characterize some of what make it more enjoyable?

Re: Crystal 1.0 – What to expect

#308
post #163

Earlier quoted context omitted.

This is correct today. This was not the case when Crystal development started.

Translation: Crystal had a value proposition but now it's gone, before the product launch.

Reality: Kotlin's value proposition is android development.

Re: Crystal 1.0 – What to expect

#309

Earlier quoted context omitted.

You just spam java facts, you're hardly an epistemological wonder of conversation. I fact checked a couple of your comments and only one was right. Take a look at yourself and reflect. If there's dozens or hundreds of interactions that go poorly, notice that YOU are the common denominator. What you've written here is clearly delusional and makes me worry for your health.

Answer to the second part of my message instead of ad homineming my health, attack the ideas not the human being, which is something that evidently should not need to be stated.

I don't care about your ideas on Crystal, and clearly others don't either.

Nobody is attacking you, I'm expressing concern for you. Want to talk privately?

Email in my bio.

Re: Crystal 1.0 – What to expect

#310
This is huge!

Hopefully 1.0 would allow more companies to use it. I've been following the evolution of Crystal for more that 3 years now.

I came from Ruby. Got a JSON/nested structures first program in Crystal working without even reading the docs. Was impressed by Crystal being "a cleaner Ruby" (some of the Ruby quirks removed, some nice things added), compile time NULL checks, type inference and of course it's runtime speed.

Next I've rewritten a small web service from Ruby to Crystal and seen a huge speedup with API requests serving in microseconds. The pre-import CSV data process (took ~ 40s in Ruby) was replaced by just reading CSV on the fly during server boot (~ 2s). Not even tried to optimize anything, just straightforward "make it work".

I would encourage anyone who loves Rube to check Crystal.

I would also suggest not to look at Crystal as just faster (fancier) Ruby. Although on the surface it looks very similar it actually quite different.

Post reply on HN