質問です。
あんまり言語関係ないですけれど。
例えばWindowsのアプリケーションがMacで動かないのは
極論すればAPIが違うからと理解して良いですか?
そして、JAVAがプラットフォームに依存しないのは、
全てのOSで共通したAPIを提供しているからですか?