Erlang: The coding language that finance forgot

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • aws-lambda-elixir-runtime

    Example implementation of a custom runtime for running Elixir on AWS Lambda.

  • Well I remember this announcement[0] and there was this [1] but I'm not sure that went anywhere.

    [0] https://aws.amazon.com/fr/blogs/aws/new-for-aws-lambda-use-a...

    [1] https://github.com/aws-samples/aws-lambda-elixir-runtime

  • CouchDB

    Seamless multi-master syncing database with an intuitive HTTP/JSON API, designed for reliability

  • I just turns out you can't always do that in a real codebase. For example see here:

      https://github.com/apache/couchdb/blob/23efd8e5b1aa96ef01640fec03a5fedc945ba8b9/src/couch_mrview/src/couch_mrview_http.erl#L228

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

    InfluxDB logo
  • erllambda

    AWS Lambda in Erlang

  • I've run plenty of things in AWS Lamba using Erlang FWIW.

    https://github.com/alertlogic/erllambda

    It is interesting in as much as the lambda functions stay hot for a period of time.

  • april

    The APL programming language (a subset thereof) compiling to Common Lisp.

  • The one big use case was RabbitMQ in a messaging app, not HFT. I doubt Elixir even with Nx can compete with low-level HFT code. Python DL/ML code libraries are just wrappers around C too. Maybe if BeamAsm and Nx are used Elixir could be used for more numerical or not just distributed applications.

    I've programmed in Python and Julia, and when I worked at an engineering (mechanical, entertainment engineering) company, Julia was great for its similarity to Matlab. I am a self-taught engineer, so I did not get pulled into Matlab in college.

    Personally, I took to Erlang, so I could write plugins for Wings3D back in the early 2000s, but I never stuck with Erlang, or Wings3D (Blender3D was my choice and I even contributed to have it go opensource way back when). I like Erlang's syntax better for some reason, although Elixir's is beautiful too. I was not a Ruby programmer, and I had delved into Haskell and Prolog, so I think Erlang made more sense to me. I think Elixir has a lot more momentum behind it than Erlang, but at the root it's Erlang, so I think I'll stick with Erlang for BEAM apps. My favorite language is April[1] (APL in Lisp), and given my love of J, would be a better fit for any finance apps I might write. I am trying to convert some of the Lisp code in this book, "Professional Automated Trading: Theory and Practice" to April.

    Maybe I'll write some equivalent Elixir code to compare.

    [1] https://github.com/phantomics/april

  • otp

    Erlang/OTP

  • beam_languages

    Languages, and about languages, on the BEAM

  • Have I got a link for you!

    https://github.com/llaisdy/beam_languages

    See you down the rabbit hole!

  • eqwalizer

    A type-checker for Erlang

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • secdb

    Timeseries market data database

  • A comment to the posted-article, from "Frellus", who identifies as ex-Goldman, suggests RabbitMQ might not have been used so extensively:

    Ex-Goldman person here. To the best of my knowledge, RabbitMQ was used in spots but not where reliability was critical. Instead the main message brokers were IBM MQ and TIBCO. RabbitMQ would certainly lose messages in the event of a crash, and I'm not sure it would have been used for the main message bus given the rate of events. Additionally, Erlang was used for SecDB queries quite heavily. This was the bread-and-butter of the firm (https://github.com/saleyn/secdb)

  • purerl

    Erlang backend for the PureScript compiler

  • I will put in a good word for PureScript for the beam with `purerl`. It's my go-to for writing BEAM code nowadays. Notably PureScript tooling including LSP, package management, etc., just works, so you are able to just get to work in internalizing the way OTP and other Erlangy things are expressed in a statically typed, pure language.

    https://github.com/purerl/purerl & https://purerl-cookbook.readthedocs.io/ for more information. Join the PureScript discord and the #purerl channel if you want help.

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

  • Creating an offline node.js app, but what can I use as a database?

    1 project | /r/learnprogramming | 14 May 2023
  • How would you implement online offline db sync?

    1 project | /r/learnprogramming | 13 May 2022
  • What global databases are exist?

    1 project | /r/flutterhelp | 16 Apr 2022
  • Ask HN: How do you handle global web scale?

    1 project | news.ycombinator.com | 18 Feb 2022
  • It's it possible to connect CouchDB to ldap for auth?

    1 project | /r/CouchDB | 28 Dec 2021