There are so many probabilistic programming languages that it is hard to choose one. Because it is so hard to choose one, a probabilistic programmer has two options:
- invent a new probabilistic programming language, or
- write probabilistic programs in a regular programming language.
The former choice is easier to make, that’s why there are so many different probabilistic programming languages. But writing programs is so much easier in a regular language, and programs in regular languages can do many useful things. Any modern general-purpose programming language is suitable for probabilistic programming. Take Go, for example: infergo is a probabilistic programming facility for the Go language. Infergo allows to write probabilistic models in almost unrestricted Go and relies on automatic differentiation for optimization and inference. Works anywhere where Go does. Hosted on Bitbucket. Licensed under the MIT license.