The paths are cumbersome, but I wouldn&#x27;t call them asinine. Apple&#x27;s toolchains are versioned by SDK. That&#x27;s why they have xcrun, so you can do things like:<p><pre><code>  # xcrun --sdk iphoneos clang [...]
</code></pre>
On my system, clang&#x27;s path is even worse than your example:<p><pre><code>  # xcrun --sdk iphoneos --find clang</code></pre>
&#x2F;Applications&#x2F;Xcode.app&#x2F;Contents&#x2F;Developer&#x2F;Toolchains&#x2F;XcodeDefault.xctoolchain&#x2F;usr&#x2F;bin&#x2F;clang<p>You&#x27;re not supposed to remember those paths. Xcode and xcrun remembers them for you.<p>Apple doesn&#x27;t touch the base OS folders for non-OS software, which is why stuff goes into &#x2F;Library and &#x2F;Applications. Besides, (Apple has never used &#x2F;opt, and doesn&#x27;t even document it, last I checked: &quot;man hier&quot; doesn&#x27;t mention it.)