简述混合编程的三种主要方法及其特点