回答:
シムは通常、下位互換性を維持するために特別に作成されたものです。たとえば、バージョン1とバージョン2の2つのバージョンのAPIがある場合、バージョン2から独立してバージョン1を維持するのではなく、APIのバージョン1への呼び出しをインターセプトし、パラメーターをどのバージョンに変換するシムを書くことができます2は必要であり、結果を返します。
通常、シムは、コンシューマではなくAPIのプロバイダーによって作成されます。
ラッパーは、API のコンシューマーによって作成され、通常は、残りのコードを知らなくても基礎となるAPIを切り替えることができるように作成されます。たとえば、ラッパーを切り替えるだけでMS SQL ServerまたはOracleと通信できるように、データベースラッパーを作成できます。
もちろん、他の用語と同様に、灰色の領域がありますが、上記は主な違いをカバーしていると思います。