Earlier quoted context omitted.
What is the compilation speed like? EDIT: also forgot to ask if Crystal has a "killer app" yet? Ruby had Rails, Python had scipy/pandas(several others), Rust had servo etc.
Why is that important given Moores law and fast developer workstations? Everyone seems so preoccupied with compile speed for Crystal.
Crystal 1.0 – What to expect
241–250 of 351 posts
Re: Crystal 1.0 – What to expect
#242Earlier quoted context omitted.
Is static typing really necessary for speed? The fastest JavaScript engines and LuaJIT are closer in speed to Crystal than Crystal is to C. Granted - all these languages are really fast - and unless you're doing something INSANELY performance dependent and you REALLY know what you're doing - I think familiarity trumps all. You're almost certainly going to write faster Crystal code if you're a Crystal expert than you…
No, Julia is not statically typed and will outperform pretty much anything, at least when dealing with numerical code. Next generation climate models are built with Julia. You would not pick a slow language for such a high performance dependent task.
You're confusing dynamic typing and type inference.
Re: Crystal 1.0 – What to expect
#243Earlier quoted context omitted.
Crystal's appeal, for me at least, is the productivity of Ruby with the memory efficiency and execution speed of C++. Static typing is just a way of achieving that, it's not something I'm seeking per se.
Is static typing really necessary for speed? The fastest JavaScript engines and LuaJIT are closer in speed to Crystal than Crystal is to C. Granted - all these languages are really fast - and unless you're doing something INSANELY performance dependent and you REALLY know what you're doing - I think familiarity trumps all. You're almost certainly going to write faster Crystal code if you're a Crystal expert than you…
Absolutely yes. If you don't know the shape of your data at compile time then you're going to destroy your performance discovering and validating it at runtime.
Re: Crystal 1.0 – What to expect
#244Earlier quoted context omitted.
What is the compilation speed like? EDIT: also forgot to ask if Crystal has a "killer app" yet? Ruby had Rails, Python had scipy/pandas(several others), Rust had servo etc.
Why is that important given Moores law and fast developer workstations? Everyone seems so preoccupied with compile speed for Crystal.
Re: Crystal 1.0 – What to expect
#245Congrats on the release! The biggest factor drawing me to experiment a little with Crystal is that it is one of very few languages providing what otherwise has been pretty unique to Go: Lightweight threads+Channels+M:N concurrency (automatically multiplexing the lightweight threads onto a smaller number of OS threads). Also it does it with a very readable and clean syntax. Wrote a little about it, with code compariso…
> automatically multiplexing the lightweight threads onto a smaller number of OS threads For Crystal 1.0, the number of OS threads is always 1, isn’t it? So although this provides concurrency, it’s less powerful than Go where the same mechanism also provides parallelism.
Re: Crystal 1.0 – What to expect
#246Earlier quoted context omitted.
What is the compilation speed like? EDIT: also forgot to ask if Crystal has a "killer app" yet? Ruby had Rails, Python had scipy/pandas(several others), Rust had servo etc.
Why is that important given Moores law and fast developer workstations? Everyone seems so preoccupied with compile speed for Crystal.
Re: Crystal 1.0 – What to expect
#247Congrats on the release! The biggest factor drawing me to experiment a little with Crystal is that it is one of very few languages providing what otherwise has been pretty unique to Go: Lightweight threads+Channels+M:N concurrency (automatically multiplexing the lightweight threads onto a smaller number of OS threads). Also it does it with a very readable and clean syntax. Wrote a little about it, with code compariso…
Haskell's concurrency has those features! The Async library contains high level combinators for concurrency that are particularly nice to use. (page1, page2) https://hackage.haskell.org/package/async-2.2.3/docs/Control...
Re: Crystal 1.0 – What to expect
#248Earlier quoted context omitted.
Is static typing really necessary for speed? The fastest JavaScript engines and LuaJIT are closer in speed to Crystal than Crystal is to C. Granted - all these languages are really fast - and unless you're doing something INSANELY performance dependent and you REALLY know what you're doing - I think familiarity trumps all. You're almost certainly going to write faster Crystal code if you're a Crystal expert than you…
It's not necessary strictly speaking, but it make things MUCH easier. JS in v8 has 3 (4?) layers of compilers already and each time some type changes at runtime you're taking a hit to go back to the interpreted version while functions jit compile again. There's a crazy amount of engineering effort that has to counteract a missing "this has one parameter and it's either a string or a float" annotation. In practice if…
Sometimes discipline must be enforced on the programmer.
Re: Crystal 1.0 – What to expect
#249Earlier quoted context omitted.
What is the compilation speed like? EDIT: also forgot to ask if Crystal has a "killer app" yet? Ruby had Rails, Python had scipy/pandas(several others), Rust had servo etc.
Why is that important given Moores law and fast developer workstations? Everyone seems so preoccupied with compile speed for Crystal.
Re: Crystal 1.0 – What to expect
#250Earlier quoted context omitted.
What is the compilation speed like? EDIT: also forgot to ask if Crystal has a "killer app" yet? Ruby had Rails, Python had scipy/pandas(several others), Rust had servo etc.
Why is that important given Moores law and fast developer workstations? Everyone seems so preoccupied with compile speed for Crystal.