EMMAWiki/TermsAndConcepts/ForDevelopers/ProgrammingLanguages: Difference between revisions

From BRF-Software
Jump to navigation Jump to search
imported>MichaelDondrup
No edit summary
imported>MichaelDondrup
No edit summary
Line 14: Line 14:
= Other languages =
= Other languages =


These are document languages which are used in EMMA
These are non-programming languages which are used in EMMA


* HTML - guess why (BTW: we are actually using XHTML which is the XML version of HTML)
* HTML - guess why (BTW: we are actually using XHTML which is the XML version of HTML)
Line 20: Line 20:
* CSS 2.0 - For creating our stylish web-interface
* CSS 2.0 - For creating our stylish web-interface
* DTD - to define and validate XML-documents
* DTD - to define and validate XML-documents
* SQL - The database scheme which is created by O2DBI is defined in SQL. Also some highly optimized queries are written in raw SQL for speed.

Revision as of 14:22, 21 April 2005

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 non-programming 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
  • SQL - The database scheme which is created by O2DBI is defined in SQL. Also some highly optimized queries are written in raw SQL for speed.