New Ada Folks (<2 years), what made you pick up (or leave) Ada?

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

Our great sponsors
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SaaSHub - Software Alternatives and Reviews
  • aida_2012

    For getting UTF-8 support one can also use Dmitry Kazakovs Simple components (http://www.dmitry-kazakov.de/ada/components). Based on it have made a UTF-8 version which is Ada/Spark based (https://github.com/joakim-strandberg/aida_2012). Another one I have been toying with is cross-compiler: https://github.com/joakim-strandberg/portable_ada . To print to standard out using UTF-8 the easiest way is probably enabling "-gnatW8" in order for normal String types be interpreted as UTF-8 strings. Using the UTF-8 support in the links I would recommend making one's own Ada bindings to the OS. It should be easy to do on Mac OS X and Linux where UTF-8 is enabled by default but more of an issue on Windows where the UTF-8 encoded strings need to be converted to UTF-16 before being handed over to the OS.

  • portable_ada

    For getting UTF-8 support one can also use Dmitry Kazakovs Simple components (http://www.dmitry-kazakov.de/ada/components). Based on it have made a UTF-8 version which is Ada/Spark based (https://github.com/joakim-strandberg/aida_2012). Another one I have been toying with is cross-compiler: https://github.com/joakim-strandberg/portable_ada . To print to standard out using UTF-8 the easiest way is probably enabling "-gnatW8" in order for normal String types be interpreted as UTF-8 strings. Using the UTF-8 support in the links I would recommend making one's own Ada bindings to the OS. It should be easy to do on Mac OS X and Linux where UTF-8 is enabled by default but more of an issue on Windows where the UTF-8 encoded strings need to be converted to UTF-16 before being handed over to the OS.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • trendy_terminal

    A Windows/Linux library for enabling terminal settings and driving character-by-character input.

    It does, it's not enabled by default and you can check your code page with chcp. Trendy Terminal 0.0.1 handles this for you, I should be soon releasing a 0.0.2 version of Trendy Terminal which uses an RAII type to ensure this gets reset properly for you. I'd highly recommend using "Windows Terminal" over the plain Powershell or Command Prompt.

  • VSS

    High level string and text processing library

    I plan on using VSS to handle UTF-8.

  • rust-prometheus

    Prometheus instrumentation library for Rust applications

    Rust has a popular binding: https://github.com/tikv/rust-prometheus

  • prometheus-client

    Haskell client library for exposing prometheus.io metrics.

    Haskell has two: https://github.com/fimad/prometheus-haskell and https://github.com/bitnomial/prometheus

  • prometheus

    Prometheus.io Haskell client. (by bitnomial)

    Haskell has two: https://github.com/fimad/prometheus-haskell and https://github.com/bitnomial/prometheus

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • grpc-rust

    Rust implementation of gRPC

    Rust has two: https://github.com/stepancheg/grpc-rust and https://github.com/hyperium/tonic

  • tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

    Nothing like https://tokio.rs/ seems to exist for Ada.

  • tonic

    A native gRPC client & server implementation with async/await support.

    Rust has two: https://github.com/stepancheg/grpc-rust and https://github.com/hyperium/tonic

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