go VS crystal

Compare go vs crystal and see what are their differences.

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
go crystal
1849 218
111,942 18,512
1.1% 0.4%
10.0 9.8
about 20 hours ago 4 days ago
Go Crystal
BSD 3-clause "New" or "Revised" License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

go

Posts with mentions or reviews of go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-07.

crystal

Posts with mentions or reviews of crystal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-26.
  • As a Go developer, I’m surprised Crystal isn’t more popular
    8 projects | /r/crystal_programming | 26 May 2023
    There have been 7 releases in 2023 so far (https://github.com/crystal-lang/crystal/releases), one of them (1.7.0) having over 30 different contributors.
    8 projects | /r/crystal_programming | 26 May 2023
    There is also an undocumented Thread class https://github.com/crystal-lang/crystal/blob/master/src/crystal/system/unix/pthread.cr to get at even lower-level multithreading primitives. But can't do anything that touches the scheduler.
  • How Much Memory Do You Need to Run 1M Concurrent Tasks?
    6 projects | news.ycombinator.com | 21 May 2023
    "System time" rather than "user time" is the majority (7.94s system time, 2.83s user time in the 20.25s wall time run). Is this pointing to memory allocations?

    Crystal Fiber docs https://crystal-lang.org/api/1.8.2/Fiber.html says "A Fiber has a stack size of 8 MiB which is usually also assigned to an operating system thread. But only 4KiB are actually allocated at first so the memory footprint is very small." -- and perhaps unsurprisingly, 4KiB times 1000000 is approximately 4 GiB. Nice when the math works out like that :)

    To me this is useful as a baseline for something like a websocket server, with some number of idle connections, each Websocket connection mapped to a Fiber that is waiting for I/O activity but mostly idle.

  • Programming types and mindsets
    4 projects | /r/ruby | 8 May 2023
    I still just document everything using YARD and focus on designing really obvious Object Models and of course write tests. I have tried using sord to convert my YARD type annotations to RBS or RBI, but you still have to fill in missing bits, then use steep and somehow load in RBS/RBI files for other gems and stdlib, and it's just an uphill battle since Ruby is dynamically typed by default. Obviously Dynamic Typing lends itself more to Dynamic Languages, where you can call an arbitrary method and let the language VM figure it out at runtime. Static or Strong Typing lends itself better to compiled languages where everything needs to be resolved at compile time and converted into object code. If I need to work in a compiled language, then I'll use Crystal, which also supports type inference. TypeScript's type syntax is quite nice, but I tend to avoid writing massive JavaScript code bases where a Type Checker helps catch subtle bugs, and instead prefer sticking to minimal amounts of vanilla JavaScriot in order to keep complexity low and not overwhelm the browser.
  • Getting Lucky with HTMX
    3 projects | dev.to | 6 May 2023
    Lucky is a full-stack framework written in the Crystal programming language. One of the neat benefits of using Lucky with Crystal is the typesafety you get.
  • A Look at the Crystal Programming Language for Humans
    5 projects | news.ycombinator.com | 5 May 2023
    „All the main platform features for Windows are finished“

    https://github.com/crystal-lang/crystal/issues/5430

    5 projects | news.ycombinator.com | 5 May 2023
  • Engineers who have a personal website/blog, what are you using to host/generate it?
    8 projects | /r/ExperiencedDevs | 1 May 2023
    Over the years, I’ve gone from Time Warner’s Road Runner, to Tumblr, to GitHub Pages, to Godaddy hosted WordPress. Though, after Godaddy messed up a migration, I switched to self-hosting on Heroku. I wrote my blog engine using Crystal. Reference: ejstembler.com
  • I created a fast, safe and powerful pythonic language which aims allow you to create simple scripts to complex systems in a code easier to read, write and maintain than other system languages with the same purpose. It's free and opensource.
    4 projects | /r/coding | 28 Apr 2023
    The README describes the language as a systems-focused version of Python. In that sense it's similar to Crystal, a systems-focused version of Ruby. Also, Nim is a statically typed systems programming language with Python-like syntax.
  • Why should you learn Crystal?
    3 projects | dev.to | 18 Apr 2023
    Have you ever heard of this amazing language called Crystal? Okay, let's understand a little bit about everything this amazing programming language has to offer.

What are some alternatives?

When comparing go and crystal you can also consider the following projects:

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

TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

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).

Angular - The modern web developer’s platform

golang-developer-roadmap - Roadmap to becoming a Go developer in 2020

RxGo - Reactive Extensions for the Go language.

Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications

sqlc - Generate type-safe code from SQL

mint-lang - :leaves: A refreshing programming language for the front-end web