Bővebb ismertető
Az első számítógépek - elsősorban kis megbízhatóságuk miatt - nem rendelkeztek operációs rendszerrel. A csupán néhány órás hibátlan működés csak azt tette lehetővé, hogy egy programot több-kevesebb sikerrel lefuttassanak. A programokat gépi kódban kellett megírni, a programozónak kellett gondoskodnia a program és az adatok beviteléről, az eredmény kihozataláról, a kevés számú periféria vezérléséről.A második generációs számítógépek megbízhatósága javult, ezért ezekhez már készültek bizonyos általánosan használt programok, amelyek valamelyest kényelmesebbé tették a programozást, a számítógépek használatát. Ezeket a programokat - lyukszalagról vagy lyukkártyáról - a programozók által megírt programok előtt kellett beolvastatni a számítógépbe, és ezek vezérelték a gépet a program futása alatt. Ilyen kész programok voltak az assembler - később már a fejlettebb programnyelvű (ALGOL, FORTRAN, COBOL) - fordítók (compiler programok) és a gépi kódra lefordított programokat betöltő, futásukat vezérlő, ún. egzekutív (végrehajtó) programok.