•normal binary executable code
•no modifications required
•must be compiled for each of the used platforms
•normal interpreted program
•shell script, Perl, Python
•Java program
•requires interpreter/VM on each slave
•dynamically loaded slave library (our API)
•better performance
•more flexibility