Learn English – “realization” vs “implementation” of a computer program

synonymsword-usage

Can realization be used to refer to the implementation of a computer program?

As in:

We will realize the program next week.

or

Listing X demonstrates a possible realization.

I was pretty sure to realize [something] cannot not be used in this sense, but instead only in the sense to become aware of [something]. However, I keep seeing realization to be used in the place of implementation quite often, also in computer science papers, so I'm not that sure anymore. Can a native speaker shed some light on this?

To add some more detail to the question: My main confusion comes from the German words for realization and implementation (Realisierung and Implementierung) which can be used fairly interchangeably in this context. The same is not true in English, and hence my worries about the correctness of the texts I write.

Best Answer

Note that, very strictly speaking, a program doesn't have an implementation. A program is an implementation: the implementation of a design, which follows from a specification.

"To realize" is similar to "to implement", but is a little bit broader. To realize means to achieve a plan, whereas to implement is to put into effect a very specific plan.

So for instance, a computer program can be the realization of a software entrepreneur's visionary concept. But it is somewhat awkward to say that it's the implementation of a visionary idea. Why? Because a visionary concept is not a program design.

To implement a program is to translate a more or less detailed design into code, not to translate some vague idea into code.

In other words, the idea for the product is realized by specifying it, capturing a design at various levels of detail and finally implementing it.

Programmers also speak of implementing specifications. For instance, "This e-mail server contains an implementation of the IMAP4 protocol" even though the IMAP4 specification is not a design for how to write IMAP4 supporting code in that mail server. Basically, any document that gives precise, testable requirements for the external behavior of a data processing system is susceptible to being implemented. We speak of the duality of interface (how the world communicates with some piece) vs. implementation (how the piece works internally).

Related Topic