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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!