Our great sponsors
-
stan
Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.
-
pytensor
PyTensor allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays.
-
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.
Well it sounds a lot like you are listening to developers talk about coding languages they like for high performance compute. This is not what you want to be spending all your time doing afaik. The more appropriate languages to get into would be the classic Python and R. Julia if you dont give a shit about productionizing your code and https://mc-stan.org/ Stan if you are really locked into bayesian inference and wanted to pick julia anyway.
I wouldn't overlook also how many goodies these existing PPLs are coming with. Starting from scratch means that one would have code up all the utilities to assess convergence, chain properties, etc. etc. on their own. And more advanced tricks like auto-differentiations that by themselves are huge perks are also unavailable (goodbye easy ADVI). For example PyMC, now uses Numba and JAX (via Aesara/PyTensor depending on your version), so theoretically (and practically) you can include arbitary PyTensor/JAX code in your model. I use PyMC as an example here, but this extends to most other PPLs too depending on their backends.