Está en la página 1de 3

Programa Informtico

Un programa informtico es un conjunto de instrucciones que una vez ejecutadas


realizarn una o varias tareas en una computadora. Sin programas, estas
mquinas no pueden funcionar. Al conjunto general de programas, se le denomina
software, que ms genricamente se refiere al equipamiento lgico o soporte
lgico de una computadora digital.

En informtica, se los denomina comnmente binarios,
(propio en sistemas Unix, donde debido a la estructura de
este ltimo, los ficheros no necesitan hacer uso de
extensiones; posteriormente, los presentaron como
ficheros ejecutables, con extensin .exe, en los sistemas
operativos de la familia Windows) debido a que una vez
que han pasado por el proceso de compilacin y han sido
creados, las instrucciones que se escribieron en un
determinado lenguaje de programacin, han sido traducidas al nico idioma que la
mquina comprende, combinaciones de ceros y unos llamado cdigo mquina. El
mismo trmino, puede referirse tanto a un programa ejecutable, como a su cdigo
fuente, el cual es transformado en un binario una vez que es compilado.

Generalmente el cdigo fuente lo escriben
profesionales conocidos como programadores. Este
cdigo se escribe en un lenguaje que sigue uno de los
siguientes dos paradigmas: imperativo o declarativo, y
que posteriormente puede ser convertido en una
imagen ejecutable a travs de un programa-
compilador. Cuando se pide que el programa sea
ejecutado, el procesador ejecuta instruccin por instruccin.

Programacin
El cdigo fuente de un programa escrito en el lenguaje de programacin C
La programacin de computadoras es el proceso iterativo de escribir o editar
cdigo fuente. Dicha edicin de cdigo fuente implica probar, analizar y
perfeccionar, y, a veces, coordinar con otros programadores, en el caso de un
programa desarrollado en conjunto. Una persona que practica esta tcnica se la
conoce como programador de computadoras, desarrollador de software, o
codificador. El proceso, a veces a largo plazo, de programacin de computadoras
normalmente se lo conoce como desarrollo de software. El trmino ingeniera de
software se est convirtiendo en muy popular, ya que esta actividad es vista como
una disciplina de ingeniera.

Paradigmas
Los programas de ordenador se pueden clasificar segn el paradigma del lenguaje
de programacin utilizado para producirlos. Dos de los principales paradigmas son
imperativos y declarativos.

Los programas escritos con un lenguaje imperativo especifican un algoritmo
utilizando declaraciones, expresiones e informes.
3
Una declaracin asocia un
nombre de variable a un tipo de datos. Por ejemplo: var x: integer; . Una expresin
produce un valor. Por ejemplo: 2 + 2 produce 4. Por ltimo, una declaracin puede
asignar una expresin a una variable o usar el valor de una variable para alterar
las estructuras de control del programa. Por ejemplo: x := 2 + 2; if x = 4 then
hacer_algo(); Una crtica de los lenguajes imperativos es el efecto secundario de
una sentencia de asignacin en una clase de variables llamadas variables no
locales.


Los programas escritos en un lenguaje
declarativo especifican las propiedades que
tienen o que deben cumplirse para la salida.
No especifican detalles expresados en
trminos de flujo de control de la mquina de
ejecucin pero s de las relaciones
matemticas entre los objetos declarados y
sus propiedades. Los lenguajes funcionales y
lgicos son dos amplias categoras de
lenguajes declarativos. El principio detrs de los lenguajes funcionales (como
Haskell) es el de no permitir efectos secundarios, lo que hace que sea ms fcil
para razonar sobre los programas como si se tratasen de funciones matemticas.
4

El principio detrs de los lenguajes lgicos (como Prolog) es definir el problema a
ser resuelto - la meta - y dejar la solucin detallada al propio sistema Prolog.

La forma en que se crea el programa puede ser textual o visual. En un programa
de lenguaje visual, los elementos en vez de ser textualmente especificados son
manipulados grficamente.


Ejecucin

Una vez escritos, pueden ser ejecutados de diversas formas6 :

Mediante un programa que va adaptando las instrucciones conforme son
encontradas. A este proceso se lo llama interpretar y a los programas que
lo hacen se los conoce como intrpretes. Ejemplos de esto son bash,
clsico en estaciones Unix y que fue escrito para el proyecto GNU o
Python, cuya peculiaridad adems de ser multipropsito, est en su
facilidad de uso y productividad y de hecho, es usado en parte de los
proyectos Google y YouTube.7
Traduciendo el cdigo escrito del programa (lo que se denomina cdigo
fuente), a su equivalente en lenguaje mquina. A este proceso se le llama
compilar y al programa traductor se le denomina compilador. Ejemplos de
esto son: El lenguaje C, que combina en su sintaxis caractersticas de
medio y bajo nivel y el compilador gcc usado en el proyecto GNU.

Programas que se auto-modifican
Un programa informtico en ejecucin normalmente es tratado como algo diferente
de los datos con los cuales opera. Sin embargo, en algunos casos sta distincin
es ambigua, especialmente cuando un programa se modifica a s mismo. El
programa modificado es secuencialmente ejecutado como parte del mismo
programa. El cdigo que se auto-modifica es posible para programas escritos en
cdigo mquina, Lenguaje ensamblador, Lisp, C, COBOL, PL/1 y Prolog y
JavaScript (la funcin eval), entre otros.

Ejecucin y almacenamiento de los programas

Tpicamente, los programas se almacenan
en una memoria no voltil (por ejemplo un
disco), para que luego el usuario de la
computadora, directa o indirectamente,
solicite su ejecucin. Al momento de dicha
solicitud, el programa es cargado en la
memoria de acceso aleatorio o RAM del
equipo, bajo el control del software llamado
sistema operativo, el cual puede acceder
directamente al procesador.