Edit Compile Link Run

...LatherRinseRepeat.

The steps to produce a working program in many traditional languages; though with sophisticated IntegratedDevelopmentEnvironments?, modern OperatingSystems and other tools, much of this can be automated. The four steps are:

Edit
type in your program using an editor of some sort, or modify existing code.
Compile
Cause the file(s) you have been just edited to be translated to some other format, usually object code for the underlying machine. (A secondary step in many systems is "assemble"; it's not uncommon for a compiler to emit AssemblyLanguage which is then assembled to ObjectCode; however this step usually is transparent). Assuming no errors, you then....
Link
Using a program called a "linker", combine the different object files that make up your program, along with any libraries you want to use (and the language's runtime system) into a final executable.
Run
Invoke the executable. (Actually this is also two steps--loading it into memory, and executing it when it's there). When it crashes or otherwise doesn't work, go back to step 1. (Better yet, run a debugger--another step I didn't mention).

Obviously, the above is a gross oversimplification. Modern OperatingSystems can defer much of the linking to the load phase; and almost every environment known to man can combine the compile and link phases, whether it's an IntegratedDevelopmentEnvironment or a Makefile. However, the steps still occur, in this order.

Some folks rather dislike EditCompileLinkRun environments/languages; thinking them outdated. Indeed, Makefile maintenance is a major chore; and building a large sophisticated product with an IDE can be an equally scary experience. In most such languages, large programs are broken up into many different files; keeping track of all of them is a pain (and in languages like CeeCeePlusPlus, handling the build dependencies is also a pain--maintaining a large project without a sophisticated IDE or a Makefile is almost impossible). And, even with a good IDE, the "seams" are rather obvious (compared to an ImageBasedLanguage).

However, EditCompileLinkRun has its advantages:


EditText of this page (last edited October 13, 2006) or FindPage with title or text search