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

Gladly. I authored the gcf.cr tool (https://github.com/sam0x17/gcf.cr) to replace a number of lambda functions with crystal-based cloud functions for two startups I write code for. I also replaced our rather bloated rails app with a lean SPA (in vanilla js plus jquery, because I can't stand react) backed by a crystal-based API server. I also do a lot of image processing in crystal (I need to make some of it open source but haven't got around to it), and Google Cloud Functions has been fantastic for that.

As far as the language itself goes, I have tried Rust, Nim, Go, and D, and I find crystal vastly preferable to all of them, probably because I have a ruby and C/C++ background. I just wish windows support and parallelism would get finished already as I have some cross-platform desktop app aspirations that I would love to fulfill in crystal rather than something horrible and ugly like Electron/node.

I am also working on a crystal-like language (with a crystal-based LALR(1) compiler) called Nojs (or just No) that compiles to javascript and has restrictions that make static analysis easy enough that you can include exactly the code needed and nothing more (e.g. don't include unreachable code) for whatever web page you are on, instead of importing entire libraries everywhere. This is really great because the dynamic nature of js normally makes this impossible as it is impossible to tell whether you are about to eval something into existence, etc, or call a method based directly off the value of a string... I am also using crystal-style require statements as I am not a fan of Node.js's module setup -- I'd rather have a global namespace to pollute and monkey-patch when I want to, with the option of using modules like in crystal/ruby, and the ability to require anywhere and have it literally import the required code at that point in the file. I don't have it on a public github yet but stay tuned.



I'm curious if there's anything in particular you prefer in Crystal over Nim. I'm considering both right now.


Nim has a little bit more python-ness and a little less ruby-ness imo. That's all I really remember -- it's been almost a year since I tried Nim.


Great to see Crystal in production! I'm a Rubyist and rooting for Crystal's success.

Do you use any frameworks with Crystal or has it mostly been vanilla stuff? How would you gauge the maturity of the dev environment?


I use Amber when I have to do something Rails-like. Maturity wise they are a bit ahead Lucky, and since all I really do is API servers because of my newfound love of SPAs, it gets the job done perfectly.

The language does change now and again, but upgrading has been fairly straightforward thus far, and I manage a number of open source crystal projects in addition to my closed source production code. You always have the option of not upgrading until you are ready, which is more than enough at least for me.

Debugging represents a unique challenge. I plan to eventually write an adapter for sentry.io for error tracking, but I haven't gotten around to this. Amber has very informative crash logs, so thus far I've been OK just looking through my Google App Engine logs when I need to track down an error. Cloud function debugging is a particular pain in the ass because of https://github.com/sam0x17/gcf.cr/issues/1, but I have a feeling the new 0.27.0 release resolves this, I just haven't had a moment to check.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: