logoalt Hacker News

barrell10/02/20241 replyview on HN

Hahaha excellent question.

I'm a front-end developer / ClojureScript engineer by trade. When it came time to choose a backend technology, I needed one that was foolproof, had excellent support for working with vector embeddings, and could train a few models.

I didn't trust myself not to blow both my feet off with Clojure, so I originally went with Python. After 8 months of using Python everyday, I can honestly say there wasn't a single programming session I didn't actively rue Python. Combine that with the hard switch from immutable functional paradigms in ClojureScript to mutable state object-oriented paradigms in Python, and I was thoroughly unhappy.

Elixir is immutable and functional, they've made great strides in ML tooling (especially with Nx & Nx.Serving), and Phoenix is absolutely foolproof.

I bit the bullet and moved my webserver to Elixir. Ever since, when something needs updating on the python side, I just migrate that feature to Elixir. After the initial setup, with the exception of one or two features, it's often faster than debugging it in python.

It definitely will make hiring more challenging, but it has 10xed my enjoyment of working on the project. Plus, surely there are some Elixir devs out there aspiring to be ML engineers :)


Replies

roguas10/04/2024

> I didn't trust myself not to blow both my feet off with Clojure

But you are clojure engineer(by trade). Kinda weird, cause on the other end, I myself do backend in clojure but in frontend i much prefer js/svelte. (cljs tooling is making me cry, almost always)

show 1 reply