27.09.2014 Views

PDF (double-sided) - Physics Department, UCSB - University of ...

PDF (double-sided) - Physics Department, UCSB - University of ...

PDF (double-sided) - Physics Department, UCSB - University of ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.3.3 Cross-Language and Cross-Platform<br />

Since every programming language has its unique strengths but certainly also<br />

its weaknesses, it is a major advantage to be able to write different Modules in<br />

different languages. For example, Modules that require the best possible performance<br />

should be written in a compiled language like Delphi or C++. Modules that<br />

rely on a comprehensive user interface can easily be designed in LabVIEW. And<br />

Modules that script complex processes can be quickly implemented in Python.<br />

The data-structures that LabRAD supports were specifically designed to make<br />

implementation in different languages as natural as possible and thus it is possible<br />

to provide very seamless interfaces to LabRAD for almost all programming<br />

languages. In this way, LabRAD addresses the Flexibility and the Integration<br />

Requirement in one shot.<br />

Furthermore, it is possible to design LabRAD Modules for different operating<br />

systems that can all communicate via the OS agnostic network protocol. This<br />

allows for further flexibility in the choice <strong>of</strong> resources used for the project. For<br />

example, employing computers running a free operating system like Linux can<br />

slightly reduce the overall cost <strong>of</strong> the project.<br />

135

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!