XCode es un IDE para obj-c, c, c++, python, ruby. Es gratuito y en si no tiene ningun truco de ninguna clase.
CLANG es el compilador. Es opensource:
http://clang.llvm.org/
Es el equivalente a GCC. Eso significa que puedes hacer apps de cualquier clase que use C, C++, Obj-C. Y como CLANG esta sobre LLVM:
http://www.llvm.org/
Se puede exportar codigo incluso a javascript
:
https://github.com/kripken/emscripten/wiki
Asi que reitero para los que tienen la idea que Apple no entiende de nada de opensource y que todo es carisimo: Apple lidera 2 de los proyectos de infraestructura (CLANG/LLVM/LLDB & WebKit) mas importantes del momento, de forma open source.
----
Lo del appstore es un cuento que solo aplica a iOS, y parcialmente, a OSX (en el caso de que se quiera distribuir apps en el appstore para desktop).
Como tal, xcode no impone ninguna restriccion, solo existe es cuando se libera una app en el iOS app store (que puede estar hecha en C#, Ruby, Lua, etc)...
La relacion esta en que CLANG viene de fabrica en el OSX y que Xcode es el IDE que soporta Apple, y por ende, todo esta integrado. Pero es 100% factible usar otro tipo de lenguajes y herramientas para hacer apps iOS, y de usar el toolset de Apple para hacer apps y/o codigo que se usa en Linux/Windows. De hecho, es comun hacer eso!