Compilation vs. Interpretation
Compiled
- Languages: C, C++
- Development cycle: Edit, Compile (link), Run.
- Strong syntax checking during compilation and linking.
- Result: Stand-alone executable code.
- Need to compile to each platform separately. (Windows, Linux, Mac, 32bit vs 64bit).
Interpreted
- Shell, BASIC
- Development cycle: Edit, Run.
- Syntax check only during run-time.
- Result: we distribute the source code.
- Needs the right version of the interpreted on every target machine.
Both?
- Java (running on JVM - Java Virtual Machine)
- C# (running on CLR - Common Language Runtime)