| DADiSP | |
|---|---|
| Developer | DSP Development Corporation |
| Initial release | 1987; 39 years ago (1987) |
| Stable release | DADiSP 6.7 B02 / January 17, 2017; 9 years ago (2017-01-17) |
| Written in | C,C++, SPL |
| Operating system | Microsoft Windows |
| Platform | IA-32,x86-64 |
| Type | Technical computing |
| License | Proprietarycommercial software |
| Website | www |
| SPL | |
|---|---|
| Paradigm | multi-paradigm:imperative,procedural,object-oriented,array |
| Designed by | Randy Race |
| Developer | DSP Development Corporation |
| First appeared | late 1990s |
| Stable release | 6.7 / 2017 |
| Typing discipline | Dynamic,weak |
| OS | Microsoft Windows |
| Filename extensions | .spl |
| Website | www |
| Influenced by | |
| APL,C,C++ | |
DADiSP (Data Analysis and Display, pronounced day-disp) is anumerical computing environment developed by DSP Development Corporation which allows one to display and manipulate data series,matrices andimages with an interface similar to aspreadsheet. DADiSP is used in the study ofsignal processing,[1]numerical analysis,statistical andphysiological data processing.[2]
DADiSP is designed to perform technical data analysis in aspreadsheet like environment. However, unlike a typical business spreadsheet that operates on a table of cells each of which contain singlescalar values, a DADiSP Worksheet consists of multiple interrelated windows where each window contains an entireseries or multi-columnmatrix. A window not only stores the data, but also displays the data in several interactive forms, including 2D graphs, XYZ plots, 3D surfaces, images and numeric tables. Like a traditional spreadsheet, the windows are linked such that a change to the data in one window automatically updates all dependent windows both numerically and graphically.[3][4] Users manipulate data primarily through windows. A DADiSP window is normally referred to by the letter "W" followed by a window number, as in "W1". For example, the formulaW1: 1..3 assigns the series values {1, 2, 3} to "W1". The formulaW2: W1*W1 sets a second window to compute the square of each value in "W1" such that "W2" will contain the series {1, 4, 9}. If the values of "W1" change to {3, 5, 2, 4}, the values of "W2" automatically update to {9, 25, 4, 16}.
DADiSP includes a series basedprogramming language called SPL (Series Processing Language)[5] used to implement customalgorithms. SPL has aC/C++ like syntax and is incrementally compiled into intermediatebytecode, which is executed by avirtual machine. SPL supports both standard variables assigned with= and "hot" variables assigned with:=. For example, the statementA = 1..3 assigns the series {1, 2, 3} to the standard variable "A". The square of the values can be assigned withB = A * A. Variable "B" contains the series {1, 4, 9}. If "A" changes, "B" doesnot change because "B" preserves the values as assigned without regard to the future state of "A". However, the statementA := 1..3 creates a "hot" variable. A hot variable is analogous to a window, except hot variables do not display their data. The assignmentB := A * A computes the square of the values of "A" as before, but now if "A" changes, "B" automatically updates. SettingA = {3, 5, 2, 4} causes "B" to automatically update with {9, 25, 4, 16}.
DADiSP was originally developed in the early 1980s, as part of a research project atMIT to explore the aerodynamics ofFormula One racing cars.[4] The original goal of the project was to enable researchers to quickly explore data analysis algorithms without the need for traditional programming.