Analytica for programmers

You don't need to be a programmer (coder, developer) to use Analytica successfully. We designed it to make it easy to build and analyze quantitative models without using common programming constructs. But, plenty of programmers find Analytica a very convenient and powerful tool. This page explains Analytica for experienced programmers -- what kind of language it is and why, how to write and review "programs", and an overview of Analytica's features for procedural programming, if you really need to use them.

A declarative language

Analytica is what computer scientists call a declarative language -- meaning that a program (what we call a "model") consists of a set of declarations of variables. Each variable has a Definition, which may be a number or text value, a probability distribution, or an array of numbers or text values, or an expression mentioning other variables. The key point is there is no intrinsic sequence to these variable declarations. You can write them and review them in whatever sequence is convenient. Analytica evaluates them in whatever order it determines is consistent and efficient, based on the dependencies among the variables. Spreadsheet applications do something similar. You specify a formula for each cell, and the applications decides what sequence to evaluate them.

Programmers experienced with conventional procedural languages, like Fortran, Visual Basic, C, C++, Python, and so on, sometimes find declarative languages take a little getting used to. But, once you understand them, you realize the huge advantage of being able to write and understand the definition of each variable by itself -- without having to worry about when to evaluate it, or whether it might get assigned a new value in some remote part of the code.

How to read an Analytica model

Programmers are used to looking at code in text files. Sometimes ask if they can do that with Analytica. Usually, that's because


Analytica does offer a command line user interface called Typescript. It was originally created for a very early and ancient version of the language, before it had influence diagrams and so on. In the Typescript, you can type in commands to list variables and other objects, review and modify their attributes, and even create new objects. But, you can do all these things much more easily via its standard influence diagrams and object views -- for all except some very esoteric features.

Analytica model files

Models are stored as simple text files. They use one of two fairly simple and easy to read formats, one based on XML. You could review an edit models in the text files. But, it's hard to imagine why you'd want to given its so much easier and more convenient in Analytica -- except again for some very rare purposes.


You are not allowed to post comments.