Darwin (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Darwin
Paradigmimperative, structured, object-oriented
Designed byGaston Gonnet
First appeared1991
Typing disciplineDynamic, Strong
Filename extensions.drw
Website{{#property:P856}}
Influenced by
Maple

Darwin is a closed source[1] programming language developed by Gaston Gonnet and colleagues at ETH Zurich.[2][3] It is used to develop the OMA orthology inference software,[4] which was also initially developed by Gonnet.[5] The language backend consists of the kernel, responsible for performing simple mathematical calculations, for transporting and storing data and for interpreting the user's commands, and the library, a set of programs which can perform more complicated calculations.[6] The target audience for the language is the biosciences, so the library consisted of routines such as those to compute pairwise alignments, phylogenetic trees, multiple sequence alignments, and to make secondary structure predictions.

History

[edit | edit source]

The Darwin programming language was created 1991 by Gaston Gonnet and his team at ETH Zurich to fill the growing needs of the bioinformatics field.[1] At the time, genome sequencing was becoming a popular field, and researchers lacked high level tools. Darwin was designed with this issue in mind.[6] Over the next decade, Darwin remained relatively small due to its proprietary nature and narrow ecosystem.

Example Code

[edit | edit source]

One would write the Hello World program as:

printf('Hello, world!\n');

The following procedure calculates the factorial of a number:[6]

factorial := proc ( n )
  if (n=0) then
    return(1);
  else
    return(n * factorial(n-1));
  fi;
end:

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).