Un programa informático escrito en un estilo orientado a objetos
Un programa informáticoo programa de computadoraes una, escritas para realizar una tarea específica en una. Este dispositivo requiere programas para marchar, por lo general, ejecutando las instrucciones del programa en un. El programa tiene un formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones. El mismo programa en su formato delegible para humanos, del que se derivan los programas(por poner un ejemplo,), le deja a un programador estudiar y desarrollar sus. Una colección de programas de computadora yrelacionados se conoce como .
Generalmente, ello escriben profesionales conocidos comode computadora. Este código se escribe en unque prosigue uno de los próximos dos: imperativo o declarativo, y que posteriormente puede ser transformado en un(usualmente llamado un programa ejecutable o un binario) por uny más tarde ejecutado por una. Por otra parte, los programas de computadora se pueden ejecutar con la ayuda de un intérprete, o bien pueden serdirectamente en .
De pacto a sus funciones, los programas informáticos se clasifican eny. En las computadoras de 2015, al hecho de ejecutar múltiples programas de forma simultánea y eficaz, se lo conoce como.
Back to top1) Programación
Lade computadoras es el proceso iterativo de redactar o bien editar. Dicha edición implica probar, analizar y mejorar, y, en ocasiones, coordinar con otros programadores, en el caso de un programa desarrollado en conjunto. Una persona que practica esta técnica se le conoce comode computadoras, desarrollador de software, o bien codificador. El proceso, a veces a largo plazo, de programación de computadoras en general se lo conoce como. El términose está transformando en muy popular, puesto que esta actividad es vista como una disciplina de.
Los programas de ordenador se pueden clasificar según eldelutilizado para generarlos. Dos de los primordiales paradigmas son imperativos y declarativos.
Los programas escritos con un lenguaje imperativo especifican unutilizando declaraciones, expresiones y también informes.
Una declaración asocia un nombre de variable a un género de datos. Por ejemplo:
var x: integer;
. Una expresión genera 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 trastocar lasdel programa. Por ejemplo:
x := dos + 2; if x = 4 then hacer_algo();
Una crítica de los lenguajes imperativos es elde una sentencia de asignación en una clase de variables llamadas variables no locales.
Los programas escritos en un lenguaje declarativo detallan las propiedades que tienen o bien que deben cumplirse para la salida. No detallan 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. Losy lógicos son 2 amplias categorías de lenguajes declarativos. El principio detrás de los lenguajes funcionales (como) es el de no permitir, lo que hace que sea más fácil para razonar sobre los programas como si se tratasen de funciones matemáticas. El principio detrás de los lenguajes lógicos (como) es acotar el inconveniente 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 senda de sub-objetivos no encuentra una solución, entonces ese subobjetivo sey otra vía se procura sistemáticamente.
La forma en que se crea el programa puede ser textual o bien visual. En un, los elementos en lugar de ser textualmente especificados son manipulados gráficamente.
1.1) Compilado o bien interpretando
Un programa de computadorabajo la forma de lenguaje de programación de computadoras, se lo llama. Dicho código fuente se puede convertir en una imagen ejecutable por uno ejecutarse inmediatamente con la ayuda de un.
Cualquiera de los programas compilados o bien interpretados pueden ser ejecutados en unsin intervención humana, pero los programas interpretados le permiten al usuario escribir comandos en una. En este caso, los programas son los comandos separados, cuya ejecución se genera secuencialmente, y por lo tanto simultáneamente. Cuando se emplea un lenguaje para dar órdenes a una aplicación de software(como unu otra), se le llama un.
Los compiladores se usan para traducir el código fuente de un lenguaje de programación, ya sea eno. El código objeto de objeto precisa procesamiento auxiliar para convertirse en código máquina, y el código máquina es elnativo 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 bien simplemente como—una referencia alde archivo binario empleado para guardar el código ejecutable—.
Los programas de computadora —interpretados en un lote o bien una sesión interactiva— o se descodifican y después ejecutados de manera inmediata o bien se decodifican en alguna representación media eficiente para la ejecución futura.,yson ejemplos de programas de computadora ejecutados inmediatamente. Por otra parte, los programas de computadora dese compilan ya antes de tiempo y se guarda como un código independiente de la máquina llamado . Entonces, dicho bytecode es ejecutado a petición de un intérprete llamado.
La principal desventaja de los intérpretes es que los programas de computadora corren más lento que cuando son compilados. La interpretación de código resulta más lenta que la ejecución de la versión compilada por el hecho de que el intérprete debecada declaración cada vez que se carga y después realizar la acción deseada. No obstante, el desarrollo de software puede ser más rápido utilizando un intérprete pues la prueba es inmediata cuando se omite el paso de la compilación. Otra desventaja de los intérpretes es que ha de estar presente por lo menos uno en la computadora a lo largo de la ejecución del programa de computadora. Por el contrario, los programas de computadora compilados no necesitan compilador presente a lo largo de la ejecución.
No se requieren propiedades de un lenguaje de programación si se está compilado exclusivamente o bien interpretándose únicamente. Por lo general, la clasificación refleja el método más popular de ejecución del lenguaje. Por servirnos de un ejemplo, BASIC se considera un lenguaje interpretado y C un lenguaje compilado, a pesar de la existencia de compiladores de BASIC y también intérpretes de C. Algunos sistemas utilizan(JIT) mediante la que las secciones de la fuente se compilan 'sobre la marcha' y se guardan para ejecuciones siguientes.
1.2) Programas que se automodifican
Un programa informático en ejecución, por norma general es tratado como algo diferente de loscon los cuales opera. No obstante, en ciertos casos esta distinción es equívoca, especialmente cuando un programa se altera a sí mismo. El programa cambiado es ejecutado secuencialmente como parte del mismo programa. En el caso de programas escritos en,,,,,yy(la función eval), entre otros, es posible tener código que se automodifica.
Back to top2) Ejecución y almacenaje de los programas
Típicamente, los programas se almacenan en una(por servirnos de un ejemplo un disco), para que entonces el usuario de la, directa o de manera indirecta, pida su ejecución. Al instante de dicha petición, el programa es cargado en lao RAM del equipo, bajo el control del llamado, el que puede acceder de forma directa al. El procesador ejecuta (corre) el programa, instrucción por instrucción hasta que termina. A un programa en ejecución se le acostumbra a llamar también. Un programa puede finalizar su ejecución en forma normal o por causa de un fallo, dicho fallo puede ser de softwareo de hardware.
2.1) Programas empotrados en hardware
Algunos programas están empotrados en el . Unaconrequiere un programa inicial almacenado en supara. El proceso de arranque es para identificar e iniciar todos y cada uno de los aspectos del sistema, desde los,hasta el contenido de la. Seguido del proceso de inicialización, este programa inicial carga ale inicia alpara comenzar las operaciones normales. Independiente de la computadora, unpodría tenerempotrado para el control de sus operaciones. El firmware se emplea cuando se espera que el programa cambie en extrañas ocasiones o jamás, o bien cuando el programa no debe perderse cuando haya ausencia de energía.
2.2) Programas cargados manualmente
Históricamente, los programas eran cargados al procesador central de forma manual a través de interruptores. Una instrucción se representaba por una configuración de estados de interruptores de abierto o cerrados. Después de establecer la configuración, se ejecutaba un botón de ejecución. Este proceso era repetitivo. También, los programas se cargaban manualmente a través de unao. Después de que se cargaba el programa, se establecía la dirección de inicio a través de interruptores y se presionaba el botón de ejecución.
2.3) Programas generados automáticamente
Laes un estilo deque creamediante,, plantillas, aspectos, ypara acrecentar la productividad del. El código fuente se produce contal como un procesador de plantilla o bien un. La manera más simple de un generador de código fuente es un procesador, tal como el, que reemplaza patrones de código fuente conforme a reglas parcialmente simples.
Un motor de software da de salida código fuente oque simultáneamente se vuelve la entrada de otro. Podemos meditar como analogía un proceso manejando a otro siendo el código máquina quemado como combustible. Losson motores de software que entregan aplicaciones a. Por ejemplo, unes un sevidor de aplicaciones que deja a los usuarios desarrollarensamblado a partir de. Las wikis producen,,, ylos cuales sonpor un.
2.4) Ejecución simultánea
Muchos programas pueden ejecutarse simultáneamente en exactamente la misma computadora, hecho al que se lo conoce como, pudiéndose lograr mediante mecanismos de softwareo de hardware. Los sistemas operativos modernos pueden ejecutar varios programas a través del— un mecanismo de softwareparacon frecuencia la cantidad de procesos del procesador de tal modo que los usuarios puedancon cada programa mientras estos están corriendo. También se puede conseguir la multitarea por medio del hardware; las computadoras modernas que utilizan múltiples procesadores o procesadores con múltiples núcleos pueden correr muchos programas al unísono.
Los programas se pueden clasificar aplicando criterios funcionales. Estas categorías funcionales sony. El softwarede sistema incluye alel cual acopla elcon el software de aplicación. El propósito del sistema operativo es proveer un entorno en el que el software de aplicación se ejecuta de una manera conveniente y eficiente. Además del sistema operativo, el softwarede sistema incluyeque asisten a manejar y configurar la computadora. Si un programa no es software de sistema entonces es softwarede aplicación. Eltambién es un softwarede aplicación que acopla el software de sistema con la. También son softwarede aplicación los programas utilitarios que ayudan a los usuarios a solucionar inconvenientes de aplicaciones, como por poner un ejemplo la necesidad de ordenamiento.
Back to top3) Véase también
Back to top4) Referencias
- Stair, Ralph M., et al. (2003). Principles of Information Systems, Sixth Edition(en inglés). Thomson Learning, Inc. p. 132. .
- Silberschatz, Abraham (mil novecientos noventa y cuatro). Operating System Concepts, Fourth Edition(en inglés). Addison-Wesley. p. 58. .
- Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition(en inglés). Addison-Wesley. p. 75. .
- ↑Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition(en inglés). Addison-Wesley. p. 213. .
- Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition(en inglés). Addison-Wesley. p. 244. .
- Silberschatz, Abraham (mil novecientos noventa y cuatro). Operating System Concepts, Fourth Edition(en inglés). Addison-Wesley. p. 30. .
- Tanenbaum, Andrew S. (mil novecientos noventa). Structured Computer Organization, Third Edition. Prentice Hall. p. 11. . (en inglés).
- Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition(en inglés). Addison-Wesley. p. 6. .
- Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition(en inglés). Addison-Wesley. p. 100. .
- Akhter, Shameem (dos mil seis). Multi-Core Programming(en inglés). Richard Bowles (Intel Press). pp. 11-trece. . .
- ↑Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition(en inglés). Addison-Wesley. p. 1. .
5) Bibliografía
- Knuth, Donald E. (). The Art of Computer Programming, Volume 1, 3rd Edition(en inglés). Boston: Addison-Wesley. .
- Knuth, Donald Y también. (). The Art of Computer Programming, Volume dos, 3rd Edition(en inglés). Boston: Addison-Wesley. .
- Knuth, Donald Y también. (). The Art of Computer Programming, Volume 3, 3rd Edition(en inglés). Boston: Addison-Wesley. .