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
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • 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

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

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