crystal
ruby
Our great sponsors
crystal | ruby | |
---|---|---|
238 | 181 | |
19,050 | 21,447 | |
0.4% | 0.9% | |
9.8 | 10.0 | |
4 days ago | about 12 hours ago | |
Crystal | Ruby | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
crystal
-
Top Paying Programming Technologies 2024
27. Crystal - $77,104
-
Crystal 1.11.0 Is Released
I like the first code example on https://crystal-lang.org
# A very basic HTTP server
> What's the state of Windows support.
https://github.com/crystal-lang/crystal/issues/5430
> UPDATE 2023-04-24:
> All the main platform features for Windows are finished!
> There are still some smaller stories pending. Project board: https://github.com/orgs/crystal-lang/projects/11/views/5
> You can support the ongoing development financially: Windows suppport (https://opencollective.com/crystal-lang/projects/windows-sup...) project on Open Collective.
- Is Fortran "A Dead Language"?
- Odin Programming Language
- I Love Ruby
-
Ruby 3.3's YJIT: Faster While Using Less Memory
Obviously as an interpreted language, it's never going to be as fast as something like C, Rust, or Go. Traditionally the ruby maintainers have not designed or optimized for pure speed, but that is changing, and the language is definitely faster these days compared to a decade ago.
If you like the ruby syntax/language but want the speed of a compiled language, it's also worth checking out Crystal[^1]. It's mostly ruby-like in syntax, style, and developer ergonomics.[^2] Although it's an entirely different language. Also a tiny community.
-
Jets: The Ruby Serverless Framework
Ruby is a super fun scripting language. I much prefer it to python when I need something with a little more "ooomph" than bash. It's just...nice...to write in. Ruby performance has come a long way in the last decade as well. There's libraries for pretty much everything.
My modern programming toolkit is basically golang + ruby + bash and I am never left wanting.
I do find Crystal (https://crystal-lang.org/) really interesting and am hoping it has its own "ruby on rails" moment that helps the language reach a tipping point in popularity. All the beauty of ruby with all of the speed of Go (and then some, it often compares favorably to languages like rust in benchmarks).
-
Rage: Fast web framework compatible with Rails
> It always puzzled me why Crystal didn't catch up?
M:N wasn't added until late 2019 :( -- https://github.com/crystal-lang/crystal/pull/8112
ruby
- Ruby 3.3
-
Tests Everywhere - Ruby
Ruby testing with RSpec
-
YJIT Is the Most Memory-Efficient Ruby JIT
https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md#co...
It just dumps all the JIT-compiled code? I'd expect to see some kind of heuristic or algorithm there... LFU or something.
The internals of a JIT are essentially black magic to me, and I know the people working on YJIT are super talented, so I am sure there is a good reason why they just dump everything instead of the least-frequently used stuff. Maybe the overhead of trying frecency outweighs the gains, maybe they just haven't implemented it yet, or maybe it's just a rarely-reached condition.
Also for a practical tip on YJIT memory usage, note that there is a "--yjit-exec-mem-size" option, see https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md#co... for more details. (This command-line argument is mentioned in the paper https://dl.acm.org/doi/10.1145/3617651.3622982 but not in this blog post about the paper.)
At Heii On-Call https://heiioncall.com/ we use:
ENV RUBY_YJIT_ENABLE=1
Not parent poster and do not have production YJIT experience. =)
My guess is that you would monitor `RubyVM::YJIT.runtime_stats[:code_region_size]` and/or `RubyVM::YJIT.runtime_stats[:code_gc_count]` so that you can get a feel for a reasonable value for your application, as well as know whether or not the "code GC" is running frequently.
https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md#pe...
-
GitHub and Developer Ecosystem Control
Part of the major userbase pull in GitHub revolves around hosting a considerable number of popular projects including Angular, React, Kubernetes, cpython, Ruby, tensorflow, and well even the software that powers this site Forem.
-
Ruby Outperforms C: Breaking the Catch-22
The title is misleading, just like other commenters mentioned. Just check how much indirection "rb_iv_get()" has to make (at the end, it will call [1], which isn't "a light" call). Now, check generated JIT code (in a blog post) for the same action where JIT knows how to shave off unnecessary indirection.
We are comparing apples and oranges here.
[1] https://github.com/ruby/ruby/blob/b635a66e957e4dd3fed83ef1d7...
-
A Tour of CPython Compilation
As with actual spoken languages, programming languages have their own grammar as well. I've you've read any RFCs for networking protocols you may have come across a variation of Backus–Naur form, commonly referred to as BNF. The HTTP protocol uses an augmented version of it for its standard. Other languages such as Ruby may even utilize a grammar file.
-
Everything about this Device is so good but I need to know if there is an easy way to delete duplicated games like almost 10K + is duplicated
It relies on ruby and would be installed with ruby gems: gem install finddups TBH, I've only tested it with macOS. It should work with linux too, but I don't think it will work with windows.
-
Creating a Gem using Ruby C API (part 1)
But do not trust in me, see the repository of language!
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
CocoaPods - The Cocoa Dependency Manager.
go - The Go programming language
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
mint-lang - :leaves: A refreshing programming language for the front-end web
Odin - Odin Programming Language
tree-sitter-crystal
android.cr - Create Android applications using Crystal and the NDK
rust - Empowering everyone to build reliable and efficient software.
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
crow - Transpile/compile Crystal to Flow