Writing a full model+inference implementation in Matlab, say, takes you much longer, is more confusing and less flexible.
Defining and implementing a whole programming language is way more work than writing a library in an existing language. A library, after all, is a language, but one you don’t have to write a parser, interpreter, or compiler for.
I was comparing the two choices people face who want to do inference in nontrivial models. You can either write the model in an existing probabilistic programming language and get inefficient inference for free or you can write model+inference in something like Matlab. Here, you may be able to use libraries if your model is similar enough to existing models, but for many interesting models, this is not the case.
Ok, I was comparing the effort at the meta-level: providing tools for computing in a given subject area either by making a new language, or by making a new library in an existing language.
Defining and implementing a whole programming language is way more work than writing a library in an existing language. A library, after all, is a language, but one you don’t have to write a parser, interpreter, or compiler for.
I was comparing the two choices people face who want to do inference in nontrivial models. You can either write the model in an existing probabilistic programming language and get inefficient inference for free or you can write model+inference in something like Matlab. Here, you may be able to use libraries if your model is similar enough to existing models, but for many interesting models, this is not the case.
Ok, I was comparing the effort at the meta-level: providing tools for computing in a given subject area either by making a new language, or by making a new library in an existing language.