Una colección completa de detalles del programa informático
Introducción básica Nombre chino: programa de computadora mbth: programa de computadora, también conocido como abreviatura de software: tipo de programa: introducción a las instrucciones de acción de la computadora, programa de script, operación del programa, arquitectura, datos del programa, algoritmo, desarrollo, introducción a computadoras Programa (inglés: programa de computadora) también se llama software (inglés: sofáre). Programa (inglés: programa) se refiere a un conjunto de instrucciones que instruye a una computadora u otro dispositivo con capacidades de procesamiento de información para que realice acciones o emita juicios. generalmente está escrito en un lenguaje de programación. Se ejecuta en una determinada arquitectura de destino. Por ejemplo, un programa es como una receta (programa) de cerdo estofado escrita en chino (lenguaje de programación), que se utiliza para guiar a las personas que entienden chino y la tecnología culinaria (arquitectura) para preparar este plato. Los programas de script generalmente requieren que los programas de computadora sean compilados y vinculados en un formato que es difícil de entender para los humanos pero que las computadoras pueden entender y luego ejecutar. Los programas que se ejecutan sin compilación suelen denominarse scripts. Ejecución del programa Para ejecutar un programa, la computadora carga el código del programa y posiblemente los datos, inicializándolo así a un estado de inicio y luego invoca algún mecanismo de inicio. En el nivel más bajo, estos se inician mediante la secuencia de inicio. En la mayoría de las computadoras, el sistema operativo (como Windows) carga y ejecuta muchos programas. En este contexto, programa de computadora se refiere a un único mapa ejecutable, no a todos los programas que se ejecutan actualmente en esa computadora. Una arquitectura de computadora basada en la arquitectura von Neumann más común (también conocida como arquitectura Harvard), en la que los programas se cargan en la computadora desde un dispositivo externo, generalmente un disco duro. Si la computadora elige la arquitectura von Neumann, entonces el programa se carga en la memoria. Una secuencia de instrucciones se ejecuta secuencialmente hasta que se ejecuta una instrucción de salto o bifurcación o se produce una interrupción. Todas estas instrucciones cambian el contenido del registro de instrucciones. Las computadoras basadas en este sistema no pueden funcionar sin el soporte del programa. Un programa de computadora es un conjunto de instrucciones. Las instrucciones de un programa se basan en lenguaje de máquina; los programas generalmente se escriben en un lenguaje de programación de computadoras y luego se traducen al lenguaje de máquina compilando el programa o interpretándolo y ejecutándolo. A veces, un programa también se puede escribir en lenguaje ensamblador, que es esencialmente un conjunto de símbolos que representan el lenguaje de máquina; en este caso, el programa utilizado para la traducción se llama ensamblador. El programa de datos del programa está definido. ¿Cómo definir datos? Los datos se pueden definir como información procesada por un programa. Cuando pensamos en los sistemas informáticos en su conjunto, a veces la distinción entre programas y datos no es tan clara. Las CPU a veces tienen un conjunto de microinstrucciones que controlan el hardware, los datos pueden ser programas para ejecutar (consulte lenguajes de secuencias de comandos) y los programas de escritura pueden escribir otros programas. Todos estos ejemplos hacen que la comparación entre programas y datos sea una elección de perspectiva; Algunos incluso afirman que no existe diferencia entre programas y datos. El proceso de escribir un programa para generar otro programa se llama metaprogramación. Se puede utilizar para permitir que un programa genere código basado en datos dados. Es posible que un solo programa no represente adecuadamente todos los aspectos de los datos proporcionados. Podría ser más fácil para un programa analizar estos datos y generar un nuevo programa para manejar todos los aspectos de estos datos. Lisp es un ejemplo de un lenguaje de programación que admite este modelo de programación. Los pesos almacenados en una red neuronal son un tipo de datos. Son estos datos de peso, junto con la topología de la red, los que definen el comportamiento de la red. A menudo resulta difícil definir qué representan estos datos o si pueden ser reemplazados por un programa. Este ejemplo y otras preguntas relacionadas con la inteligencia artificial examinan más a fondo la distinción entre programas y datos.
Un algoritmo se refiere a un método riguroso para resolver un problema, generalmente complementado con cierto grado de análisis de desempeño. El algoritmo puede ser puramente teórico o implementarse mediante un programa informático. Los algoritmos teóricos a menudo se dividen en diferentes categorías según la complejidad; los algoritmos implementados a menudo se perfilan para probar su rendimiento. Tenga en cuenta que, aunque un algoritmo es teóricamente válido y factible, una implementación deficiente aún puede desperdiciar valiosos recursos informáticos. (Consulte Teoría de la información algorítmica para obtener más detalles). Desarrollar y escribir programas es un proceso iterativo de escribir nuevo código fuente, probar, analizar y mejorar el código recién escrito y encontrar errores sintácticos y semánticos. Las personas que realizan este tipo de trabajo, llamadas programadores, se han vuelto más diversas, lo que ha dado lugar a diferentes tipos de programadores, cada uno con una división del trabajo y de tareas más detallada. Los ingenieros de software y los analistas de sistemas son dos ejemplos. El largo proceso de programación se denomina "desarrollo de software" o ingeniería de software. Este último se está volviendo cada vez más popular debido a la madurez de esta disciplina. Por lo tanto, el programador actual puede referirse a un experto en programación en un determinado campo, o puede referirse a un programador común que escribe un sistema de software complejo en una empresa de software. A veces, a un equipo de programadores que trabajan para una empresa de software se le asigna un líder de proyecto o un gerente de proyecto para monitorear el progreso del proyecto y la fecha de finalización. El software de gran tamaño suele pasar por una larga fase de diseño que los diseñadores de sistemas dominan antes de entregarlo a los desarrolladores. La programación cowboy (sin diseño detallado) es menospreciada. Uno de los dos enfoques comunes para el desarrollo de programas en la actualidad es el desarrollo de equipos de proyecto. De esta manera, cada miembro del equipo del proyecto puede expresar una opinión sobre el progreso del proyecto y un miembro puede coordinar diferentes opiniones. Un equipo de proyecto de este tipo suele tener unos 10 miembros, lo que se hace para facilitar la gestión. La segunda forma de desarrollo es el desarrollo en pareja.