Documente Academic
Documente Profesional
Documente Cultură
Ir a la navegación Ir a la búsqueda
Artículo principal: Software
Véase también: Aplicación informática
Índice
1 Programación
o 1.1 Paradigmas
o 1.2 Compilado o interpretando
o 1.3 Programas que se automodifican
2 Ejecución y almacenamiento de los programas
o 2.1 Programas empotrados en hardware
o 2.2 Programas cargados manualmente
o 2.3 Programas generados automáticamente
o 2.4 Ejecución simultánea
3 Categorías funcionales
4 Véase también
5 Referencias
6 Bibliografía
7 Enlaces externos
Programación
Artículo principal: Programación
#include <stdio.h>
#include <conio.h>
int main(void) {
printf("Hola Mundo!\n");
getch();
return 0;
}
Código fuente del programa Hola mundo escrito en el Lenguaje de
programación C
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hola Mundo!");
}
}
Código fuente del programa Hola mundo escrito en el Lenguaje de
programación Java
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("Hola Mundo!");
}
}
Código fuente del programa Hola mundo escrito en el Lenguaje de
programación C#
Paradigmas
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.6 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
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
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.13 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.13 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
Archivo cabra para un tipo específico de programa informático utilizado solo para
liberar y estudiar los efectos de virus informáticos en los sistemas físicos y virtuales
Estructura de datos
Inteligencia artificial
Sistema multi-agente
Software
Software de aplicación