As a Go developer, I’m surprised Crystal isn’t more popular

This page summarizes the projects mentioned and recommended in the original post on /r/crystal_programming

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Mergify - Updating dependencies is time-consuming.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • crystal

    The Crystal Programming Language

    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.

  • v-mode

    🌻 An Emacs major mode for the V programming language.

    Try http://vlang.io

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • Nokogiri

    Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.

    What's holding me back from going all in with Crystal is I have a lot of pre-existing Ruby code, and porting Ruby code to Crystal can be tricky. For example, Crystal lacks an Enumerator class (aka generators) due to captured block semantics. I also wish the shards ecosystem was a little more mature; for example there's multiple HTML parsing libraries, but none have all of the features that Ruby's Nokogiri has. For new greenfield backend projects, I would totally use Crystal.

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

    There's a lot of cognitive dissonance going on right now in the programming world. There's been massive amounts of money and evangelizing put into Golang and Rust. A lot of Gophers and Rustaceans truly really believe their languages are the best and most ergonomic languages ever. I've even talked to a junior programmer who was a Python and Golang fan, and suggested they look into Nim, which is like Crystal/Golang but with Python-ish syntax, and they had this shocked look on their face like suddenly they realized everything they had believed about Golang just got invalidated.

  • gopacket

    Provides packet processing capabilities for Go

    I have seen pcap but not packetz, thanks. Pcap looks unfinished and packetz has not been updated in a long time, but they might be able to make a working capture program. However the popularity and features available in Go regarding packet capture makes it very hard to beat. E.g. the Google gopacket library has 5.6k stars on github and as pretty much every feature you'd want for this sort of stuff built in.

  • fcat

    fatcat - firewall test tool

  • poni

    file sync based on inotify events

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts