Source code is what you create when you type in your program with a plain text editor. You run a compiler with your source file as input and it outputs object code. Usually, the compiler will call a linker to link the object code with shared objects & libraries (dylibs in OSX & dll in Windows) and output executable code.