EMMAWiki/TermsAndConcepts/ForDevelopers/ProgrammingLanguages

From BRF-Software
Revision as of 14:15, 21 April 2005 by imported>MichaelDondrup
Jump to navigation Jump to search

TermsAndConcepts: Programming Languages

EMMA is mainly written in object-oriented Perl. Perl is an iterpreted language which is commonly used for building web-applications. From our point of view the major strengths of perl are string processing, databse accessibility and web-applications, but it lacks structured data-types and number crunching capabilities. EMMA relies on numerous third party perl modules to complement this.

The analysis functions are implemented using the statistical environment R. R has excellent support for many statistical methods and the Bioconductor project provides loads of functionality for microarray data analysis within R.

To provide interactive functionality with a web-browser we unfortunately have to use :( JavaScript :-( . The JavaScript implementations of many browser differ and this is a real mess. JavaScript is the main cause why EMMA does not work with the AnyBrowser.

By use of fancy Java applets we try to raise the level of interaction to its limit. We also use some Java for doing CodeGeneration.

Another interesting language is XSLT which is in fact a fully functional functional programming language for transforming XML documents. It is used for CodeGeneration of the O2DBI backend.

Other languages

These are document languages which are used in EMMA

  • HTML - guess why (BTW: we are actually using XHTML which is the XML version of HTML)
  • XML - MAGE-ML is an example. Also O2DBI uses XML documents for defining the class structure
  • CSS 2.0 - For creating our stylish web-interface
  • DTD - to define and validate XML-documents