Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hope someday Crystal will supplant Java.


That is unlikely to happen. Crystal has no corporate backing, it has no distinguishing features (in comparison to other, more popular languages), and most of all, it has no Rails.


Crystal has Lucky and Amber — both are reasonable for small fun projects. They're still missing what makes Rails Rails, though. Rails is much more than MVC. It's the Ruby ecosystem and the tooling that really allow Rails to become what it is, and that is hyper-productive. You don't spend time reinventing the wheel, you spend time working on domain-specific problems.

Sure, chicken vs egg, but while everyone is hopping from language to language, framework to framework, packaging system to packaging system because they saw it on Reddit or HN, I'll be over here shipping Ruby and contributing to the Crystal ecosystem in my spare time.


Do you mean rails as in the framework people with choose crystal for? (It doesn't) Or a rails-like web framework in general? (it has https://amberframework.org/ )


It would be nice if we could use the C FFI to allow seamless interaction between MRI ruby and Crystal.

Allowing us to profile and easily port parts of an existing rails or ruby app would be really useful.


Does Java have a Rails?



Why Play instead of spring?


Is that closer to a "Rails for Java" than Play is?


Crystal is comparable to Java in performance. I am impressed with it. See https://github.com/nukata/little-scheme#performance and https://github.com/nukata/little-scheme#performance-on-the-t...


I have just updated my Scheme interpreter in Crystal (https://github.com/nukata/little-scheme-in-crystal), which I used on the above benchmark test, along to Crystal 0.34.

The release notes of Crystal 0.34 say "Having as much as possible portable code is part of the goal of the std-lib. One of the areas that were in need of polishing was how Errno and WinError were handled. The Errno and WinError exceptions are now gone, and were replaced by a new hierarchy of exceptions." So I have modified

    rescue ex: Errno
      raise ErrorException.new(ex.message, NONE) if ex.errno == Errno::EPIPE
to

    rescue ex: IO::Error
      raise ErrorException.new(ex.message, NONE) if ex.os_error == Errno::EPIPE
though it is still dependent on POSIX. >_<


Where is there use-case overlap with the JVM ecosystem and crystal?


I suppose the obvious answer is web back-ends, though that is true of practically every language.


I guess AOT compiled jRubby/TruffleRuby.


First they need to support Windows as well as Java 1.0 did back in 1996, then they have 25 years to catch up.

Plus the JVMs already have jRubby and TruffleRuby, including AOT support.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: