Probabilistic programming is a programming paradigm for expressing probabilistic models and automating inference over them. It combines statistical modeling with general-purpose programming so systems can reason, predict, or decide under uncertainty.
A programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general-purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty. Programming languages used for probabilistic programming are referred to as "Probabilistic programming languages" (PPLs).