# Wolfram Language is a general purpose language

## What is probabilistic programming?

For a year now I've been hearing a lot about PP frameworks ( Probabilistic programming ) like PyMC3 and Stan and how great PP is. And today someone gave me this link: Pyro: a Deep Probabilistic Programming Language

I'm not really following the special about it though as it feels like anything you can do in PP can be done in any other general purpose language. I'm sure there are technical aspects of PP that make it attractive (e.g. parallel computing), but other than that, is PP really different from any other language?

Question: I was wondering if there is any consensus on what PP is and how it differs from other statistically focused programs like R, Matlab, Mathematica. It should be noted that and focus on more Bayesian analysis.

After doing a little research on Google, I came across the following two definitions. The first more abstract and the second more about the technical properties of PP.

1.2. Probabilistic programming is

Instead, probabilistic programming is a tool for statistical modeling. The idea is to take lessons from the world of programming languages ​​and apply them to the problems of designing and using statistical models. Experts are already constructing statistical models - by hand in mathematical notation on paper - but it is an expert-only process that is difficult to support with mechanical thinking. The main takeaway from PP is that, when you do enough statistical modeling, it feels like programming. When we take the plunge and actually use real language for our modeling, many new tools will become possible. We can start automating the tasks that warranted writing a paper for each instance.

Here is one second definition : A probabilistic programming language is a common programming language with a large stack of related tools to help you understand the statistical behavior of the program.

Both definitions are correct. They just emphasize different perspectives on the same core idea. Which one makes sense for you depends on what you want to use PP for. However, don't be distracted by the fact that PPL programs look like normal software implementations, the goal of which is to run the program and get output. The goal in PP is analysis, not execution (additional emphasis).

- Probabilistic programming

I would like to know if the general statistical community agrees with these two definitions of PP and if there are other features that may be missing.