Un programa informático en ejecución normalmente es tratado
como algo diferente de los datos con los cuales opera. Sin embargo, en algunos
casos ésta distinción es ambigua, especialmente cuando un programa se modifica
a sí mismo. El programa modificado es ejecutado secuencialmente como parte del
mismo programa. En el caso de programas escritos en código máquina, lenguaje
ensamblador, Lisp, C, COBOL, PL/1 y Prolog y JavaScript (la función eval),
entre otros, es posible tener código que se auto-modifica.
domingo, 14 de agosto de 2016
COMPILADO O INTERPRETANDO
Un programa de computadora bajo la forma de lenguaje de
programación de computadoras legible por un humano, se lo llama código fuente.
Dicho código fuente se puede convertir en una imagen ejecutable por un
compilador o ejecutarse inmediatamente con la ayuda de un intérprete.
Cualquiera de los programas compilados o interpretados
pueden ser ejecutados en un proceso por lotes sin intervención humana, pero los
programas interpretados le permiten al usuario escribir comandos en una sesión
interactiva. En este caso, los programas son los comandos separados, cuya
ejecución se produce secuencialmente, y por lo tanto simultáneamente. Cuando se
utiliza un lenguaje para dar órdenes a una aplicación de software (como un
shell de Unix u otra interfaz de línea de comandos), se le llama un lenguaje de
scripts.
Los compiladores se utilizan para traducir el código fuente
de un lenguaje de programación, ya sea en código objeto o código máquina.7 El
código objeto de objeto necesita procesamiento adicional para convertirse en
código máquina, y el código máquina es el código nativo de la unidad central de
procesamiento, listo para su ejecución. Los programas de computadora compilados
se conocen comúnmente como ejecutables, imágenes binarias, o simplemente como
binarios — una referencia al formato de archivo binario utilizado para
almacenar el código ejecutable.
PARADIGMAS
Los programas de ordenador se pueden clasificar según el
paradigma del lenguaje de programación 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.4 Una
declaración asocia un nombre de variable a un tipo de datos. Por ejemplo: var
x: integer; . Una expresión produce un valor. Por ejemplo: 2 + 2 produce 4. Por
último, una declaración puede asignar una expresión 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 crítica de los lenguajes
imperativos es el efecto secundario de una sentencia de asignación en una clase
de variables llamadas variables no locales.5
Los programas escritos en un lenguaje declarativo
especifican las propiedades que tienen o que deben cumplirse para la salida. No
especifican detalles expresados en términos de flujo de control de la máquina
de ejecución pero sí de las relaciones matemáticas entre los objetos declarados
y sus propiedades. Los lenguajes funcionales y lógicos son dos amplias
categorías de lenguajes declarativos. El principio detrás de los lenguajes
funcionales (como Haskell) es el de no permitir efectos secundarios, lo que
hace que sea más fácil para razonar sobre los programas como si se tratasen de
funciones matemáticas.5 El principio detrás de los lenguajes lógicos (como
Prolog) es definir el problema a ser resuelto - la meta - y dejar la solución
detallada al propio sistema Prolog. El objetivo se define proporcionando la
lista de sub-objetivos. Luego, cada subobjetivo se define más arriba,
proporcionando la lista de sus sub-objetivos, etc. Si la ruta de sub-objetivos
no encuentra una solución, entonces ese subobjetivo se retrocede y otra vía se
intenta sistemáticamente.
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 gráficamente.
Suscribirse a:
Comentarios (Atom)


