It does exist in C/C++, but I’m not sure about any other programming languages. I’m just curious if linker exist in all compiled programming languages or does every language creator decide how the code gets compiled ?
For Benj: I mean native languages, no managed code like CLR.
Strictly speaking, a linker is not part of a language, but part of an implementation of a language. (Also, languages are not inherently “compiled” or “interpreted” — these are both features of an implementation too).
Linkers allow language implementers to implement “separate compilation”. Separate compilation is a feature which is quite important for allowing physical decoupling of separate parts of a program and for allowing partial builds (which can reduce total build times). For this reason, most implementations of languages which output native binaries will use a linker as part of their implementation.
That said, a linker is not a required part of a compiling implementation of a language, and it is possible to imagine that some language implementations would not use linker (consider a student project to write a language and implement it — if this language was not expected to be used with any large programs, the time spent to implement/integrate a linker might be deemed not worthwhile).