Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa informático - Wikipedia, la enciclopedia libre
Programa informático - Wikipedia, la enciclopedia libre
Programación
La programación de computadoras
es el proceso iterativo de escribir o
#include <stdio.h>
editar código fuente. Dicha edición #include <conio.h>
implica probar, analizar y
int main(void) {
perfeccionar, y, a veces, coordinar printf("Hola Mundo!\n");
getch();
con otros programadores, en el return 0;
caso de un programa desarrollado }
class Program {
Los programas de ordenador se static void Main(string[] args) {
pueden clasificar según el Console.WriteLine("Hola Mundo!");
}
paradigma del lenguaje de }
programación utilizado para
producirlos. Dos de los principales Código fuente del programa Hola mundo escrito en el Lenguaje
paradigmas son imperativos y de programación C#
declarativos.
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.6 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.7 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.
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.8 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—.
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 porque el intérprete debe decodificar cada declaración cada vez que se carga y
luego realizar la acción deseada. Sin embargo, el desarrollo de software puede ser más rápido
usando un intérprete porque la prueba es inmediata cuando se omite el paso de la compilación.
Otra desventaja de los intérpretes es que debe estar presente al menos uno en la computadora
durante la ejecución del programa de computadora. Por el contrario, los programas de
computadora compilados no necesitan compilador presente durante la ejecución.
Ejecución simultánea
Véanse también: Proceso (informática) y Multiprocesamiento.
Muchos programas pueden ejecutarse simultáneamente en la misma computadora, hecho al cual
se lo conoce como multitarea, pudiéndose lograr mediante mecanismos de software o de
hardware. Los sistemas operativos modernos pueden ejecutar varios programas a través del
planificador de procesos — un mecanismo de software para conmutar con frecuencia la cantidad
de procesos del procesador de modo que los usuarios puedan interactuar con cada programa
mientras estos están corriendo.12 También se puede lograr la multitarea por medio del hardware;
las computadoras modernas que usan varios procesadores o procesadores con varios núcleos
pueden correr muchos programas a la vez.13
Categorías funcionales
Los programas se pueden categorizar aplicando criterios funcionales. Estas categorías funcionales
son software de sistema y software de aplicación. El software de sistema incluye al sistema
operativo el cual acopla el hardware con el software de aplicación.14 El propósito del sistema
operativo es proveer un ambiente en el cual el software de aplicación se ejecuta de una manera
conveniente y eficiente.14 Además del sistema operativo, el software de sistema incluye
programas utilitarios que ayudan a manejar y configurar la computadora. Si un programa no es
software de sistema entonces es software de aplicación. El middleware también es un software de
aplicación que acopla el software de sistema con la interfaz de usuario. También son software de
aplicación los programas utilitarios que ayudan a los usuarios a resolver problemas de
aplicaciones, como por ejemplo la necesidad de ordenamiento.
Véase también
Algoritmo para la relación entre los programas informáticos y algoritmos
Aplicación informática
Virus informático
Estructura de datos
Inteligencia artificial
Sistema multi-agente
Referencias
chive.org/details/principlesofinfo0000stai_u1
1. https://cursos.aiu.edu/Programacion%20de%20Computadoras/PDF/Tema%201.pdf
z2) (en inglés). Thomson Learning, Inc.
(Español) p. 132 (https://archive.org/details/principlesof
2. Stair, Ralph M., et al. (2003). Principles of info0000stai_u1z2/page/132). ISBN 0-619-
Information Systems, Sixth Edition (https://ar 06489-7.
3. Silberschatz, Abraham (1994). Operating (https://archive.org/details/comparativeprogr
System Concepts, Fourth Edition (en inglés). 0000wils/page/244). ISBN 0-201-56885-3.
Addison-Wesley. p. 58. ISBN 0-201-50480-4. 8. «What is a Compiler?» (http://lambda.uta.ed
4. «Algorithms and Computer Programming» (h u/cse5317/notes/node3.html) (en inglés).
ttps://web.archive.org/web/20180808210054/ Consultado el 10 de enero de 2012.
http://www.cs.grinnell.edu/~davisjan/csc/105/ 9. Silberschatz, Abraham (1994). Operating
2012S/readings/programming.html) (en System Concepts, Fourth Edition (en inglés).
inglés). Archivado desde el original (http://w Addison-Wesley. p. 30. ISBN 0-201-50480-4.
ww.cs.grinnell.edu/~davisjan/csc/105/2012S/ 10. Tanenbaum, Andrew S. (1990). Structured
readings/programming.html) el 8 de agosto Computer Organization, Third Edition.
de 2018. Consultado el 8 de setiembre de Prentice Hall. p. 11. ISBN 0-13-854662-2. (en
2014. inglés).
5. Wilson, Leslie B. (1993). Comparative 11. Silberschatz, Abraham (1994). Operating
Programming Languages, Second Edition (ht System Concepts, Fourth Edition (en inglés).
tps://archive.org/details/comparativeprogr00 Addison-Wesley. p. 6. ISBN 0-201-50480-4.
00wils) (en inglés). Addison-Wesley. pp. 75
(https://archive.org/details/comparativeprogr 12. Silberschatz, Abraham (1994). Operating
System Concepts, Fourth Edition (en inglés).
0000wils/page/75). ISBN 0-201-56885-3.
Addison-Wesley. p. 100. ISBN 0-201-50480-4.
6. Wilson, Leslie B. (1993). Comparative
13. Akhter, Shameem (2006). Multi-Core
Programming Languages, Second Edition (ht
tps://archive.org/details/comparativeprogr00 Programming (https://archive.org/details/mult
icoreprogram0000akht_v9s4) (en inglés).
00wils) (en inglés). Addison-Wesley. pp. 213
Richard Bowles (Intel Press). pp. 11 (https://
(https://archive.org/details/comparativeprogr
0000wils/page/213). ISBN 0-201-56885-3. archive.org/details/multicoreprogram0000ak
ht_v9s4/page/11)-13. ISBN 0-9764832-4-6..
7. Wilson, Leslie B. (1993). Comparative
Programming Languages, Second Edition (ht 14. Silberschatz, Abraham (1994). Operating
System Concepts, Fourth Edition (en inglés).
tps://archive.org/details/comparativeprogr00
Addison-Wesley. p. 1. ISBN 0-201-50480-4.
00wils) (en inglés). Addison-Wesley. pp. 244
Bibliografía
Knuth, Donald E. (1997). The Art of Computer Programming, Volume 1, 3rd Edition (en inglés).
Boston: Addison-Wesley. ISBN 0-201-89683-4.
Knuth, Donald E. (1997). The Art of Computer Programming, Volume 2, 3rd Edition (en inglés).
Boston: Addison-Wesley. ISBN 0-201-89684-2.
Knuth, Donald E. (1997). The Art of Computer Programming, Volume 3, 3rd Edition (en inglés).
Boston: Addison-Wesley. ISBN 0-201-89685-0.
Enlaces externos
Definición de "Programa" (http://www.webopedia.com/TERM/P/program.html) en Webopedia
(en inglés)
Definición de "Computer Program" (https://web.archive.org/web/20141017220444/http://diction
ary.reference.com/browse/computer%20program) en dictionary.com (en inglés)
Esta obra contiene una traducción total derivada de «Computer program» de Wikipedia en
inglés, concretamente de esta versión (https://en.wikipedia.org/wiki/Computer_program?oldid=
624757519), publicada por sus editores (https://en.wikipedia.org/wiki/Computer_program?actio
n=history) bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons
Atribución-CompartirIgual 4.0 Internacional (https://creativecommons.org/licenses/by-sa/4.0/de
ed.es).
Obtenido de «https://es.wikipedia.org/w/index.php?title=Programa_informático&oldid=159341446»