Can anyone explain what they are and why I would need them? What kind of applications am I building if I need to use intrinsics?
''Intrinsics'' are those features of a language that a compiler recognizes and implements without any need for the program to declare them. The compiler may—or may not—link to a runtime library to perform the operation. In C++ for example, the structure copy operation is implicit:
struct {
int a;
char b [100];
long c [27];
} s, t;
...
s = t; // this statement copies hundreds of bytes, likely with a rtl call
Other examples include languages like Fortran where there is implicit support for the complex type, and the transcendental (sine, tangent, etc.) functions need not—and can't—be declared. PHP, Javascript, Ruby, etc. have hundreds of intrinsic functions such as to create and search arrays, perform regular expression matches, etc., etc.
As for your other questions, the only difference is whether they need to be declared. For example, a C++ program using transcendental functions must include math library declarations:
#include
There is no particular pattern of applications which depend on intrinsics; that's only a matter of significance to compiler writers and programmers.