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.
Crystal 1.0 – What to expect
301–310 of 351 posts
Re: Crystal 1.0 – What to expect
#302It 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
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
#303Earlier 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.
Agreed.
Re: Crystal 1.0 – What to expect
#304Earlier 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.
Re: Crystal 1.0 – What to expect
#305Earlier 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.
Re: Crystal 1.0 – What to expect
#306Earlier 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.
Re: Crystal 1.0 – What to expect
#307Earlier 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.
Re: Crystal 1.0 – What to expect
#308Re: Crystal 1.0 – What to expect
#309Earlier 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.
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
#310Hopefully 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.