Articulo de referencia

Glosario de informática

Este glosario de informática es una lista de definiciones de términos y conceptos utilizados en informática , sus subdisciplinas y campos relacionados, incluyendo términos relev...

Este glosario de informática es una lista de definiciones de términos y conceptos utilizados en informática , sus subdisciplinas y campos relacionados, incluyendo términos relevantes para el software , la ciencia de datos y la programación informática..

A

tipo de dato abstracto (TDA)
Un modelo matemático para tipos de datos en el que un tipo de dato se define por su comportamiento ( semántica ) desde la perspectiva del usuario , específicamente en términos de valores posibles, operaciones posibles sobre datos de este tipo y el comportamiento de dichas operaciones. Esto contrasta con las estructuras de datos , que son representaciones concretas de datos desde la perspectiva del implementador, en lugar de la del usuario.
método abstracto
Uno que solo tiene una firma y no un cuerpo de implementación . Se usa a menudo para especificar que una subclase debe proporcionar una implementación del método. Los métodos abstractos se usan para especificar interfaces en algunos lenguajes de programación. [ 1 ]
abstracción
1. En ingeniería de software y ciencias de la computación , el proceso de eliminar detalles físicos, espaciales o temporales [ 2 ] o atributos en el estudio de objetos o sistemas para prestar más atención a otros detalles de interés; [ 3 ] también es muy similar en naturaleza al proceso de generalización .  
2. El resultado de este proceso: un concepto abstracto - objeto creado al conservar características o atributos comunes a varios objetos concretos o sistemas de estudio. [ 3 ]  
arquitectura de agentes
Un plano para agentes de software y sistemas de control inteligentes que muestra la disposición de los componentes. Las arquitecturas implementadas por los agentes inteligentes se denominan arquitecturas cognitivas . [ 4 ]
modelo basado en agentes (ABM)
Una clase de modelos computacionales para simular las acciones e interacciones de agentes autónomos (tanto entidades individuales como colectivas, como organizaciones o grupos) con el fin de evaluar sus efectos en el sistema en su conjunto. Combina elementos de la teoría de juegos , sistemas complejos , emergencia , sociología computacional , sistemas multiagente y programación evolutiva . Se utilizan métodos de Monte Carlo para introducir aleatoriedad.
función agregada
En la gestión de bases de datos , una función en la que los valores de varias filas se agrupan para formar un único valor de significado o medición más significativo, como una suma, un recuento o un máximo. [ 5 ]
desarrollo ágil de software
Un enfoque para el desarrollo de software en el que los requisitos y las soluciones evolucionan a través del esfuerzo colaborativo de equipos autoorganizados y multifuncionales y sus clientes / usuarios finales . [ 6 ] Promueve la planificación adaptativa, el desarrollo evolutivo, la entrega temprana y la mejora continua , y fomenta una respuesta rápida y flexible al cambio. [ 7 ]
algoritmo
Una especificación inequívoca de cómo resolver una clase de problemas. Los algoritmos pueden realizar cálculos , procesamiento de datos y tareas de razonamiento automatizado . Son omnipresentes en las tecnologías informáticas.
diseño de algoritmos
Método o proceso matemático para la resolución de problemas y el diseño de algoritmos . El diseño de algoritmos forma parte de numerosas teorías de solución en la investigación operativa , como la programación dinámica y la estrategia de divide y vencerás . Las técnicas para diseñar e implementar algoritmos también se denominan patrones de diseño de algoritmos, [ 8 ] como el patrón de método plantilla y el patrón decorador.
eficiencia algorítmica
Una propiedad de un algoritmo que se relaciona con la cantidad de recursos computacionales que utiliza. Un algoritmo debe analizarse para determinar su uso de recursos, y su eficiencia puede medirse en función del uso de diferentes recursos. La eficiencia algorítmica puede considerarse análoga a la productividad de la ingeniería en un proceso repetitivo o continuo.
Código estándar estadounidense para el intercambio de información (ASCII)
ASCII es un estándar de codificación de caracteres para comunicaciones electrónicas. Los códigos ASCII representan texto en computadoras, equipos de telecomunicaciones y otros dispositivos. La mayoría de los sistemas modernos de codificación de caracteres se basan en ASCII, aunque admiten muchos caracteres adicionales.
interfaz de programación de aplicaciones (API)
Un conjunto de definiciones de subrutinas , protocolos de comunicación y herramientas para la creación de software . En términos generales, se trata de un conjunto de métodos de comunicación claramente definidos entre diversos componentes. Una buena API facilita el desarrollo de un programa informático al proporcionar todos los bloques de construcción, que luego el programador ensambla .
software de aplicación
Software informático diseñado para realizar un conjunto de funciones, tareas o actividades coordinadas en beneficio del usuario . Algunos ejemplos comunes de aplicaciones incluyen procesadores de texto , hojas de cálculo , aplicaciones de contabilidad , navegadores web , reproductores multimedia , simuladores de vuelo aeronáutico, videojuegos y editores de fotos . Esto contrasta con el software de sistema , que se encarga principalmente de gestionar las operaciones básicas del ordenador, a menudo sin la intervención directa del usuario. El término « software de aplicación» se refiere a todas las aplicaciones en conjunto. [ 9 ]
estructura de datos de matriz
Una estructura de datos que consiste en una colección de elementos ( valores o variables ), cada uno identificado por al menos un índice o clave de matriz. Una matriz se almacena de tal manera que la posición de cada elemento se puede calcular a partir de su tupla de índice mediante una fórmula matemática. [ 10 ] [ 11 ] [ 12 ] El tipo más simple de estructura de datos es una matriz lineal, también llamada matriz unidimensional.
artefacto
Uno de los muchos tipos de subproductos tangibles generados durante el desarrollo de software . Algunos artefactos (por ejemplo , casos de uso , diagramas de clases y otros modelos del Lenguaje Unificado de Modelado (UML), requisitos y documentos de diseño) ayudan a describir la función, la arquitectura y el diseño del software. Otros artefactos se refieren al proceso de desarrollo en sí, como los planes de proyecto, los casos de negocio y las evaluaciones de riesgos.
inteligencia artificial (IA)
Inteligencia demostrada por las máquinas , en contraste con la inteligencia natural que muestran los humanos y otros animales. En informática , la investigación en IA se define como el estudio de " agentes inteligentes ": dispositivos capaces de percibir su entorno y tomar acciones que maximicen la probabilidad de alcanzar con éxito sus objetivos. [ 13 ] Coloquialmente, el término "inteligencia artificial" se aplica cuando una máquina imita funciones "cognitivas" que los humanos asocian con otras mentes humanas , como el "aprendizaje" y la "resolución de problemas". [ 14 ]
ASCII
Consulte el Código Estándar Estadounidense para el Intercambio de Información .
afirmación
En programación informática , una aserción indica que un predicado ( una función booleana , es decir, una expresión booleana ) siempre es verdadero en un punto específico de la ejecución del código. Puede ayudar al programador a leer el código, al compilador a compilarlo o al programa a detectar sus propios errores. En este último caso, algunos programas comprueban las aserciones evaluando el predicado durante su ejecución y, si no es verdadero (un fallo de aserción), el programa se considera defectuoso y, por lo general, se bloquea deliberadamente o lanza una excepción de fallo de aserción .
matriz asociativa
Un array asociativo, mapa, tabla de símbolos o diccionario es un tipo de dato abstracto compuesto por una colección de pares (clave, valor) , de modo que cada clave posible aparece como máximo una vez en la colección. Las operaciones asociadas con este tipo de dato permiten: [ 15 ] [ 16 ]
  • la incorporación de un par a la colección
  • la eliminación de un par de la colección
  • la modificación de un par existente
  • la búsqueda de un valor asociado a una clave particular
teoría de autómatas
El estudio de máquinas abstractas y autómatas , así como de los problemas computacionales que pueden resolverse mediante ellos. Es una teoría de la informática teórica y las matemáticas discretas (un campo de estudio tanto en matemáticas como en informática ).
razonamiento automatizado
Un área de la informática y la lógica matemática dedicada a comprender diferentes aspectos del razonamiento . El estudio del razonamiento automatizado ayuda a crear programas informáticos que permiten a las computadoras razonar de forma completa o casi completa automáticamente. Si bien el razonamiento automatizado se considera un subcampo de la inteligencia artificial , también tiene conexiones con la informática teórica e incluso con la filosofía .

B

ancho de banda
La velocidad máxima de transferencia de datos a través de una ruta determinada. El ancho de banda puede caracterizarse como ancho de banda de red , [ 17 ] ancho de banda de datos , [ 18 ] o ancho de banda digital . [ 19 ] [ 20 ]
Programación bayesiana
Un formalismo y una metodología para disponer de una técnica que permita especificar modelos probabilísticos y resolver problemas cuando se dispone de información insuficiente.
punto de referencia
El acto de ejecutar un programa informático , un conjunto de programas u otras operaciones, con el fin de evaluar el rendimiento relativo de un objeto, normalmente mediante la ejecución de una serie de pruebas y ensayos estándar sobre él. [ 21 ] El término benchmark también se utiliza comúnmente para referirse a los propios programas de benchmarking diseñados con gran detalle.
mejor caso, peor caso y caso promedio
Expresiones que indican el uso de recursos como mínimo , máximo y promedio , respectivamente, para un algoritmo dado . Generalmente, el recurso considerado es el tiempo de ejecución, es decir, la complejidad temporal , pero también podría ser la memoria u otro recurso. El mejor caso es la función que realiza el mínimo número de pasos sobre datos de entrada de n elementos; el peor caso es la función que realiza el máximo número de pasos sobre datos de entrada de tamaño n ; el caso promedio es la función que realiza un número promedio de pasos sobre datos de entrada de n elementos.
macrodatos
Término utilizado para referirse a conjuntos de datos demasiado grandes o complejos para que el software de procesamiento de datos tradicional los gestione adecuadamente. Los datos con muchos casos (filas) ofrecen mayor potencia estadística , mientras que los datos con mayor complejidad (más atributos o columnas) pueden generar una mayor tasa de falsos positivos . [ 22 ]
notación de la gran O
Una notación matemática que describe el comportamiento límite de una función cuando el argumento tiende hacia un valor particular o hacia el infinito. Es miembro de una familia de notaciones inventadas por Paul Bachmann , [ 23 ] Edmund Landau , [ 24 ] y otros, denominadas colectivamente notación de Bachmann-Landau o notación asintótica .
número binario
En matemáticas y electrónica digital , un número expresado en el sistema numérico de base 2 o sistema numérico binario, que utiliza solo dos símbolos: normalmente 0 (cero) y 1 (uno) .
algoritmo de búsqueda binaria
Un algoritmo de búsqueda que encuentra la posición de un valor objetivo dentro de una matriz ordenada . [ 28 ]
árbol binario
Una estructura de datos de árbol en la que cada nodo tiene como máximo dos hijos , que se denominanniño izquierdo y elhijo derecho . Unadefinición recursivaque utiliza únicamentede teoría de conjuntoses que un árbol binario (no vacío) es unatupla(L,S,R), dondeLyRson árboles binarios o elconjunto vacíoySes unconjunto unitario. [ 29 ] Algunos autores también permiten que el árbol binario sea el conjunto vacío. [ 30 ]
bioinformática
La bioinformática es un campo interdisciplinario que combina biología , informática , ingeniería de la información , matemáticas y estadística para desarrollar métodos y herramientas de software para el análisis e interpretación de datos biológicos. Se utiliza ampliamente para el análisis in silico de consultas biológicas mediante técnicas matemáticas y estadísticas.
poco
Unidad básica de información utilizada en informática y comunicaciones digitales; acrónimo de dígito binario . Un dígito binario puede tener uno de dos valores posibles y puede representarse físicamente con un dispositivo de dos estados. Estos valores de estado se representan comúnmente como 0 o 1. [ 31 ]
tasa de bits ( R )
En telecomunicaciones e informática , el número de bits que se transmiten o procesan por unidad de tiempo. [ 32 ]
lista negra
En informática , una lista blanca es un mecanismo básico de control de acceso que permite el paso de todos los elementos (direcciones de correo electrónico, usuarios, contraseñas, URL , direcciones IP , nombres de dominio , hashes de archivos , etc.), excepto aquellos mencionados explícitamente en una lista de elementos prohibidos. A estos elementos se les deniega el acceso. Lo opuesto es una lista blanca , que significa que solo los elementos de la lista pueden pasar por la puerta de enlace que se esté utilizando, mientras que todos los demás elementos están bloqueados. Una lista gris contiene elementos que se bloquean temporalmente (o se permiten temporalmente) hasta que se realiza un paso adicional.
formato de archivo BMP
Formato de archivo de imagen de gráficos rasterizados utilizado para almacenar imágenes digitales de mapa de bits independientemente del dispositivo de visualización (como un adaptador gráfico ), utilizado especialmente en los sistemas operativos Microsoft Windows [ 33 ] y OS/2 [ 34 ] .
Tipo de datos booleano
Un tipo de dato que tiene uno de dos valores posibles (generalmente denotados verdadero y falso ), destinado a representar los dos valores de verdad de la lógica y el álgebra booleana . Recibe su nombre de George Boole , quien definió por primera vez un sistema algebraico de lógica a mediados del siglo XIX. El tipo de dato booleano se asocia principalmente con sentencias condicionales , que permiten diferentes acciones al cambiar el flujo de control dependiendo de si una condición booleana especificada por el programador se evalúa como verdadera o falsa. [ 35 ] Es un caso especial de un tipo de dato lógico más general (véase lógica proposicional ); es decir, la lógica no siempre tiene que ser booleana.
Expresión booleana
Una expresión utilizada en un lenguaje de programación que devuelve un valor booleano al evaluarse, es decir, verdadero o falso . Una expresión booleana puede estar compuesta por una combinación de las constantes booleanas verdadero o falso , variables de tipo booleano , operadores con valores booleanos y funciones con valores booleanos . [ 36 ]
Álgebra booleana
En matemáticas y lógica matemática , la rama del álgebra en la que los valores de las variables son los valores de verdad verdadero y falso , generalmente denotados como 1 y 0, respectivamente. A diferencia del álgebra elemental , donde los valores de las variables son números y las operaciones principales son la suma y la multiplicación, las operaciones principales del álgebra booleana son la conjunción y (denotada como ∧), la disyunción y (denotada como ∨) y la negación y no (denotada como ¬). [ 37 ] Es, por lo tanto, un formalismo para describir relaciones lógicas de la misma manera que el álgebra elemental describe relaciones numéricas.
byte
Una unidad de información digital que generalmente consta de ocho bits , que representan un número binario . Históricamente, el byte era el número de bits utilizados para codificar un solo carácter de texto en una computadora [ 38 ] [ 39 ] y por esta razón es la unidad de memoria direccionable más pequeña en muchas arquitecturas de computadoras .
arranque
Los procedimientos implementados para encender un ordenador o dispositivo informático hasta que esté listo para su uso. Se pueden iniciar mediante hardware, como pulsar un botón, o mediante un comando de software. Una vez encendido, el ordenador es relativamente básico y solo puede leer una parte de su almacenamiento, denominada memoria de solo lectura . Allí se almacena un pequeño programa llamado firmware . Este programa realiza autodiagnósticos al encenderse y, lo más importante, permite el acceso a otros tipos de memoria, como el disco duro y la memoria principal . El firmware carga programas más grandes en la memoria principal del ordenador y los ejecuta.

do

llamar de vuelta
Cualquier código ejecutable que se pase como argumento a otro código que se espera que "devuelva" (ejecute) dicho argumento en un momento dado. Esta ejecución puede ser inmediata, como en una devolución de llamada síncrona , o puede ocurrir más tarde, como en una devolución de llamada asíncrona .
unidad central de procesamiento (CPU)
Circuitos electrónicos dentro de una computadora que ejecutan las instrucciones de un programa informático mediante la realización de las operaciones básicas de aritmética, lógica, control y entrada/salida (E/S) especificadas por las instrucciones. La industria informática ha utilizado el término "unidad central de procesamiento" al menos desde principios de la década de 1960. [ 40 ] Tradicionalmente, el término "CPU" se refiere a un procesador , más específicamente a su unidad de procesamiento y unidad de control (UC), distinguiendo estos elementos centrales de una computadora de componentes externos como la memoria principal y los circuitos de E/S. [ 41 ]
personaje
Una unidad de información que se corresponde aproximadamente con un grafema , una unidad similar a un grafema o un símbolo, como en un alfabeto o silabario en la forma escrita de una lengua natural . [ 42 ]
CI/CD
Ver: integración continua (CI) / entrega continua (CD) .
cifrar
En criptografía , un algoritmo para realizar cifrado o descifrado es una serie de pasos bien definidos que se pueden seguir como un procedimiento .
clase
En la programación orientada a objetos , una plantilla de código de programa extensible para crear objetos , que proporciona valores iniciales para el estado ( variables miembro ) e implementaciones de comportamiento (funciones miembro o métodos ). [ 43 ] [ 44 ] En muchos lenguajes, el nombre de la clase se utiliza como nombre de la clase (la plantilla en sí), nombre del constructor predeterminado de la clase (una subrutina que crea objetos) y como el tipo de objetos generados al instanciar la clase; estos conceptos distintos se confunden fácilmente. [ 44 ]
programación basada en clases
Un estilo de programación orientada a objetos (POO) en el que la herencia se produce mediante la definición de " clases " de objetos , en lugar de mediante los objetos solo (compárese con la programación basada en prototipos ).
cliente
Un componente de hardware o software informático que accede a un servicio proporcionado por un servidor . El servidor suele estar (aunque no siempre) en otro sistema informático , en cuyo caso el cliente accede al servicio a través de una red . [ 45 ] El término se refiere al papel que desempeñan los programas o dispositivos en el modelo cliente-servidor .
Ingeniería de software para salas blancas
Un proceso de desarrollo de software destinado a producir software con un nivel de fiabilidad certificable . El proceso de sala limpia fue desarrollado originalmente por Harlan Mills y varios de sus colegas, entre ellos Alan Hevner en IBM . [ 46 ] El enfoque del proceso de sala limpia está en la prevención de defectos, en lugar de la eliminación de defectos.
cierre
Una técnica para implementar la vinculación de nombres con ámbito léxico en un lenguaje con funciones de primera clase . Operacionalmente , un cierre es un registro que almacena una función [ a ] junto con un entorno. [ 47 ]
computación en la nube
Conjuntos compartidos de recursos de sistemas informáticos configurables y servicios de nivel superior que se pueden aprovisionar rápidamente con un mínimo esfuerzo de gestión, a menudo a través de Internet . La computación en la nube se basa en el uso compartido de recursos para lograr coherencia y economías de escala , de forma similar a un servicio público .
biblioteca de código
Conjunto de recursos no volátiles utilizados por programas informáticos , a menudo para el desarrollo de software . Estos pueden incluir datos de configuración, documentación, datos de ayuda, plantillas de mensajes, código y subrutinas preescritas , clases , valores o especificaciones de tipo . En el sistema operativo OS/360 de IBM y sus sucesores, se denominan conjuntos de datos particionados .
codificación
La programación informática es el proceso de diseñar y construir un programa ejecutable para realizar una tarea computacional específica . La programación implica tareas como el análisis, la generación de algoritmos , la evaluación de la precisión y el consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación [ 48 ] [ 49 ] ). El código fuente de un programa se escribe en uno o más lenguajes de programación. El objetivo de la programación es encontrar una secuencia de instrucciones que automatice la ejecución de una tarea para resolver un problema dado. Por lo tanto, el proceso de programación a menudo requiere conocimientos especializados en varias áreas, incluyendo el dominio de la aplicación , algoritmos especializados y lógica formal .
teoría de la codificación
El estudio de las propiedades de los códigos y su idoneidad para aplicaciones específicas. Los códigos se utilizan para la compresión de datos , la criptografía , la detección y corrección de errores , la transmisión y el almacenamiento de datos . Diversas disciplinas científicas, como la teoría de la información , la ingeniería eléctrica , las matemáticas , la lingüística y la informática , estudian los códigos con el fin de diseñar métodos de transmisión de datos eficientes y fiables. Esto suele implicar la eliminación de redundancias y la corrección o detección de errores en los datos transmitidos.
ciencia cognitiva
El estudio científico e interdisciplinario de la mente y sus procesos. [ 50 ] Examina la naturaleza, las tareas y las funciones de la cognición (en un sentido amplio). Los científicos cognitivos estudian la inteligencia y el comportamiento, centrándose en cómo los sistemas nerviosos representan, procesan y transforman la información . Las facultades mentales de interés para los científicos cognitivos incluyen el lenguaje, la percepción, la memoria, la atención, el razonamiento y la emoción; para comprender estas facultades, los científicos cognitivos recurren a campos como la lingüística, la psicología, la inteligencia artificial , la filosofía , la neurociencia y la antropología. [ 51 ]
recopilación
Una colección o contenedor es una agrupación de un número variable de elementos de datos (posiblemente cero) que comparten alguna relevancia para el problema que se está resolviendo y que deben procesarse conjuntamente de forma controlada. Generalmente, los elementos de datos serán del mismo tipo o, en lenguajes que admiten herencia, derivados de un tipo ancestro común. El concepto de colección se aplica a tipos de datos abstractos y no prescribe una implementación específica como estructura de datos concreta , aunque suele haber una opción convencional (véase Contenedor para más información sobre la teoría de tipos ).
valores separados por comas (CSV)
Un archivo de texto delimitado que utiliza una coma para separar los valores. Un archivo CSV almacena datos tabulares (números y texto) en texto plano . Cada línea del archivo es un registro de datos . Cada registro consta de uno o más campos , separados por comas . El uso de la coma como separador de campos es el origen del nombre de este formato de archivo .
compilador
Un programa informático transforma el código escrito en un lenguaje de programación (el lenguaje fuente) en otro (el lenguaje destino). Los compiladores son un tipo de traductor que da soporte a dispositivos digitales, principalmente ordenadores. El término compilador se utiliza principalmente para programas que traducen el código fuente de un lenguaje de programación de alto nivel a un lenguaje de bajo nivel (por ejemplo , lenguaje ensamblador , código objeto o código máquina ) para crear un programa ejecutable . [ 52 ]
teoría de la computabilidad
También conocida como teoría de la recursión , es una rama de la lógica matemática , la informática y la teoría de la computación que se originó en la década de 1930 con el estudio de las funciones computables y los grados de Turing . Desde entonces, el campo se ha expandido para incluir el estudio de la computabilidad y la definibilidad generalizadas. En estas áreas, la teoría de la recursión se solapa con la teoría de la demostración y la teoría de conjuntos descriptiva efectiva .
cálculo
Cualquier tipo de cálculo [ 53 ] [ 54 ] que incluya pasos tanto aritméticos como no aritméticos y siga un modelo bien definido , por ejemplo, un algoritmo . El estudio de la computación es fundamental para la disciplina de la informática .
biología computacional
Implica el desarrollo y la aplicación de métodos teóricos y analíticos de datos, modelado matemático y técnicas de simulación computacional para el estudio de sistemas biológicos, ecológicos, conductuales y sociales. [ 55 ] El campo se define ampliamente e incluye fundamentos en biología , matemáticas aplicadas , estadística , bioquímica , química , biofísica , biología molecular , genética , genómica , informática y evolución . [ 56 ] La biología computacional es diferente de la computación biológica , que es un subcampo de la informática y la ingeniería informática que utiliza la bioingeniería y la biología para construir computadoras .
química computacional
Rama de la química que utiliza la simulación por ordenador para resolver problemas químicos. Emplea métodos de química teórica , integrados en programas informáticos eficientes , para calcular las estructuras y propiedades de moléculas y sólidos.
teoría de la complejidad computacional
Un subcampo de la ciencia computacional que se centra en clasificar los problemas computacionales según su dificultad inherente y relacionar estas clases entre sí. Un problema computacional es una tarea que resuelve una computadora. Un problema computacional se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo .
modelo computacional
Un modelo matemático en ciencias computacionales que requiere amplios recursos computacionales para estudiar el comportamiento de un sistema complejo mediante simulación por computadora . [ 57 ]
neurociencia computacional
Una rama de la neurociencia que emplea modelos matemáticos, análisis teóricos y abstracciones del cerebro para comprender los principios que rigen el desarrollo , la estructura , la fisiología y las capacidades cognitivas del sistema nervioso . [ 58 ] [ 59 ] [ 60 ] [ 61 ]
física computacional
Es el estudio y la implementación del análisis numérico para resolver problemas en física para los cuales ya existe una teoría cuantitativa . [ 62 ] Históricamente, la física computacional fue la primera aplicación de las computadoras modernas en la ciencia, y ahora es un subconjunto de la ciencia computacional .
ciencia computacional
Un campo interdisciplinario que utiliza capacidades informáticas avanzadas para comprender y resolver problemas complejos. Es un área de la ciencia que abarca muchas disciplinas, pero en esencia implica el desarrollo de modelos y simulaciones informáticas para comprender sistemas naturales complejos.
dirección computacional
Es la práctica de intervenir manualmente en un proceso computacional que de otro modo sería autónomo , para cambiar su resultado.
computadora
Un dispositivo que puede programarse para realizar secuencias de operaciones aritméticas o lógicas automáticamente mediante programación informática . Los ordenadores modernos tienen la capacidad de seguir conjuntos generalizados de operaciones, denominados programas . Estos programas permiten a los ordenadores realizar una amplia gama de tareas.
arquitectura de computadoras
Conjunto de reglas y métodos que describen la funcionalidad, la organización y la implementación de sistemas informáticos . Algunas definiciones de arquitectura la definen como la descripción de las capacidades y el modelo de programación de una computadora, pero no una implementación particular. [ 63 ] En otras definiciones, la arquitectura de computadoras incluye el diseño de la arquitectura del conjunto de instrucciones , el diseño de la microarquitectura , el diseño lógico y la implementación . [ 64 ]
almacenamiento de datos informáticos
Tecnología que consta de componentes informáticos y soportes de grabación utilizados para conservar datos digitales . El almacenamiento de datos es una función esencial y un componente fundamental de todos los sistemas informáticos modernos. [ 65 ] : 15–16
ética informática
Una parte de la filosofía práctica que se ocupa de cómo los profesionales de la informática deben tomar decisiones con respecto a la conducta profesional y social. [ 66 ]
gráficos por computadora
Imágenes y películas creadas mediante ordenadores. Generalmente, el término se refiere a datos de imagen generados por ordenador con la ayuda de hardware y software gráficos especializados. Es un área extensa y de reciente desarrollo dentro de la informática.
red informática
Una red de telecomunicaciones digital permite que los nodos compartan recursos. En las redes informáticas, los dispositivos informáticos intercambian datos entre sí mediante conexiones ( enlaces de datos ) entre nodos. Estos enlaces de datos se establecen a través de medios cableados, como cables de fibra óptica, o medios inalámbricos , como Wi-Fi .
programa informático
Es una colección de instrucciones [ 67 ] que puede ejecutar una computadora para realizar una tarea específica.
programación informática
El proceso de diseñar y construir un programa informático ejecutable para realizar una tarea computacional específica . La programación implica tareas como el análisis, la generación de algoritmos , la evaluación de la precisión y el consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación [ 48 ] [ 49 ] ). El código fuente de un programa se escribe en uno o más lenguajes de programación. El propósito de la programación es encontrar una secuencia de instrucciones que automatice la ejecución de una tarea para resolver un problema dado. Por lo tanto, el proceso de programación a menudo requiere experiencia en varias materias diferentes, incluyendo el conocimiento del dominio de aplicación , algoritmos especializados y lógica formal .
Ciencias de la Computación
La teoría, la experimentación y la ingeniería que constituyen la base del diseño y el uso de las computadoras . Implica el estudio de algoritmos que procesan, almacenan y comunican información digital . Un científico informático se especializa en la teoría de la computación y el diseño de sistemas computacionales. [ 68 ]
científico informático
Persona que ha adquirido conocimientos de informática , el estudio de los fundamentos teóricos de la información y la computación y su aplicación.
seguridad informática
La protección de los sistemas informáticos contra el robo o el daño de su hardware , software o datos electrónicos , así como contra la interrupción o el uso indebido de los servicios que prestan.
visión por computadora
Un campo científico interdisciplinario que se ocupa de cómo se puede lograr que las computadoras obtengan una comprensión de alto nivel a partir de imágenes o videos digitales . Desde la perspectiva de la ingeniería, busca automatizar tareas que el sistema visual humano puede realizar. [ 70 ] [ 71 ] [ 72 ]
computación
Es cualquier actividad orientada a un objetivo que requiere, se beneficia de o crea maquinaria informática. Incluye el estudio de procesos algorítmicos y el desarrollo tanto de hardware como de software . Tiene aspectos científicos, de ingeniería, matemáticos, tecnológicos y sociales. Los principales campos de la informática incluyen la ingeniería informática , la ciencia de la computación , la ciberseguridad , la ciencia de datos , los sistemas de información , la tecnología de la información y la ingeniería de software . [ 73 ]
concatenación
Literalmente, "una cadena unida" o el proceso de unir cosas. En la teoría del lenguaje formal y la programación de computadoras , la concatenación de cadenas es la operación de unir cadenas de caracteres de extremo a extremo . Por ejemplo, la concatenación de "nieve" y "bola" es "bola de nieve". [ 74 ] En ciertas formalizaciones de la teoría de la concatenación , también llamada teoría de cadenas, la concatenación de cadenas es una noción primitiva .
Concurrencia
La capacidad de diferentes partes o unidades de un programa, algoritmo o problema para ejecutarse fuera de orden o en orden parcial, sin afectar el resultado final. Esto permite la ejecución paralela de las unidades concurrentes, lo que puede mejorar significativamente la velocidad general de ejecución en sistemas multiprocesador y multinúcleo. En términos más técnicos, la concurrencia se refiere a la propiedad de descomposición de un programa, algoritmo o problema en componentes o unidades independientes del orden o parcialmente ordenadas. [ 75 ]
condicional
Una característica de un lenguaje de programación que realiza diferentes cálculos o acciones según si una condición booleana especificada por el programador resulta verdadera o falsa. Excepto en el caso de la predicación de bifurcación , esto siempre se logra modificando selectivamente el flujo de control en función de alguna condición.
recipiente
Es una clase , una estructura de datos [ 76 ] [ 77 ] o un tipo de dato abstracto (TDA) cuyas instancias son colecciones de otros objetos. En otras palabras, almacenan objetos de forma organizada siguiendo reglas de acceso específicas. El tamaño del contenedor depende del número de objetos (elementos) que contiene. Las implementaciones subyacentes (heredadas) de los distintos tipos de contenedores pueden variar en tamaño y complejidad, y ofrecen flexibilidad para elegir la implementación adecuada para cada escenario.
entrega continua (CD)
Producir software en ciclos cortos, con alta velocidad y frecuencia, de manera que se pueda lanzar software fiable en cualquier momento, con un proceso de despliegue sencillo y repetible a la hora de decidir cuándo desplegarlo.
despliegue continuo (CD)
Implementación automática de nuevas funcionalidades de software.
integración continua (IC)
La práctica de integrar el código fuente cambia con frecuencia y garantiza que la base de código integrada se encuentre en un estado funcional.
estilo de paso de continuación (CPS)
Un estilo de programación funcional en el que el control se pasa explícitamente en forma de continuación . Esto contrasta con el estilo directo , que es el estilo de programación habitual. Gerald Jay Sussman y Guy L. Steele, Jr. acuñaron la frase en AI Memo 349 (1975), que establece la primera versión del lenguaje de programación Scheme . [ 78 ] [ 79 ]
flujo de control
El orden en que se ejecutan o evalúan las instrucciones , sentencias o llamadas a funciones de un programa imperativo . El énfasis en el flujo de control explícito distingue a un lenguaje de programación imperativo de uno declarativo .
Creative Commons (CC)
Una organización estadounidense sin fines de lucro dedicada a ampliar la gama de obras creativas disponibles para que otros las desarrollen legalmente y las compartan. [ 80 ] La organización ha publicado varias licencias de derechos de autor , conocidas como licencias Creative Commons , de forma gratuita para el público.
criptografía
La criptología es la práctica y el estudio de técnicas para la comunicación segura en presencia de terceros llamados adversarios . [ 81 ] De manera más general, la criptografía trata sobre la construcción y el análisis de protocolos que impiden que terceros o el público lean mensajes privados; [ 82 ] varios aspectos de la seguridad de la información, como la confidencialidad de los datos , la integridad de los datos , la autenticación y el no repudio [ 83 ], son fundamentales para la criptografía moderna. La criptografía moderna se encuentra en la intersección de las disciplinas de matemáticas , informática , ingeniería eléctrica , ciencias de la comunicación y física . Las aplicaciones de la criptografía incluyen el comercio electrónico , las tarjetas de pago con chip , las monedas digitales , las contraseñas de computadora y las comunicaciones militares .
CSV
Ver valores separados por comas .
ciberacoso
Una forma de acoso o intimidación que utiliza medios electrónicos.
ciberespacio
Tecnología digital generalizada e interconectada .

D

demonio
En los sistemas operativos multitarea , un daemon ( / ˈ d m ən / o / ˈ d m ən / ) [ 84 ] es un programa informático que se ejecuta como un proceso en segundo plano , en lugar de estar bajo el control directo de un usuario interactivo. Tradicionalmente, los nombres de los procesos de un daemon terminan con la letra d , para aclarar que el proceso es de hecho un daemon y para diferenciarlo de un programa informático normal. Por ejemplo, syslogd es un daemon que implementa la función de registro del sistema, y ​​sshd es un daemon que gestiona las conexiones SSH entrantes .
Datos
centro de datos
Un espacio dedicado a albergar sistemas informáticos y componentes asociados, como sistemas de telecomunicaciones y almacenamiento de datos . Generalmente incluye componentes redundantes o de respaldo e infraestructura para el suministro de energía , conexiones de comunicaciones de datos, controles ambientales (por ejemplo, aire acondicionado y extinción de incendios) y diversos dispositivos de seguridad. [ 85 ]
base de datos
Una colección organizada de datos , generalmente almacenada y consultada electrónicamente desde un sistema informático. Cuando las bases de datos son más complejas, suelen desarrollarse utilizando técnicas formales de diseño y modelado.
minería de datos
Es un proceso de descubrimiento de patrones en grandes conjuntos de datos que involucra métodos en la intersección del aprendizaje automático , la estadística y los sistemas de bases de datos . [ 86 ] La minería de datos es un subcampo interdisciplinario de la informática y la estadística con un objetivo general de extraer información (con métodos inteligentes) de un conjunto de datos y transformar la información en una estructura comprensible para su uso posterior. [ 86 ] [ 87 ] [ 88 ] [ 89 ] La minería de datos es el paso de análisis del proceso de "descubrimiento de conocimiento en bases de datos" o KDD. [ 90 ] Además del paso de análisis bruto, también involucra aspectos de bases de datos y administración de datos , preprocesamiento de datos , consideraciones de modelos e inferencia , métricas de interés, consideraciones de complejidad , posprocesamiento de estructuras descubiertas, visualización y actualización en línea . [ 86 ]
ciencia de datos
Un campo interdisciplinario que utiliza métodos, procesos, algoritmos y sistemas científicos para extraer conocimiento e información de datos en diversas formas, tanto estructurados como no estructurados, [ 91 ] [ 92 ] similar a la minería de datos . La ciencia de datos es un "concepto para unificar la estadística, el análisis de datos, el aprendizaje automático y sus métodos relacionados" con el fin de "comprender y analizar fenómenos reales" con datos. [ 93 ] Emplea técnicas y teorías extraídas de muchos campos dentro del contexto de las matemáticas, la estadística, la ciencia de la información y la informática .
estructura de datos
Un formato de organización, gestión y almacenamiento de datos que permite un acceso y modificación eficientes . [ 94 ] [ 95 ] [ 96 ] Más precisamente, una estructura de datos es una colección de valores de datos, las relaciones entre ellos y las funciones u operaciones que se pueden aplicar a los datos. [ 97 ]
tipo de datos
Un atributo de los datos que indica al compilador o intérprete cómo el programador pretende utilizarlos. La mayoría de los lenguajes de programación admiten los tipos de datos comunes real , entero y booleano . Un tipo de dato restringe los valores que puede tomar una expresión , como una variable o una función . Este tipo de dato define las operaciones que se pueden realizar sobre los datos, su significado y la forma en que se pueden almacenar los valores de ese tipo. Un tipo de valor del que una expresión puede tomar su valor. [ 98 ] [ 99 ]
depuración
El proceso de encontrar y resolver defectos o problemas dentro de un programa informático que impiden el correcto funcionamiento del software o del sistema en su conjunto. Las tácticas de depuración pueden incluir depuración interactiva, análisis de flujo de control , pruebas unitarias , pruebas de integración , análisis de archivos de registro , monitorización a nivel de aplicación o de sistema , volcados de memoria y creación de perfiles .
declaración
En programación informática , una construcción del lenguaje que especifica las propiedades de un identificador : declara lo que una palabra (identificador) "significa". [ 100 ] Las declaraciones se utilizan más comúnmente para funciones , variables , constantes y clases , pero también pueden usarse para otras entidades como enumeraciones y definiciones de tipo. [ 100 ] Más allá del nombre (el identificador en sí) y el tipo de entidad (función, variable, etc.), las declaraciones suelen especificar el tipo de datos (para variables y constantes) o la firma de tipo (para funciones); los tipos también pueden incluir dimensiones, como para matrices. Una declaración se utiliza para anunciar la existencia de la entidad al compilador ; esto es importante en aquellos lenguajes fuertemente tipados que requieren que las funciones, variables y constantes, y sus tipos, se especifiquen con una declaración antes de su uso, y se utiliza en la declaración anticipada . [ 101 ] El término "declaración" se contrasta frecuentemente con el término "definición", [ 100 ] pero el significado y el uso varían significativamente entre lenguajes.
datos digitales
En teoría de la información y sistemas de información , la representación discreta y discontinua de información u obras. Los números y las letras son representaciones comúnmente utilizadas.
Procesamiento digital de señales ( DSP )
El procesamiento digital , mediante ordenadores o procesadores de señales digitales más especializados , permite realizar una amplia variedad de operaciones de procesamiento de señales . Las señales procesadas de esta manera son una secuencia de números que representan muestras de una variable continua en un dominio como el tiempo, el espacio o la frecuencia.
simulación de eventos discretos ( DES )
Un modelo del funcionamiento de un sistema como una secuencia discreta de eventos en el tiempo. Cada evento ocurre en un instante particular y marca un cambio de estado en el sistema. [ 102 ] Entre eventos consecutivos, se supone que no ocurre ningún cambio en el sistema; por lo tanto, la simulación puede saltar directamente en el tiempo de un evento al siguiente.
almacenamiento en disco
El almacenamiento en disco (también conocido como almacenamiento en unidad) es una categoría general de mecanismos de almacenamiento donde los datos se graban mediante diversas modificaciones electrónicas, magnéticas, ópticas o mecánicas aplicadas a la superficie de uno o más discos giratorios. Una unidad de disco es un dispositivo que implementa dicho mecanismo de almacenamiento. Entre los tipos más destacados se encuentran el disco duro (HDD), que contiene un disco no extraíble; la unidad de disquete (FDD), con su disquete extraíble ; y diversas unidades de disco óptico (ODD) y sus soportes ópticos asociados .
computación distribuida
Un campo de la informática que estudia los sistemas distribuidos. Un sistema distribuido es un sistema cuyos componentes se encuentran en diferentes computadoras en red , que se comunican y coordinan sus acciones mediante el intercambio de mensajes entre sí. [ 103 ] Los componentes interactúan entre sí para lograr un objetivo común. Tres características significativas de los sistemas distribuidos son: la concurrencia de los componentes, la ausencia de un reloj global y la posibilidad de fallos independientes de los componentes. [ 103 ] Ejemplos de sistemas distribuidos varían desde sistemas basados ​​en SOA hasta juegos multijugador masivos en línea y aplicaciones peer-to-peer .
algoritmo de divide y vencerás
Un paradigma de diseño de algoritmos basado en recursión multiramificada . Un algoritmo de divide y vencerás funciona dividiendo recursivamente un problema en dos o más subproblemas del mismo tipo o relacionados, hasta que estos se vuelven lo suficientemente simples como para resolverse directamente. Las soluciones de los subproblemas se combinan para obtener la solución del problema original.
DNS
Consulte el Sistema de nombres de dominio .
documentación
Texto o ilustración que acompaña a un programa informático o que está integrado en su código fuente . Explica cómo funciona o cómo usarlo, y puede tener diferentes significados para personas con diferentes funciones.
dominio
Es el área temática objetivo de un programa informático . Es un término utilizado en ingeniería de software . Formalmente, representa el tema objetivo de un proyecto de programación específico, ya sea definido de forma restringida o amplia. [ 104 ]
Sistema de nombres de dominio (DNS)
Sistema de nombres de dominio jerárquico y descentralizado para ordenadores, servicios u otros recursos conectados a Internet o a una red privada. Asocia diversa información con los nombres de dominio asignados a cada una de las entidades participantes. Principalmente, traduce los nombres de dominio, más fáciles de memorizar, a las direcciones IP numéricas necesarias para localizar e identificar servicios y dispositivos informáticos mediante los protocolos de red subyacentes . Al proporcionar un servicio de directorio distribuido a nivel mundial , el Sistema de nombres de dominio ha sido un componente esencial del funcionamiento de Internet desde 1985.
formato de punto flotante de doble precisión
Formato numérico informático . Representa un amplio rango dinámico de valores numéricos mediante el uso de un punto flotante .
descargar
En redes informáticas , se refiere a recibir datos de un sistema remoto, generalmente un servidor [ 105 ] como un servidor web , un servidor FTP , un servidor de correo electrónico u otros sistemas similares. Esto contrasta con la carga , donde los datos se envían a un servidor remoto. Una descarga es un archivo ofrecido para su descarga o que ya ha sido descargado, o el proceso de recibir dicho archivo.

mi

dispositivo de borde
Un dispositivo que proporciona un punto de entrada a las redes centrales de empresas o proveedores de servicios. Algunos ejemplos son los enrutadores , los conmutadores de enrutamiento , los dispositivos de acceso integrado (IAD), los multiplexores y diversos dispositivos de acceso a redes de área metropolitana (MAN) y de área amplia (WAN). Los dispositivos de borde también proporcionan conexiones a las redes de operadores y proveedores de servicios. Un dispositivo de borde que conecta una red de área local a un conmutador de alta velocidad o a la red troncal (como un conmutador ATM) puede denominarse concentrador de borde.
emulador
Hardware o software que permite que un sistema informático (llamado host) se comporte como otro sistema informático.
cifrado
En criptografía , el cifrado es el proceso de codificar información. Este proceso convierte la representación original de la información, conocida como texto plano , en una forma alternativa conocida como texto cifrado . Idealmente, solo las partes autorizadas pueden descifrar un texto cifrado para volver al texto plano y acceder a la información original. El cifrado en sí mismo no impide la interferencia, pero niega el contenido inteligible a un posible interceptor. Por razones técnicas, un esquema de cifrado generalmente utiliza una clave de cifrado pseudoaleatoria generada por un algoritmo . Es posible descifrar el mensaje sin poseer la clave, pero, para un esquema de cifrado bien diseñado, se requieren considerables recursos computacionales y habilidades. Un destinatario autorizado puede descifrar fácilmente el mensaje con la clave proporcionada por el originador a los destinatarios, pero no a usuarios no autorizados. Históricamente, se han utilizado diversas formas de cifrado para ayudar en la criptografía. Las primeras técnicas de cifrado se utilizaban a menudo en la mensajería militar. Desde entonces, han surgido nuevas técnicas que se han vuelto comunes en todas las áreas de la informática moderna. [ 106 ] Los esquemas de cifrado modernos utilizan los conceptos de clave pública y clave simétrica . [ 106 ] Las técnicas de cifrado modernas garantizan la seguridad porque las computadoras modernas son ineficientes para descifrar el cifrado.
evento
Una acción o suceso reconocido por el software, que a menudo se origina de forma asíncrona desde el entorno externo y que puede ser gestionado por el software. Dado que un evento es una entidad que encapsula la acción y las variables contextuales que la desencadenan, el acróstico mnemotécnico " E xecution V ariable Encapsulating Named Trigger " (Variable de ejecución que encapsula un disparador con nombre ) se utiliza con frecuencia para aclarar el concepto.
programación basada en eventos
Un paradigma de programación en el que el flujo del programa está determinado por eventos como acciones del usuario ( clics del ratón , pulsaciones de teclas), salidas de sensores o mensajes de otros programas o subprocesos . La programación orientada a eventos es el paradigma dominante utilizado en interfaces gráficas de usuario y otras aplicaciones (por ejemplo, aplicaciones web JavaScript ) que se centran en realizar ciertas acciones en respuesta a la entrada del usuario . Esto también se aplica a la programación de controladores de dispositivos (por ejemplo, P en las pilas de controladores de dispositivos USB [ 107 ] ).
computación evolutiva
Una familia de algoritmos para la optimización global inspirados en la evolución biológica , y el subcampo de la inteligencia artificial y la computación blanda que estudia estos algoritmos. En términos técnicos, son una familia de solucionadores de problemas basados ​​en el método de ensayo y error poblacional con un carácter metaheurístico o de optimización estocástica .
ejecutable
Hace que una computadora "realice las tareas indicadas según las instrucciones codificadas " [ 108 ] , a diferencia de un archivo de datos que debe ser analizado por un programa para tener sentido. La interpretación exacta depende del uso: si bien tradicionalmente se entiende por "instrucciones" las instrucciones de código máquina para una CPU física , en algunos contextos un archivo que contiene código de bytes o instrucciones de lenguaje de scripting también puede considerarse ejecutable.
ejecución
En ingeniería informática y de software, la ejecución es el proceso mediante el cual una computadora o máquina virtual ejecuta las instrucciones de un programa informático . Cada instrucción de un programa describe una acción específica que debe realizarse para resolver un problema concreto. A medida que una máquina ejecuta las instrucciones del programa y, por lo tanto, las acciones que describen, se producen efectos específicos de acuerdo con la semántica de las instrucciones ejecutadas.
manejo de excepciones
El proceso de respuesta ante la aparición, durante el cálculo , de excepciones (condiciones anómalas o excepcionales que requieren un procesamiento especial) que a menudo interrumpen el flujo normal de ejecución del programa . Se proporciona mediante construcciones especializadas del lenguaje de programación , mecanismos de hardware informático como las interrupciones o funciones de comunicación entre procesos (IPC) del sistema operativo, como las señales .
Detección de existencia
Una comprobación de existencia antes de leer un archivo puede detectar y/o prevenir un error fatal.
expresión
En un lenguaje de programación , una combinación de una o más constantes , variables , operadores y funciones que el lenguaje interpreta (según sus reglas particulares de precedencia y asociación) y calcula para producir (o devolver, en un entorno con estado ) otro valor. Este proceso, al igual que en las expresiones matemáticas , se denomina evaluación.

F

sistema informático tolerante a fallos
Un sistema diseñado en torno al concepto de tolerancia a fallos . En esencia, debe ser capaz de seguir funcionando satisfactoriamente incluso en caso de errores o averías.
estudio de factibilidad
Una investigación que tiene como objetivo descubrir de manera objetiva y racional las fortalezas y debilidades de un negocio existente o una iniciativa propuesta, las oportunidades y amenazas presentes en el entorno natural , los recursos necesarios para llevarla a cabo y, en última instancia, las perspectivas de éxito. [ 109 ] [ 110 ] En términos sencillos, los dos criterios para juzgar la viabilidad son el costo requerido y el valor que se pretende obtener. [ 111 ]
campo
Los datos que constan de varias partes, conocidas como registros , se pueden dividir en campos. Las bases de datos relacionales organizan los datos como conjuntos de registros , denominados filas . Cada registro consta de varios campos; los campos de todos los registros forman las columnas . Ejemplos de campos: nombre, género, color de pelo.
extensión del nombre de archivo
Un identificador que se especifica como sufijo en el nombre de un archivo informático . La extensión indica una característica del contenido del archivo o su uso previsto.
filtro (software)
Un programa informático o subrutina para procesar un flujo de datos , produciendo otro. Si bien un solo filtro puede usarse individualmente, con frecuencia se combinan para formar una tubería .
aritmética de punto flotante
En informática , la aritmética de punto flotante (FP) utiliza una representación formulada de números reales como aproximación para lograr un equilibrio entre rango y precisión. Por esta razón, la computación de punto flotante se encuentra frecuentemente en sistemas que manejan números reales muy pequeños y muy grandes, los cuales requieren tiempos de procesamiento rápidos. Un número se representa, en general, de forma aproximada con un número fijo de dígitos significativos (la mantisa ) y se escala mediante un exponente en una base fija; la base para la escala suele ser dos, diez o dieciséis. Un número que se puede representar con exactitud tiene la siguiente forma:
significando×baseexponente,{\displaystyle {\text{significando}}\times {\text{base}}^{\text{exponente}},}

donde la mantisa es un número entero , la base es un número entero mayor o igual que dos, y el exponente también es un número entero. Por ejemplo:

1.2345=12345significando×10base4exponente.{\displaystyle 1.2345=\underbrace {12345} _{\text{significando}}\times \underbrace {10} _{\text{base}}\!\!\!\!\!\!^{\overbrace {-4} ^{\text{exponente}}}.}
bucle for
Una instrucción de control de flujo para especificar la iteración , que permite que el código se ejecute repetidamente. Se utilizan varias palabras clave para especificar esta instrucción: los descendientes de ALGOL usan "for", mientras que los descendientes de Fortran usan "do". También existen otras posibilidades, por ejemplo, COBOL usa "PERFORM VARYING".
métodos formales
Conjunto de técnicas basadas en las matemáticas para la especificación , el desarrollo y la verificación de sistemas de software y hardware . [ 112 ] El uso de métodos formales para el diseño de software y hardware se basa en la expectativa de que, como en otras disciplinas de ingeniería, realizar un análisis matemático apropiado puede contribuir a la fiabilidad y robustez de un diseño. [ 113 ]
verificación formal
El acto de probar o refutar la corrección de los algoritmos previstos que subyacen a un sistema con respecto a una determinada especificación o propiedad formal, utilizando métodos formales de las matemáticas. [ 114 ]
programación funcional
Un paradigma de programación —un estilo de construir la estructura y los elementos de los programas informáticos— que trata la computación como la evaluación de funciones matemáticas y evita el cambio de estado y los datos mutables . Es un paradigma de programación declarativa en el sentido de que la programación se realiza con expresiones o declaraciones [ 115 ] en lugar de sentencias .

GRAMO

teoría de juegos
El estudio de modelos matemáticos de interacción estratégica entre tomadores de decisiones racionales. [ 116 ] Tiene aplicaciones en todos los campos de las ciencias sociales , así como en lógica e informática . Originalmente, abordaba juegos de suma cero , en los que las ganancias o pérdidas de cada participante se equilibran exactamente con las de los demás participantes. Hoy en día, la teoría de juegos se aplica a una amplia gama de relaciones de comportamiento y es un término general que engloba la ciencia de la toma de decisiones lógicas en humanos, animales y computadoras.
Si entra basura, sale basura (GIGO)
Término que describe el concepto de que los datos de entrada erróneos o sin sentido producen una salida sin sentido o "basura". También puede referirse a la naturaleza implacable de la programación , donde un programa mal escrito puede generar un comportamiento ilógico.
Formato de intercambio de gráficos
gigabyte
Un múltiplo de la unidad byte para información digital. El prefijo giga significa 10⁹ en el Sistema Internacional de Unidades (SI). Por lo tanto, un gigabyte equivale a 1 000 000 000 bytes . El símbolo de la unidad para el gigabyte es GB.
variable global
En programación informática , una variable global es aquella que es visible (y por lo tanto accesible) en todo el programa, a menos que esté oculta . El conjunto de todas las variables globales se conoce como entorno global o estado global . En lenguajes compilados, las variables globales suelen ser estáticas , cuya duración abarca todo el tiempo de ejecución del programa. Sin embargo, en lenguajes interpretados (incluidos los intérpretes de línea de comandos ), las variables globales se asignan dinámicamente al declararse, ya que no se conocen de antemano.
teoría de grafos
En matemáticas, el estudio de los grafos , que son estructuras matemáticas utilizadas para modelar relaciones binarias entre objetos, se compone de vértices (también llamados nodos o puntos ) conectados por aristas (también llamadas enlaces o líneas ). Se distingue entre grafos no dirigidos, donde las aristas unen dos vértices simétricamente, y grafos dirigidos, donde las aristas unen dos vértices asimétricamente.

H

manejar
En programación informática , un identificador es una referencia abstracta a un recurso que se utiliza cuando el software de aplicación hace referencia a bloques de memoria u objetos que son administrados por otro sistema, como una base de datos o un sistema operativo .
problema difícil
La teoría de la complejidad computacional se centra en clasificar los problemas computacionales según su dificultad intrínseca y en relacionar estas clases entre sí. Un problema computacional es una tarea que resuelve una computadora. Un problema computacional se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo.
función hash
Cualquier función que permita mapear datos de tamaño arbitrario a datos de tamaño fijo. Los valores que devuelve una función hash se denominan valores hash , códigos hash , resúmenes o simplemente hashes . Las funciones hash se suelen utilizar junto con una tabla hash , una estructura de datos común en software informático para la búsqueda rápida de datos. Las funciones hash aceleran la búsqueda en tablas o bases de datos al detectar registros duplicados en archivos grandes.
tabla hash
En informática , una tabla hash (o mapa hash ) es una estructura de datos que implementa un tipo de dato abstracto de matriz asociativa , una estructura que puede asignar claves a valores . Una tabla hash utiliza una función hash para calcular un índice en una matriz de cubetas o ranuras , a partir del cual se puede encontrar el valor deseado.
montón
Una estructura de datos especializada basada en árboles que es esencialmente un árbol casi completo [ 117 ] que satisface la propiedad de montón: si P es un nodo padre de C, entonces la clave (el valor ) de P es mayor o igual que (en un montón máximo ) o menor o igual que (en un montón mínimo ) la clave de C. [ 118 ] El nodo en la "cima" del montón (sin padres) se llama nodo raíz .
ordenación por montículos
Un algoritmo de ordenación basado en comparaciones . Heapsort puede considerarse una versión mejorada del algoritmo de ordenación por selección : al igual que este, divide su entrada en una región ordenada y otra no ordenada, y reduce iterativamente la región no ordenada extrayendo el elemento más grande y moviéndolo a la región ordenada. La mejora consiste en el uso de una estructura de datos de montón en lugar de una búsqueda de tiempo lineal para encontrar el máximo. [ 119 ]
Interacción persona-ordenador (HCI)
Investiga el diseño y el uso de la tecnología informática, centrándose en las interfaces entre personas ( usuarios ) y ordenadores. Los investigadores en el campo de la interacción persona-ordenador (HCI) observan las formas en que los humanos interactúan con los ordenadores y diseñan tecnologías que permiten nuevas formas de interacción. Como campo de investigación, la interacción persona-ordenador se sitúa en la intersección de la informática , las ciencias del comportamiento , el diseño , los estudios de medios y otros campos de estudio .

I

identificador
En los lenguajes de programación , los identificadores son tokens (también llamados símbolos ) que nombran entidades del lenguaje. Algunos tipos de entidades que un identificador puede denotar incluyen variables , tipos , etiquetas , subrutinas y paquetes .
IDE
Entorno de desarrollo integrado.
procesamiento de imágenes
programación imperativa
Un paradigma de programación que utiliza instrucciones para modificar el estado de un programa . De forma similar a como el modo imperativo expresa órdenes en los lenguajes naturales , un programa imperativo consta de comandos que la computadora debe ejecutar. La programación imperativa se centra en describir cómo funciona un programa.
modelo de construcción incremental
Método de desarrollo de software en el que el producto se diseña , implementa y prueba de forma incremental (se añaden pequeñas mejoras en cada iteración) hasta su finalización. Incluye tanto el desarrollo como el mantenimiento. El producto se considera finalizado cuando cumple con todos sus requisitos. Este modelo combina elementos del modelo en cascada con la filosofía iterativa del prototipado .
análisis del espacio de información
Un método determinista, mejorado mediante inteligencia artificial , para localizar y evaluar recursos para iniciativas centradas en el trabajo en equipo.
visualización de información
herencia
En la programación orientada a objetos , la herencia es el mecanismo que consiste en basar un objeto o clase en otro objeto ( herencia basada en prototipos ) o clase ( herencia basada en clases ), manteniendo una implementación similar. También se define como la derivación de nuevas clases ( subclases ) a partir de clases existentes (superclase o clase base ) y su organización en una jerarquía de clases.
entrada/salida (E/S)
La comunicación entre un sistema de procesamiento de información, como una computadora , y el mundo exterior, posiblemente un ser humano u otro sistema de procesamiento de información. Las entradas son las señales o datos que recibe el sistema y las salidas son las señales o datos que envía. El término también puede usarse como parte de una acción; "realizar E/S" significa llevar a cabo una operación de entrada o salida .
ordenación por inserción
Un algoritmo de ordenación sencillo que construye la matriz (o lista) ordenada final elemento por elemento.
ciclo de instrucción
El ciclo que sigue la unidad central de procesamiento (CPU) desde el arranque hasta el apagado del ordenador para procesar instrucciones. Se compone de tres etapas principales: la etapa de búsqueda, la etapa de decodificación y la etapa de ejecución.
entero
Un dato de tipo entero representa un rango de números enteros matemáticos . Los tipos de datos enteros pueden tener diferentes tamaños y pueden o no contener valores negativos. En una computadora, los enteros se representan comúnmente como un grupo de dígitos binarios (bits). El tamaño de este grupo varía, por lo que el conjunto de tamaños de enteros disponibles difiere entre los distintos tipos de computadoras. El hardware de la computadora, incluidas las máquinas virtuales , casi siempre proporciona una forma de representar un registro del procesador o una dirección de memoria como un entero.
entorno de desarrollo integrado (IDE)
Una aplicación de software que proporciona herramientas completas a los programadores informáticos para el desarrollo de software . Un IDE normalmente consta de al menos un editor de código fuente , herramientas de automatización de compilación y un depurador .
pruebas de integración
(a veces llamada integración y pruebas, abreviada como I&T) es la fase de las pruebas de software en la que los módulos de software individuales se combinan y se prueban como un grupo. Las pruebas de integración se llevan a cabo para evaluar el cumplimiento de un sistema o componente con los requisitos funcionales especificados . [ 120 ] Ocurren después de las pruebas unitarias y antes de las pruebas de validación . Las pruebas de integración toman como entrada los módulos que han sido probados unitariamente, los agrupan en agregados más grandes, aplican las pruebas definidas en un plan de pruebas de integración a esos agregados y entregan como salida el sistema integrado listo para las pruebas del sistema . [ 121 ]
propiedad intelectual (PI)
Una categoría de propiedad legal que incluye creaciones intangibles del intelecto humano. [ 122 ] [ 123 ] Hay muchos tipos de propiedad intelectual, y algunos países reconocen más que otros. [ 124 ] [ 125 ] [ 126 ] [ 127 ] [ 128 ] Los tipos más conocidos son los derechos de autor , las patentes , las marcas registradas y los secretos comerciales .
agente inteligente
En inteligencia artificial , un agente inteligente ( AI ) se refiere a una entidad autónoma que actúa, dirigiendo su actividad hacia el logro de objetivos (es decir, es un agente ), sobre un entorno mediante la observación a través de sensores y los consiguientes actuadores (es decir, es inteligente). [ 129 ] Los agentes inteligentes también pueden aprender o utilizar el conocimiento para lograr sus objetivos. Pueden ser muy simples o muy complejos . Una máquina de reflejos, como un termostato , se considera un ejemplo de agente inteligente. [ 130 ]
interfaz
Un límite común a través del cual dos o más componentes separados de un sistema informático intercambian información. El intercambio puede darse entre software , hardware , dispositivos periféricos , personas y combinaciones de estos. [ 131 ] Algunos dispositivos de hardware, como una pantalla táctil , pueden enviar y recibir datos a través de la interfaz, mientras que otros, como un ratón o un micrófono, solo proporcionan una interfaz para enviar datos a un sistema determinado. [ 132 ]
documentación interna
Se dice que un software tiene documentación interna si las notas sobre cómo y por qué funcionan las distintas partes del código se incluyen en el código fuente a modo de comentarios. A menudo, se combina con nombres de variables significativos con el fin de facilitar a los futuros programadores la comprensión del funcionamiento del código. Esto contrasta con la documentación externa , donde los programadores guardan sus notas y explicaciones en un documento aparte.
Internet
El sistema global de redes informáticas interconectadas que utilizan el conjunto de protocolos de Internet (TCP/IP) para conectar dispositivos en todo el mundo. Se trata de una red de redes compuesta por redes privadas, públicas, académicas, empresariales y gubernamentales de alcance local a global, interconectadas mediante una amplia gama de tecnologías de redes electrónicas, inalámbricas y ópticas.
bot de internet
Una aplicación de software que ejecuta tareas automatizadas (scripts) a través de Internet . [ 133 ] Por lo general, los bots realizan tareas que son a la vez simples y estructuralmente repetitivas, a una velocidad mucho mayor de la que sería posible para un humano solo. El uso más extendido de los bots es en el rastreo web ( web crawler ), en el que un script automatizado obtiene, analiza y archiva información de servidores web a una velocidad muchas veces superior a la de un humano .
intérprete
Un programa informático que ejecuta directamente instrucciones escritas en un lenguaje de programación o de scripting , sin necesidad de que hayan sido compiladas previamente en un programa en lenguaje máquina .
invariante
Es posible encontrar invariantes que se consideran verdaderas durante la ejecución de un programa, o durante una parte de ella. Se trata de una afirmación lógica que siempre se mantiene verdadera durante una fase específica de la ejecución. Por ejemplo, un invariante de bucle es una condición que se cumple al inicio y al final de cada iteración del bucle.
iteración
La iteración es la repetición de un proceso para generar un resultado. La secuencia converge hacia un punto final o valor final. Cada repetición del proceso constituye una iteración, y el resultado de cada iteración se convierte en el punto de partida de la siguiente. En matemáticas e informática , la iteración (junto con la técnica relacionada de la recursión ) es un elemento estándar de los algoritmos .

J

Java
Un lenguaje de programación de propósito general basado en clases , orientado a objetos [ 134 ] (aunque no un lenguaje puramente orientado a objetos [ 135 ] ), y diseñado para tener la menor cantidad posible de dependencias de implementación. Su objetivo es permitir a los desarrolladores de aplicaciones " escribir una vez, ejecutar en cualquier lugar " (WORA), [ 136 ] lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que admiten Java sin necesidad de recompilación. [ 137 ]

K

núcleo
El núcleo es la primera sección de un sistema operativo que se carga en la memoria . Como núcleo del sistema operativo, debe ser pequeño, eficiente y cargarse en un área protegida de la memoria para evitar que se sobrescriba. Puede ser responsable de tareas esenciales como la administración del disco duro, la administración de archivos, la administración de memoria, la administración de procesos, etc.

L

biblioteca (informática)
Conjunto de recursos no volátiles utilizados por programas informáticos , a menudo para el desarrollo de software . Estos pueden incluir datos de configuración, documentación, datos de ayuda, plantillas de mensajes, código y subrutinas preescritas , clases , valores o especificaciones de tipos .
Método para encontrar un elemento dentro de una lista . Comprueba secuencialmente cada elemento de la lista hasta que se encuentra una coincidencia o se ha buscado en toda la lista. [ 138 ]
lista enlazada
Una colección lineal de elementos de datos, cuyo orden no viene dado por su ubicación física en la memoria. En cambio, cada elemento apunta al siguiente. Es una estructura de datos que consiste en una colección de nodos que, en conjunto, representan una secuencia .
enlazador
Un editor de enlaces es un programa de utilidad informática que toma uno o más archivos objeto generados por un compilador o un ensamblador y los combina en un único archivo ejecutable , archivo de biblioteca u otro archivo objeto. Una versión más simple que escribe su salida directamente en la memoria se llama cargador , aunque la carga generalmente se considera un proceso separado. [ 139 ]
lista
Un tipo de dato abstracto que representa un número contable de valores ordenados , donde el mismo valor puede aparecer más de una vez. Una instancia de una lista es una representación computacional del concepto matemático de una secuencia finita ; el análogo (potencialmente) infinito de una lista es un flujo . [ 140 ] : §3.5 Las listas son un ejemplo básico de contenedores , ya que contienen otros valores. Si el mismo valor aparece varias veces, cada aparición se considera un elemento distinto.
cargador
La parte del sistema operativo responsable de cargar programas y bibliotecas . Es una de las etapas esenciales en el proceso de inicio de un programa, ya que lo coloca en la memoria y lo prepara para su ejecución. La carga de un programa implica leer el contenido del archivo ejecutable que contiene las instrucciones del programa y, posteriormente, realizar otras tareas preparatorias necesarias para que el ejecutable esté listo para su ejecución. Una vez completada la carga, el sistema operativo inicia el programa transfiriendo el control al código cargado.
error lógico
En programación informática , un error lógico es un fallo en un programa que provoca su mal funcionamiento, pero no su finalización anómala (o bloqueo ). Un error lógico produce resultados o comportamientos no deseados, aunque no siempre se reconozcan como tales.
programación lógica
Un tipo de paradigma de programación que se basa principalmente en la lógica formal . Cualquier programa escrito en un lenguaje de programación lógica es un conjunto de sentencias en forma lógica que expresan hechos y reglas sobre un dominio de problemas. Las principales familias de lenguajes de programación lógica incluyen Prolog , programación de conjuntos de respuestas (ASP) y Datalog .

METRO

aprendizaje automático (ML)
El estudio científico de algoritmos y modelos estadísticos que los sistemas informáticos utilizan para realizar una tarea específica sin instrucciones explícitas, basándose en patrones e inferencias . Se considera un subconjunto de la inteligencia artificial . Los algoritmos de aprendizaje automático construyen un modelo matemático a partir de datos de muestra, conocidos como " datos de entrenamiento ", para realizar predicciones o tomar decisiones sin ser programados explícitamente para realizar la tarea. [ 141 ] [ 142 ]
visión artificial (MV)
La visión artificial abarca diversas tecnologías, software, hardware, sistemas integrados, acciones, métodos y conocimientos especializados . Como disciplina de ingeniería de sistemas , la visión artificial se distingue de la visión por computadora , una rama de la informática . Su objetivo es integrar tecnologías existentes de formas innovadoras y aplicarlas para resolver problemas del mundo real. Si bien el término es el más común para estas funciones en entornos de automatización industrial, también se utiliza en otros ámbitos como la seguridad y la guía de vehículos.
lógica matemática
Un subcampo de las matemáticas que explora las aplicaciones de la lógica formal a las matemáticas. Guarda estrechas conexiones con la metamatemática , los fundamentos de las matemáticas y la informática teórica . [ 143 ] Los temas unificadores en la lógica matemática incluyen el estudio del poder expresivo de los sistemas formales y el poder deductivo de los sistemas de prueba formales .
matriz
En matemáticas , una matriz (plural: matrices) es una disposición rectangular [ 144 ] (véase matriz irregular ) de números , símbolos o expresiones , organizados en filas y columnas . [ 145 ] [ 146 ]
memoria
El almacenamiento de datos informáticos, a menudo denominado simplemente almacenamiento, es una tecnología que consta de componentes informáticos y soportes de grabación que se utilizan para conservar datos digitales . Es una función esencial y un componente fundamental de los ordenadores. [ 65 ] : 15–16
combinar orden
Un algoritmo de ordenación eficiente, de propósito general y basado en comparaciones . La mayoría de las implementaciones producen una ordenación estable , lo que significa que el orden de los elementos iguales es el mismo en la entrada y la salida. La ordenación por fusión es un algoritmo de divide y vencerás inventado por John von Neumann en 1945. [ 147 ] Una descripción y análisis detallados de la ordenación por fusión ascendente aparecieron en un informe de Goldstine y von Neumann ya en 1948. [ 148 ]
método
En la programación orientada a objetos (POO), un procedimiento está asociado a un mensaje y a un objeto . Un objeto consta de datos y comportamiento. Los datos y el comportamiento comprenden una interfaz, que especifica cómo puede ser utilizado el objeto por cualquiera de los diversos consumidores [ 149 ] del objeto.
metodología
En ingeniería de software , un proceso de desarrollo de software es el proceso de dividir el trabajo de desarrollo de software en fases distintas para mejorar el diseño , la gestión del producto y la gestión del proyecto . También se conoce como ciclo de vida del desarrollo de software (SDLC). La metodología puede incluir la predefinición de entregables y artefactos específicos que son creados y completados por un equipo de proyecto para desarrollar o mantener una aplicación. [ 150 ]
módem
Un módem es un dispositivo de hardware que convierte datos a un formato adecuado para un medio de transmisión , permitiendo su envío de un ordenador a otro (históricamente a través de cables telefónicos). Un módem modula una o más señales portadoras para codificar información digital y demodula las señales para decodificar la información transmitida. El objetivo es generar una señal que pueda transmitirse fácilmente y decodificarse de forma fiable para reproducir los datos digitales originales. Los módems pueden utilizarse con prácticamente cualquier medio de transmisión de señales analógicas, desde diodos emisores de luz hasta radio . Un tipo común de módem transforma los datos digitales de un ordenador en una señal eléctrica modulada para su transmisión por líneas telefónicas , que luego es demodulada por otro módem en el receptor para recuperar los datos digitales.

norte

procesamiento del lenguaje natural (PLN)
Un subcampo de la lingüística , la informática , la ingeniería de la información y la inteligencia artificial que se ocupa de las interacciones entre las computadoras y los lenguajes humanos (naturales), en particular de cómo programar computadoras para procesar y analizar grandes cantidades de datos en lenguaje natural . Los desafíos en el procesamiento del lenguaje natural suelen incluir el reconocimiento de voz , la comprensión del lenguaje natural y la generación del lenguaje natural .
nodo
Es una unidad básica de una estructura de datos , como una lista enlazada o una estructura de datos de árbol . Los nodos contienen datos y también pueden enlazarse con otros nodos. Los enlaces entre nodos suelen implementarse mediante punteros .
teoría de números
Una rama de las matemáticas puras dedicada principalmente al estudio de los números enteros y las funciones con valores enteros .
análisis numérico
El estudio de algoritmos que utilizan la aproximación numérica (en contraposición a las manipulaciones simbólicas ) para los problemas del análisis matemático (a diferencia de las matemáticas discretas ).
método numérico
En análisis numérico , un método numérico es una herramienta matemática diseñada para resolver problemas numéricos. La implementación de un método numérico con una verificación de convergencia adecuada en un lenguaje de programación se denomina algoritmo numérico.

O

objeto
Un objeto puede ser una variable , una estructura de datos , una función o un método , y como tal, es un valor en memoria referenciado por un identificador . En el paradigma de programación orientada a objetos basado en clases , un objeto se refiere a una instancia particular de una clase , donde el objeto puede ser una combinación de variables, funciones y estructuras de datos. En la gestión de bases de datos relacionales , un objeto puede ser una tabla o columna, o una asociación entre datos y una entidad de la base de datos (como relacionar la edad de una persona con una persona específica). [ 151 ]
código objeto
El producto de un compilador . [ 152 ] En un sentido general, el código objeto es una secuencia de sentencias o instrucciones en un lenguaje de computadora, [ 153 ] generalmente un lenguaje de código máquina (es decir, binario ) o un lenguaje intermedio como el lenguaje de transferencia de registros (RTL). El término indica que el código es el objetivo o resultado del proceso de compilación, y algunas fuentes antiguas se referían al código fuente como un "programa sujeto".
Análisis y diseño orientado a objetos (OOAD)
Un enfoque técnico para analizar y diseñar una aplicación, sistema o negocio mediante la aplicación de la programación orientada a objetos , así como el uso de modelos visuales a lo largo del proceso de desarrollo de software para guiar la comunicación con las partes interesadas y la calidad del producto.
programación orientada a objetos (POO)
Un paradigma de programación basado en el concepto de " objetos ", que pueden contener datos , en forma de campos (a menudo conocidos como atributos o propiedades ), y código, en forma de procedimientos (a menudo conocidos como métodos ). Una característica de los objetos son los procedimientos de un objeto que pueden acceder y a menudo modificar los campos de datos del objeto con el que están asociados (los objetos tienen una noción de " este " o "sí mismo"). En la POO, los programas informáticos se diseñan haciéndolos a partir de objetos que interactúan entre sí. [ 154 ] [ 155 ] Los lenguajes de POO son diversos, pero los más populares son los basados ​​en clases , lo que significa que los objetos son instancias de clases , que también determinan sus tipos .
software de código abierto (OSS)
Un tipo de software informático cuyo código fuente se publica bajo una licencia en la que el titular de los derechos de autor otorga a los usuarios el derecho a estudiar, modificar y distribuir el software a cualquier persona y para cualquier propósito. [ 156 ] El software de código abierto puede desarrollarse de manera colaborativa y pública . El software de código abierto es un ejemplo destacado de colaboración abierta . [ 157 ]
sistema operativo (SO)
Software de sistema que gestiona el hardware y los recursos de software de los ordenadores , y proporciona servicios comunes para los programas informáticos .
fibra óptica
Una fibra flexible y transparente hecha estirando vidrio ( sílice ) o plástico hasta un diámetro ligeramente mayor que el de un cabello humano . [ 158 ] Las fibras ópticas se utilizan con mayor frecuencia para transmitir luz entre los dos extremos de la fibra y tienen un amplio uso en las comunicaciones por fibra óptica , donde permiten la transmisión a distancias mayores y con mayor ancho de banda (velocidad de datos) que los cables eléctricos. Las fibras se utilizan en lugar de cables metálicos porque las señales viajan a través de ellas con menos pérdidas ; además, las fibras son inmunes a la interferencia electromagnética , un problema que sí afecta a los cables metálicos. [ 159 ]

PAG

programación en parejas
Técnica de desarrollo de software ágil en la que dos programadores trabajan juntos en una estación de trabajo. Uno, el conductor , escribe el código mientras que el otro, el observador o navegador , [ 160 ] revisa cada línea de código a medida que se escribe. Los dos programadores intercambian roles con frecuencia.
computación paralela
Un tipo de computación en la que se realizan simultáneamente muchos cálculos o la ejecución de procesos . [ 161 ] Los problemas grandes a menudo se pueden dividir en problemas más pequeños, que luego se pueden resolver al mismo tiempo. Existen varias formas diferentes de computación paralela: paralelismo a nivel de bits , a nivel de instrucciones , de datos y de tareas .
parámetro
En programación informática , un tipo especial de variable , utilizada en una subrutina para referirse a uno de los datos proporcionados como entrada a la subrutina. [ b ] Estos datos son los valores [ 162 ] [ 163 ] [ 164 ] de los argumentos (a menudo llamados argumentos reales o parámetros reales ) con los que se va a llamar/invocar la subrutina. Generalmente se incluye una lista ordenada de parámetros en la definición de una subrutina , de modo que, cada vez que se llama a la subrutina, se evalúan sus argumentos para esa llamada y los valores resultantes se pueden asignar a los parámetros correspondientes.
periférico
Cualquier dispositivo auxiliar o complementario conectado o integrado en un sistema informático y utilizado para enviar o recibir información del ordenador. Un dispositivo de entrada envía datos o instrucciones al ordenador; un dispositivo de salida proporciona información del ordenador al usuario; y un dispositivo de entrada/salida realiza ambas funciones.
puntero
Un puntero es un objeto en muchos lenguajes de programación que almacena una dirección de memoria . Esta puede ser la de otro valor ubicado en la memoria de la computadora o, en algunos casos, la de hardware de la computadora mapeado en memoria . Un puntero hace referencia a una ubicación en la memoria, y obtener el valor almacenado en esa ubicación se conoce como desreferenciar el puntero. Como analogía, un número de página en el índice de un libro podría considerarse un puntero a la página correspondiente; desreferenciar dicho puntero se haría pasando a la página con el número de página dado y leyendo el texto que se encuentra en esa página. El formato y el contenido reales de una variable de puntero dependen de la arquitectura de la computadora subyacente .
postcondición
En programación informática , una postcondiciones es una condición o predicado que debe ser siempre verdadero justo después de la ejecución de una sección de código o después de una operación en una especificación formal . A veces, las postcondiciones se comprueban mediante aserciones dentro del propio código. Con frecuencia, simplemente se incluyen en la documentación de la sección de código afectada.
condición previa
En programación informática , una precondición es una condición o predicado que debe cumplirse siempre antes de la ejecución de una sección de código o de una operación en una especificación formal . Si se incumple una precondición, el efecto de la sección de código queda indefinido y, por lo tanto, puede o no llevar a cabo su función prevista. Las precondiciones incorrectas pueden generar problemas de seguridad .
almacenamiento primario
La memoria principal (también conocida como memoria interna o memoria de arranque ), a menudo denominada simplemente memoria , es la única directamente accesible para la CPU. La CPU lee continuamente las instrucciones almacenadas allí y las ejecuta según sea necesario. Cualquier dato que se esté procesando también se almacena allí de forma uniforme.
tipo de datos primitivos
cola de prioridad
Un tipo de dato abstracto similar a una cola o pila convencional , pero donde cada elemento tiene una prioridad asociada. En una cola de prioridad, un elemento con alta prioridad se atiende antes que uno con baja prioridad. En algunas implementaciones, si dos elementos tienen la misma prioridad, se atienden según el orden en que se encolaron, mientras que en otras, el orden de los elementos con la misma prioridad no está definido.
programación procedimental
Generación procedimental
procedimiento
En programación informática , una subrutina es una secuencia de instrucciones que realiza una tarea específica, empaquetada como una unidad. Esta unidad puede utilizarse en programas dondequiera que se requiera realizar dicha tarea .Las subrutinas pueden definirse dentro de los programas o por separado en bibliotecas que pueden ser utilizadas por muchos programas. En distintos lenguajes de programación, una subrutina puede denominarse rutina, subprograma, función, método o procedimiento. Técnicamente, todos estos términos tienen definiciones diferentes. A veces se utiliza el término genérico «unidad invocable». [ 165 ]
fase del ciclo de vida del programa
Las fases del ciclo de vida de un programa informático son las etapas por las que pasa, desde su creación inicial hasta su implementación y ejecución . Estas fases son: edición, compilación, enlace, distribución, instalación, carga y ejecución.
lenguaje de programación
Un lenguaje formal , que comprende un conjunto de instrucciones que producen diversos tipos de resultados . Los lenguajes de programación se utilizan en la programación informática para implementar algoritmos .
implementación del lenguaje de programación
Es un sistema para ejecutar programas informáticos . Existen dos enfoques generales para la implementación de lenguajes de programación: interpretación y compilación . [ 166 ]
teoría de lenguajes de programación
La programación de lenguajes (PLT, por sus siglas en inglés) es una rama de la informática que se ocupa del diseño, la implementación, el análisis, la caracterización y la clasificación de lenguajes de programación y sus características individuales . Se enmarca dentro de la informática, aunque depende de las matemáticas , la ingeniería de software , la lingüística e incluso la ciencia cognitiva , y a la vez las influye . Se ha consolidado como una rama reconocida de la informática y un área de investigación activa, con resultados publicados en numerosas revistas especializadas en PLT, así como en publicaciones generales de informática e ingeniería.
Prólogo
Es un lenguaje de programación lógica asociado con la inteligencia artificial y la lingüística computacional . [ 167 ] [ 168 ] [ 169 ] Prolog tiene sus raíces en la lógica de primer orden , una lógica formal , y a diferencia de muchos otros lenguajes de programación , Prolog está concebido principalmente como un lenguaje de programación declarativo : la lógica del programa se expresa en términos de relaciones , representadas como hechos y reglas . Un cálculo se inicia ejecutando una consulta sobre estas relaciones. [ 170 ]
Pitón
Python es un lenguaje de programación interpretado , de alto nivel y de propósito general . Creado por Guido van Rossum y lanzado por primera vez en 1991, su filosofía de diseño enfatiza la legibilidad del código con un uso notable de espacios en blanco significativos . Sus construcciones de lenguaje y su enfoque orientado a objetos buscan ayudar a los programadores a escribir código claro y lógico para proyectos de pequeña y gran escala. [ 171 ]

Q

computación cuántica
El uso de fenómenos de la mecánica cuántica, como la superposición y el entrelazamiento, para realizar cálculos . Se utiliza una computadora cuántica para realizar dichos cálculos, que pueden implementarse teórica o físicamente. [ 172 ] : I-5
cola
Una colección en la que las entidades de la colección se mantienen en orden y las operaciones principales (o únicas) sobre la colección son la adición de entidades a la posición terminal posterior, conocida como enqueue , y la eliminación de entidades de la posición terminal frontal, conocida como dequeue .
Ordenación rápida
Un algoritmo de ordenación eficiente que sirve como método sistemático para colocar en orden los elementos de un archivo de acceso aleatorio o una matriz .

R

lenguaje de programación R
R es un lenguaje de programación y un entorno de software libre para computación estadística y gráficos, respaldado por la Fundación R para la Computación Estadística . [ 173 ] El lenguaje R es ampliamente utilizado entre estadísticos y analistas de datos para el desarrollo de software estadístico [ 174 ] y el análisis de datos . [ 175 ]
base
En los sistemas de numeración digital , la base numérica es el número de dígitos únicos , incluido el cero, que se utilizan para representar números en un sistema de numeración posicional . Por ejemplo, en el sistema decimal (el más común en uso hoy en día), la base numérica es diez, porque utiliza los diez dígitos del 0 al 9, y todos los demás números se especifican de forma única mediante combinaciones posicionales de estos diez dígitos base; en el sistema binario , que es el estándar en informática , la base numérica es dos, porque utiliza solo dos dígitos, 0 y 1, para especificar de forma única cada número.
registro
Un registro (también llamado estructura, struct o dato compuesto) es una estructura de datos básica . Los registros en una base de datos u hoja de cálculo generalmente se denominan " filas ". [ 176 ] [ 177 ] [ 178 ] [ 179 ]
recursión
La recursión se produce cuando algo se define en términos de sí mismo o de su tipo. Se utiliza en diversas disciplinas, desde la lingüística hasta la lógica . Su aplicación más común se da en matemáticas e informática , donde una función se aplica dentro de su propia definición. Si bien esto aparentemente define un número infinito de instancias (valores de la función), suele hacerse de tal manera que no se produzcan bucles infinitos ni cadenas infinitas de referencias.
referencia
Es un valor que permite a un programa acceder indirectamente a un dato específico , como el valor de una variable o un registro , en la memoria del ordenador o en algún otro dispositivo de almacenamiento . Se dice que la referencia alude al dato, y acceder a él se denomina desreferenciar .
conteo de referencias
Técnica de programación para almacenar el número de referencias , punteros o identificadores a un recurso, como un objeto, un bloque de memoria, espacio en disco, etc. En los algoritmos de recolección de basura , los contadores de referencias se pueden usar para liberar objetos que ya no son necesarios.
pruebas de regresión
(rara vez pruebas no de regresión [ 180 ] ) es volver a ejecutar pruebas funcionales y no funcionales para asegurar que el software previamente desarrollado y probado siga funcionando después de un cambio. [ 181 ] De lo contrario, se denominaría una regresión . Los cambios que pueden requerir pruebas de regresión incluyen correcciones de errores , mejoras de software, cambios de configuración e incluso sustitución de componentes electrónicos . [ 182 ] Como los conjuntos de pruebas de regresión tienden a crecer con cada defecto encontrado, la automatización de pruebas se utiliza con frecuencia. A veces se realiza un análisis de impacto del cambio para determinar un subconjunto apropiado de pruebas ( análisis no de regresión [ 183 ] ).
base de datos relacional
Es una base de datos digital basada en el modelo relacional de datos, tal como lo propuso EF Codd en 1970. [ 184 ] Un sistema de software utilizado para mantener bases de datos relacionales es un sistema de gestión de bases de datos relacionales (RDBMS). Muchos sistemas de bases de datos relacionales tienen la opción de usar SQL (Structured Query Language) para consultar y mantener la base de datos. [ 185 ]
ingeniería de confiabilidad
Una subdisciplina de la ingeniería de sistemas que enfatiza la confiabilidad en la gestión del ciclo de vida de un producto. La confiabilidad describe la capacidad de un sistema o componente para funcionar bajo condiciones establecidas durante un período de tiempo específico. [ 186 ] La confiabilidad está estrechamente relacionada con la disponibilidad , que generalmente se describe como la capacidad de un componente o sistema para funcionar en un momento o intervalo de tiempo específico.
análisis de requisitos
En ingeniería de sistemas e ingeniería de software , el análisis de requisitos se centra en las tareas que determinan las necesidades o condiciones para satisfacer el producto o proyecto nuevo o modificado, teniendo en cuenta los requisitos posiblemente conflictivos de las diversas partes interesadas , analizando, documentando, validando y gestionando los requisitos del software o del sistema. [ 187 ]
robótica
La robótica es una rama interdisciplinaria de la ingeniería y la ciencia que incluye la ingeniería mecánica , la ingeniería electrónica , la ingeniería informática , la informática y otras disciplinas. Abarca el diseño, la construcción, el funcionamiento y el uso de robots , así como los sistemas informáticos para su percepción, control, retroalimentación sensorial y procesamiento de información . Su objetivo es diseñar máquinas inteligentes que puedan ayudar y asistir a los humanos en su vida cotidiana y garantizar la seguridad de todos.
error de redondeo
La diferencia entre el resultado producido por un algoritmo dado usando aritmética exacta y el resultado producido por el mismo algoritmo usando aritmética redondeada de precisión finita. [ 189 ] Los errores de redondeo se deben a la inexactitud en la representación de los números reales y las operaciones aritméticas realizadas con ellos. Esta es una forma de error de cuantización . [ 190 ] Cuando se utilizan ecuaciones o algoritmos de aproximación , especialmente cuando se utilizan dígitos finitos para representar números reales (que en teoría tienen infinitos dígitos), uno de los objetivos del análisis numérico es estimar los errores de cálculo. [ 191 ] Los errores de cálculo, también llamados errores numéricos , incluyen tanto errores de truncamiento como errores de redondeo. [ 192 ]
enrutador
Un dispositivo de red que reenvía paquetes de datos entre redes informáticas . Los enrutadores realizan las funciones de enrutamiento del tráfico en Internet . Los datos enviados a través de Internet, como una página web o un correo electrónico , se presentan en forma de paquetes de datos. Un paquete se reenvía normalmente de un enrutador a otro a través de las redes que conforman una interconexión (por ejemplo, Internet) hasta que llega a su nodo de destino . [ 193 ]
tabla de enrutamiento
En redes informáticas, una tabla de enrutamiento, o base de información de enrutamiento (RIB), es una tabla de datos almacenada en un enrutador o un host de red que enumera las rutas hacia destinos de red específicos y, en algunos casos, las métricas (distancias) asociadas a dichas rutas. La tabla de enrutamiento contiene información sobre la topología de la red que la rodea inmediatamente.
tiempo de ejecución
El tiempo de ejecución es la fase final del ciclo de vida de un programa informático , en la que el código se ejecuta en la unidad central de procesamiento (CPU) del ordenador como código máquina . En otras palabras, el "tiempo de ejecución" es la fase de funcionamiento de un programa.
error de tiempo de ejecución
Un error de tiempo de ejecución se detecta después o durante la ejecución (estado de ejecución) de un programa, mientras que un error de tiempo de compilación es detectado por el compilador antes de que el programa se ejecute. La verificación de tipos , la asignación de registros , la generación de código y la optimización de código se realizan normalmente en tiempo de compilación, pero pueden realizarse en tiempo de ejecución dependiendo del lenguaje y el compilador específicos. Existen muchos otros errores de tiempo de ejecución que son manejados de manera diferente por los distintos lenguajes de programación , como errores de división por cero , errores de dominio, errores de índice de matriz fuera de límites , errores de subdesbordamiento aritmético , varios tipos de errores de subdesbordamiento y sobredesbordamiento , y muchos otros errores de tiempo de ejecución generalmente considerados errores de software que pueden o no ser detectados y manejados por cualquier lenguaje de programación en particular.

S

algoritmo de búsqueda
Cualquier algoritmo que resuelva el problema de búsqueda , es decir, recuperar información almacenada dentro de alguna estructura de datos, o calculada en el espacio de búsqueda de un dominio del problema , ya sea con valores discretos o continuos .
almacenamiento secundario
También conocida como memoria externa o almacenamiento auxiliar , se diferencia del almacenamiento primario en que la CPU no accede a ella directamente. El ordenador suele utilizar sus canales de entrada/salida para acceder al almacenamiento secundario y transferir los datos deseados al almacenamiento primario. El almacenamiento secundario es no volátil (conserva los datos incluso cuando se interrumpe el suministro eléctrico). Los sistemas informáticos modernos suelen tener dos órdenes de magnitud más de almacenamiento secundario que de almacenamiento primario, ya que el almacenamiento secundario es menos costoso.
ordenación por selección
Es un algoritmo de ordenación por comparación in situ . Tiene una complejidad temporal de O(n²) , lo que lo hace ineficiente en listas grandes y, en general, su rendimiento es inferior al del algoritmo de ordenación por inserción, que es similar . La ordenación por selección destaca por su simplicidad y ofrece ventajas de rendimiento sobre algoritmos más complejos en ciertas situaciones, especialmente cuando la memoria auxiliar es limitada.
semántica
En la teoría de los lenguajes de programación , la semántica es el campo que se ocupa del estudio matemático riguroso del significado de los lenguajes de programación . Para ello, evalúa el significado de cadenas sintácticamente válidas definidas por un lenguaje de programación específico, mostrando la computación involucrada. Si la evaluación se realizara sobre cadenas sintácticamente inválidas, el resultado sería la ausencia de computación. La semántica describe los procesos que sigue un ordenador al ejecutar un programa en ese lenguaje específico. Esto se puede demostrar describiendo la relación entre la entrada y la salida de un programa, o explicando cómo se ejecutará el programa en una plataforma determinada , creando así un modelo de computación .
secuencia
En matemáticas , una secuencia es una colección enumerada de objetos en la que se permiten repeticiones y el orden importa. Al igual que un conjunto , contiene miembros (también llamados elementos o términos ). El número de elementos (posiblemente infinito) se denomina longitud de la secuencia. A diferencia de un conjunto, los mismos elementos pueden aparecer varias veces en diferentes posiciones en una secuencia, y el orden importa. Formalmente, una secuencia se puede definir como una función cuyo dominio es el conjunto de los números naturales (para secuencias infinitas) o el conjunto de los primeros n números naturales (para una secuencia de longitud finita n ). La posición de un elemento en una secuencia es su rango o índice ; es el número natural para el cual el elemento es la imagen. El primer elemento tiene índice 0 o 1, dependiendo del contexto o de una convención específica. Cuando se utiliza un símbolo para denotar una secuencia, el n -ésimo elemento de la secuencia se denota con este símbolo con n como subíndice; por ejemplo, el n -ésimo elemento de la secuencia de Fibonacci F se denota generalmente F n . Por ejemplo, (M, A, R, Y) es una secuencia de letras con la letra 'M' al principio y la 'Y' al final. Esta secuencia difiere de (A, R, M, Y). Además, la secuencia (1, 1, 2, 3, 5, 8), que contiene el número 1 en dos posiciones diferentes, es una secuencia válida. Las secuencias pueden ser finitas , como en estos ejemplos, o infinitas , como la secuencia de todos los enteros pares positivos (2, 4, 6, ...). En informática , las secuencias finitas a veces se denominan cadenas , palabras o listas , nombres que suelen corresponder a diferentes formas de representarlas en la memoria del ordenador ; las secuencias infinitas se denominan flujos . La secuencia vacía ( ) se incluye en la mayoría de las nociones de secuencia, pero puede excluirse según el contexto.  
serializabilidad
En el control de concurrencia de bases de datos , [ 194 ] [ 195 ] procesamiento de transacciones (gestión de transacciones) y diversas aplicaciones transaccionales (p. ej., memoria transaccional [ 196 ] y memoria transaccional de software ), tanto centralizadas como distribuidas , una planificación de transacciones es serializable si su resultado (p. ej., el estado resultante de la base de datos) es igual al resultado de sus transacciones ejecutadas en serie, es decir, sin superponerse en el tiempo. Las transacciones normalmente se ejecutan concurrentemente (se superponen), ya que esta es la forma más eficiente. La serializabilidad es el principal criterio de corrección para las ejecuciones de transacciones concurrentes . Se considera el nivel más alto de aislamiento entre transacciones y juega un papel esencial en el control de concurrencia . Como tal, es compatible con todos los sistemas de bases de datos de propósito general. El bloqueo estricto fuerte de dos fases (SS2PL) es un mecanismo de serializabilidad popular utilizado en la mayoría de los sistemas de bases de datos (en varias variantes) desde sus inicios en la década de 1970.
publicación por entregas
Es el proceso de traducir estructuras de datos o estado de objeto a un formato que se pueda almacenar (por ejemplo, en un archivo o búfer de memoria ) o transmitir (por ejemplo, a través de un enlace de conexión de red ) y reconstruir posteriormente (posiblemente en un entorno informático diferente). [ 197 ] Cuando la serie de bits resultante se relee según el formato de serialización, se puede utilizar para crear un clon semánticamente idéntico del objeto original. Para muchos objetos complejos, como aquellos que hacen un uso extensivo de referencias , este proceso no es sencillo. La serialización de objetos orientados a objetos no incluye ninguno de sus métodos asociados con los que estaban previamente vinculados. Este proceso de serializar un objeto también se denomina marshalling de un objeto en algunas situaciones. [ 198 ] [ 199 ] La operación opuesta, extraer una estructura de datos de una serie de bytes, es la deserialización (también llamada deserialización o demarshalling ).
servidor
Una computadora que proporciona información a otras computadoras llamadas " clientes " en una red informática . [ 200 ] Esta arquitectura se llama modelo cliente-servidor .
acuerdo de nivel de servicio
(SLA), es un compromiso entre un proveedor de servicios y un cliente. Aspectos particulares del servicio  (calidad, disponibilidad, responsabilidades  ) se acuerdan entre el proveedor de servicios y el usuario del servicio. [ 201 ] El componente más común de un SLA es que los servicios deben proporcionarse al cliente según lo acordado en el contrato. Por ejemplo, los proveedores de servicios de Internet y las compañías de telecomunicaciones suelen incluir acuerdos de nivel de servicio en los términos de sus contratos con los clientes para definir el nivel o los niveles de servicio que se venden en términos sencillos. En este caso, el SLA normalmente tendrá una definición técnica en tiempo medio entre fallos (MTBF), tiempo medio de reparación o tiempo medio de recuperación (MTTR); identificando qué parte es responsable de informar de fallos o pagar tarifas; responsabilidad por diversas velocidades de datos; rendimiento ; fluctuación ; o detalles medibles similares.
colocar
Es un tipo de dato abstracto que puede almacenar valores únicos, sin ningún orden en particular . Es una implementación informática del concepto matemático de conjunto finito . A diferencia de la mayoría de los demás tipos de colecciones , en lugar de recuperar un elemento específico de un conjunto, normalmente se comprueba si un valor pertenece a un conjunto.
semifallo
Se refiere a un elemento que aparece exactamente una vez. En programación orientada a objetos , una clase singleton tiene exactamente una instancia. En matemáticas, un singleton es un conjunto que tiene exactamente un elemento. En lingüística, un hapax legomenon es un término que aparece exactamente una vez en algún corpus. En programación, una variable singleton, que aparece solo una vez, podría ser un argumento ficticio o un error que puede ser detectado por un linter . Contrasta con unique .
software
El software informático, o simplemente software, es un conjunto de datos o instrucciones que le indican a la computadora cómo funcionar. Esto contrasta con el hardware físico , a partir del cual se construye el sistema y que realiza el trabajo. En informática e ingeniería de software , el software informático abarca toda la información procesada por sistemas informáticos , programas y datos . El software informático incluye programas , bibliotecas y datos no ejecutables relacionados , como documentación en línea o medios digitales . El hardware y el software informáticos se necesitan mutuamente y ninguno puede utilizarse de forma independiente.
agente de software
Es un programa informático que actúa para un usuario u otro programa en una relación de agencia, que deriva del latín agere (hacer): un acuerdo para actuar en nombre de alguien. Dicha "acción en nombre de" implica la autoridad para decidir qué acción, si la hay, es apropiada. [ 202 ] [ 203 ] Los agentes se conocen coloquialmente como bots , de robot . Pueden estar encarnados, como cuando la ejecución se combina con un cuerpo robótico, o como software como un chatbot que se ejecuta en un teléfono (por ejemplo, Siri ) u otro dispositivo informático. Los agentes de software pueden ser autónomos o trabajar junto con otros agentes o personas. Los agentes de software que interactúan con personas (por ejemplo, chatbots , entornos de interacción humano-robot ) pueden poseer cualidades similares a las humanas, como comprensión del lenguaje natural y habla, personalidad o encarnar una forma humanoide (véase Asimo ).
construcción de software
Es una disciplina de la ingeniería de software . Consiste en la creación detallada de software funcional y significativo mediante una combinación de codificación , verificación , pruebas unitarias , pruebas de integración y depuración . Está vinculada a todas las demás disciplinas de la ingeniería de software , especialmente al diseño y las pruebas de software . [ 204 ]
despliegue de software
Son todas las actividades que hacen que un sistema de software esté disponible para su uso. [ 205 ]
diseño de software
Es el proceso mediante el cual un agente crea una especificación de un artefacto de software , destinado a lograr objetivos , utilizando un conjunto de componentes primitivos y sujeto a restricciones . [ 206 ] El diseño de software puede referirse a "toda la actividad involucrada en la conceptualización, el diseño, la implementación, la puesta en marcha y, en última instancia, la modificación de sistemas complejos" o a "la actividad posterior a la especificación de requisitos y anterior a la programación , como... [en] un proceso de ingeniería de software estilizado". [ 207 ]
desarrollo de software
El desarrollo de software es el proceso de concebir, especificar, diseñar, programar , documentar , probar y corregir errores involucrados en la creación y el mantenimiento de aplicaciones , marcos de trabajo u otros componentes de software. El desarrollo de software es un proceso de escritura y mantenimiento del código fuente , pero en un sentido más amplio, incluye todo lo que implica desde la concepción del software deseado hasta su manifestación final, a veces en un proceso planificado y estructurado . [ 208 ] Por lo tanto, el desarrollo de software puede incluir investigación, desarrollo de nuevos productos, creación de prototipos, modificación, reutilización, reingeniería, mantenimiento o cualquier otra actividad que dé como resultado productos de software. [ 209 ]
proceso de desarrollo de software
En ingeniería de software , un proceso de desarrollo de software es el proceso de dividir el trabajo de desarrollo de software en fases distintas para mejorar el diseño , la gestión de productos y la gestión de proyectos . También se conoce como ciclo de vida del desarrollo de software (SDLC). La metodología puede incluir la predefinición de entregables y artefactos específicos que son creados y completados por un equipo de proyecto para desarrollar o mantener una aplicación. [ 150 ] La mayoría de los procesos de desarrollo modernos pueden describirse vagamente como ágiles . Otras metodologías incluyen cascada , prototipado , desarrollo iterativo e incremental , desarrollo en espiral , desarrollo rápido de aplicaciones y programación extrema .
ingeniería de software
Es la aplicación sistemática de enfoques de ingeniería al desarrollo de software . [ 210 ] [ 211 ] [ 212 ] La ingeniería de software es una disciplina informática . [ 213 ]
mantenimiento de software
En ingeniería de software, es la modificación de un producto de software después de su entrega para corregir fallas, mejorar el rendimiento u otros atributos. [ 214 ]
prototipado de software
Se trata de la creación de prototipos de aplicaciones de software, es decir, versiones incompletas del programa en desarrollo. Es una actividad propia del desarrollo de software y comparable al prototipado en otros campos, como la ingeniería mecánica o la fabricación . Un prototipo suele simular solo algunos aspectos del producto final y puede ser completamente diferente.
especificación de requisitos de software
(SRS), es una descripción de un sistema de software que se va a desarrollar . La especificación de requisitos de software establece los requisitos funcionales y no funcionales , y puede incluir un conjunto de casos de uso que describen las interacciones del usuario que el software debe proporcionar para una interacción perfecta.
pruebas de software
Es una investigación realizada para brindar a las partes interesadas información sobre la calidad del producto o servicio de software bajo prueba. [ 215 ] Las pruebas de software también pueden proporcionar una visión objetiva e independiente del software para permitir que la empresa aprecie y comprenda los riesgos de la implementación del software. Las técnicas de prueba incluyen el proceso de ejecutar un programa o aplicación con la intención de encontrar errores de software (errores u otros defectos) y verificar que el producto de software sea apto para su uso.
algoritmo de ordenación
Es un algoritmo que ordena los elementos de una lista de una manera determinada . Los órdenes más utilizados son el orden numérico y el orden lexicográfico . Una ordenación eficiente es importante para optimizar la eficiencia de otros algoritmos (como los de búsqueda y fusión ) que requieren que los datos de entrada estén en listas ordenadas. La ordenación también suele ser útil para canonizar datos y para generar resultados legibles para humanos. Formalmente, el resultado de cualquier algoritmo de ordenación debe cumplir dos condiciones:
  1. La salida está en orden no decreciente (cada elemento no es menor que el elemento anterior según el orden total deseado );
  2. El resultado es una permutación (una reordenación, pero conservando todos los elementos originales) de la entrada.

Además, los datos de entrada suelen almacenarse en una matriz , que permite el acceso aleatorio , en lugar de una lista, que solo permite el acceso secuencial ; aunque muchos algoritmos pueden aplicarse a cualquiera de los dos tipos de datos tras la modificación adecuada.

código fuente
En informática , el código fuente es cualquier conjunto de código, con o sin comentarios , escrito utilizando [ 216 ] un lenguaje de programación legible por humanos , generalmente como texto plano . El código fuente de un programa está especialmente diseñado para facilitar el trabajo de los programadores , quienes especifican las acciones que debe realizar una computadora principalmente escribiendo código fuente. El código fuente suele ser transformado por un ensamblador o compilador en código máquina binario que puede ser ejecutado por la computadora. El código máquina puede almacenarse para su ejecución posterior. Alternativamente, el código fuente puede interpretarse y, por lo tanto, ejecutarse inmediatamente.
modelo espiral
Es un modelo de proceso de desarrollo de software basado en riesgos . Basado en los patrones de riesgo únicos de un proyecto determinado, el modelo espiral guía a un equipo para que adopte elementos de uno o más modelos de proceso, como el incremental , el de cascada o el prototipado evolutivo .
pila
Es un tipo de dato abstracto que sirve como una colección de elementos, con dos operaciones principales:
  • empujar , que agrega un elemento a la colección, y
  • pop , que elimina el elemento agregado más recientemente que aún no se ha eliminado.
El orden en que los elementos salen de una pila da origen a su nombre alternativo, LIFO (último en entrar, primero en salir). Además, una operación de lectura rápida puede dar acceso a la parte superior sin modificar la pila. [ 217 ] El nombre "pila" para este tipo de estructura proviene de la analogía con un conjunto de objetos físicos apilados uno encima del otro. Esta estructura facilita la extracción de un elemento de la parte superior de la pila, mientras que para acceder a un elemento más profundo puede ser necesario extraer primero varios otros elementos. [ 218 ]
estado
En tecnología de la información y ciencias de la computación, un sistema se describe como con estado si está diseñado para recordar eventos anteriores o interacciones del usuario; [ 219 ] la información recordada se llama el estado del sistema.
declaración
En programación informática , una instrucción es una unidad sintáctica de un lenguaje de programación imperativo que expresa alguna acción que debe realizarse. [ 220 ] Un programa escrito en dicho lenguaje se forma mediante una secuencia de una o más instrucciones. Una instrucción puede tener componentes internos (por ejemplo, expresiones ).
almacenamiento
El almacenamiento de datos informáticos es una tecnología que consta de componentes informáticos y soportes de grabación que se utilizan para conservar datos digitales . Es una función esencial y un componente fundamental de las computadoras. [ 65 ] : 15–16
arroyo
Se trata de una secuencia de elementos de datos que se ponen a disposición a lo largo del tiempo. Un flujo de datos puede imaginarse como elementos en una cinta transportadora que se procesan uno a uno, en lugar de en grandes lotes.
cadena
En programación informática , una cadena es tradicionalmente una secuencia de caracteres , ya sea como una constante literal o como una variable. Esta última puede permitir la modificación de sus elementos y el cambio de longitud, o bien puede ser fija (tras su creación). Generalmente, una cadena se considera un tipo de dato y suele implementarse como una estructura de datos de matriz de bytes (o palabras ) que almacena una secuencia de elementos, normalmente caracteres, utilizando alguna codificación de caracteres . El término "cadena " también puede referirse a matrices más generales u otros tipos y estructuras de datos de secuencia (o lista ).
almacenamiento estructurado
Una base de datos NoSQL (originalmente referida a "non- SQL " o "non-relational") [ 221 ] proporciona un mecanismo para el almacenamiento y la recuperación de datos que se modela de maneras distintas a las relaciones tabulares utilizadas en las bases de datos relacionales . Dichas bases de datos existen desde finales de la década de 1960, pero el nombre "NoSQL" se acuñó recién a principios del siglo XXI, [ 222 ] impulsado por las necesidades de las empresas Web 2.0 . [ 223 ] [ 224 ] Las bases de datos NoSQL se utilizan cada vez más en big data y aplicaciones web en tiempo real . [ 225 ] Los sistemas NoSQL también se denominan a veces "Not only SQL" para enfatizar que pueden admitir lenguajes de consulta similares a SQL o coexistir con bases de datos SQL en arquitecturas persistentes políglotas . [ 226 ] [ 227 ]
subrutina
En programación informática , una subrutina es una secuencia de instrucciones que realiza una tarea específica, empaquetada como una unidad. Esta unidad puede utilizarse en programas dondequiera que se requiera realizar dicha tarea .Las subrutinas pueden definirse dentro de los programas o por separado en bibliotecas que pueden ser utilizadas por muchos programas. En distintos lenguajes de programación, una subrutina puede denominarse rutina, subprograma, función, método o procedimiento. Técnicamente, todos estos términos tienen definiciones diferentes. A veces se utiliza el término genérico «unidad invocable». [ 165 ]
computación simbólica
En matemáticas e informática , [ 228 ] el álgebra computacional, también llamada computación simbólica o computación algebraica, es un área científica que se refiere al estudio y desarrollo de algoritmos y software para manipular expresiones matemáticas y otros objetos matemáticos . Aunque el álgebra computacional podría considerarse un subcampo de la computación científica , generalmente se consideran campos distintos porque la computación científica suele basarse en la computación numérica con números de punto flotante aproximados , mientras que la computación simbólica enfatiza la computación exacta con expresiones que contienen variables que no tienen un valor dado y se manipulan como símbolos.
sintaxis
La sintaxis de un lenguaje informático es el conjunto de reglas que define las combinaciones de símbolos que se consideran sentencias o expresiones correctamente estructuradas en ese lenguaje. Esto se aplica tanto a los lenguajes de programación , donde el documento representa el código fuente , como a los lenguajes de marcado , donde el documento representa datos.
error de sintaxis
Es un error en la sintaxis de una secuencia de caracteres o tokens que se pretende escribir en tiempo de compilación . Un programa no compilará hasta que se corrijan todos los errores de sintaxis. Sin embargo, para los lenguajes interpretados , un error de sintaxis puede detectarse durante la ejecución del programa , y ​​los mensajes de error de un intérprete podrían no diferenciar los errores de sintaxis de otros tipos de errores. Existe cierta discrepancia sobre qué errores son exactamente "errores de sintaxis". Por ejemplo, algunos dirían que el uso del valor de una variable no inicializada en código Java es un error de sintaxis, pero muchos otros discreparían [ 229 ] [ 230 ] y lo clasificarían como un error semántico (estático) .
consola del sistema
La consola del sistema, consola de computadora, consola raíz, consola del operador o simplemente consola es el dispositivo de entrada de texto y visualización para los mensajes de administración del sistema, particularmente aquellos provenientes de la BIOS o cargador de arranque , el núcleo , el sistema de inicio y el registrador del sistema . Es un dispositivo físico que consta de un teclado y una pantalla, y tradicionalmente es una terminal de texto , pero también puede ser una terminal gráfica . Las consolas del sistema se generalizan a terminales de computadora , que se abstraen respectivamente mediante consolas virtuales y emuladores de terminal . Hoy en día, la comunicación con las consolas del sistema generalmente se realiza de forma abstracta, a través de los flujos estándar ( stdin , stdout y stderr ), pero puede haber interfaces específicas del sistema, por ejemplo, las utilizadas por el núcleo del sistema.

T

documentación técnica
En ingeniería, cualquier tipo de documentación que describa el manejo, la funcionalidad y la arquitectura de un producto técnico o de un producto en desarrollo o en uso. [ 231 ] [ 232 ] [ 233 ] El destinatario previsto de la documentación técnica del producto es tanto el usuario final (competente) como el administrador/técnico de servicio o mantenimiento. A diferencia de un simple manual de instrucciones , la documentación técnica tiene como objetivo proporcionar suficiente información para que un usuario comprenda las dependencias internas y externas del producto en cuestión.
lenguaje de programación de tercera generación
Un lenguaje de programación de tercera generación (3GL) es un lenguaje de programación de alto nivel que tiende a ser más independiente de la máquina y más amigable para el programador que el código máquina de la primera generación y los lenguajes ensamblador de la segunda generación , mientras que tiene un enfoque menos específico que la cuarta y quinta generaciones. [ 234 ] Ejemplos de lenguajes de programación de tercera generación comunes e históricos son ALGOL , BASIC , C , COBOL , Fortran , Java y Pascal .
diseño de arriba hacia abajo y de abajo hacia arriba
árbol
Un tipo de dato abstracto (TDA) ampliamente utilizado que simula una estructura de árbol jerárquica , con un valor raíz y subárboles de hijos con un nodo padre , representados como un conjunto de nodos vinculados .
teoría de tipos
En matemáticas, lógica e informática, una teoría de tipos es cualquier sistema formal , algunos de los cuales pueden servir como alternativas a la teoría de conjuntos como fundamento de todas las matemáticas . En la teoría de tipos, cada "término" tiene un "tipo" y las operaciones se restringen a términos de un tipo determinado.

U

subir
En redes informáticas , enviar datos a un sistema remoto como un servidor u otro cliente para que el sistema remoto pueda almacenar una copia. [ 235 ] Contrasta con descarga .
Localizador Uniforme de Recursos (URL)
Una URL es un tipo específico de identificador uniforme de recursos (URI), [ 237 ] [ 238 ] aunque muchas personas usan ambos términos indistintamente. [ 239 ] [ c ] Las URL se usan con mayor frecuencia para referenciar páginas web ( http ) , pero también se utilizan para transferencia de archivos ( ftp ) , correo electrónico ( mailto ), acceso a bases de datos ( JDBC ) y muchas otras aplicaciones.
único
Un elemento que es diferente de otros elementos. Los registros de la base de datos se mantienen separados mediante claves únicas . Un conjunto garantiza que todos sus elementos son únicos. La existencia de un elemento único se modela mediante la cuantificación de la unicidad . Encontrar elementos únicos en una secuencia o lista requiere la eliminación de duplicados de datos . Contrasta con singleton .
usuario
Es una persona que utiliza un servicio de computadora o red . Los usuarios de sistemas informáticos y productos de software generalmente carecen de la experiencia técnica necesaria para comprender completamente cómo funcionan. [ 242 ] Los usuarios avanzados utilizan funciones avanzadas de los programas, aunque no necesariamente son capaces de programar computadoras y administrar sistemas .
agente de usuario
Software (un agente de software ) que actúa en nombre de un usuario , como un navegador web que "recupera, renderiza y facilita la interacción del usuario final con el contenido web". [ 243 ] Un lector de correo electrónico es un agente de usuario de correo .
interfaz de usuario (UI)
El espacio donde se producen las interacciones entre humanos y máquinas. El objetivo de esta interacción es permitir el funcionamiento y control efectivos de la máquina desde la perspectiva humana, mientras que la máquina, a su vez, proporciona información que facilita la toma de decisiones del operador . Ejemplos de este concepto general de interfaces de usuario incluyen los aspectos interactivos de los sistemas operativos de computadoras, las herramientas manuales , los controles de operación de maquinaria pesada y los controles de procesos . Las consideraciones de diseño aplicables a la creación de interfaces de usuario están relacionadas con disciplinas como la ergonomía y la psicología .
diseño de interfaz de usuario
El diseño de interfaces de usuario para máquinas y software , como ordenadores, electrodomésticos, dispositivos móviles y otros dispositivos electrónicos, se centra en maximizar la usabilidad y la experiencia del usuario . El objetivo del diseño de interfaces de usuario es simplificar y optimizar al máximo la interacción del usuario para lograr sus objetivos ( diseño centrado en el usuario ).

V

variable
En programación informática , una variable, o escalar, es una ubicación de almacenamiento (identificada por una dirección de memoria ) asociada a un nombre simbólico (un identificador ), que contiene información conocida o desconocida denominada valor . El nombre de la variable es la forma habitual de referirse al valor almacenado, además de referirse a la variable misma, según el contexto. Esta separación entre nombre y contenido permite utilizar el nombre independientemente de la información exacta que representa. El identificador en el código fuente de un programa informático puede vincularse a un valor durante la ejecución , por lo que el valor de la variable puede cambiar durante el transcurso de la ejecución del programa . [ 244 ] [ 245 ]
máquina virtual (VM)
Una emulación de un sistema informático. Las máquinas virtuales se basan en arquitecturas informáticas e intentan proporcionar la misma funcionalidad que un ordenador físico. Su implementación puede requerir hardware especializado, software o una combinación de ambos.
Modelo V
Un proceso de desarrollo de software que puede considerarse una extensión del modelo en cascada y es un ejemplo del modelo V más general . En lugar de avanzar linealmente hacia abajo, los pasos del proceso se curvan hacia arriba después de la fase de codificación , formando la típica forma de V. El modelo V muestra las relaciones entre cada fase del ciclo de vida del desarrollo y su fase de prueba asociada . Los ejes horizontal y vertical representan el tiempo o la finalización del proyecto (de izquierda a derecha) y el nivel de abstracción (de la abstracción más gruesa hacia arriba), respectivamente. [ 246 ]

W

modelo de cascada
Desglose de las actividades del proyecto en fases secuenciales lineales , donde cada fase depende de los entregables de la anterior y corresponde a una especialización de tareas. Este enfoque es típico en ciertas áreas del diseño de ingeniería . En el desarrollo de software , suele ser uno de los enfoques menos iterativos y flexibles, ya que el progreso fluye en gran medida en una sola dirección ("hacia abajo", como una cascada ) a través de las fases de concepción, inicio, análisis , diseño , construcción , pruebas , despliegue y mantenimiento .
Formato de archivo de audio de forma de onda
Un estándar de formato de archivo de audio , desarrollado por Microsoft e IBM , para almacenar flujos de bits de audio en PC . Es una aplicación del método de formato de flujo de bits RIFF ( Resource Interchange File Format ) para almacenar datos en bloques, y por lo tanto, es similar a los formatos 8SVX y AIFF utilizados en computadoras Amiga y Macintosh , respectivamente. Es el formato principal utilizado en sistemas Microsoft Windows para audio sin comprimir. La codificación de flujo de bits habitual es el formato de modulación por impulsos codificados lineal (LPCM).
rastreador web
Un bot de Internet que navega sistemáticamente por la World Wide Web , normalmente con el propósito de indexar la web ( rastrear la web ).
Wi-Fi
Una familia de tecnologías de redes inalámbricas, basadas en la familia de estándares IEEE 802.11 , que se utilizan comúnmente para redes de área local de dispositivos y acceso a Internet . Wi - Fi es una marca registrada de la Wi-Fi Alliance , una organización sin fines de lucro que restringe el uso del término Wi-Fi Certified a productos que superan con éxito las pruebas de certificación de interoperabilidad . [ 247 ] [ 248 ] [ 249 ]

incógnita

XHTML
Forma parte de la familia de lenguajes de marcado XML . Refleja o extiende versiones del lenguaje de marcado de hipertexto (HTML), ampliamente utilizado y que es el lenguaje en el que se formulan las páginas web .

Véase también

Referencias

  1. "Métodos y clases abstractas" . oracle.com . Documentación de Oracle Java . Consultado el 11 de diciembre de 2014 .
  2. Colburn, Timothy; Shute, Gary (5 de junio de 2007). "Abstracción en Ciencias de la Computación". Minds and Machines . 17 (2): 169– 184. doi : 10.1007/s11023-007-9061-7 . ISSN 0924-6495 . S2CID 5927969 .  
  3. 1 2 Kramer, Jeff (2007-04-01). "¿Es la abstracción la clave de la computación?". Communications of the ACM . 50 (4): 36– 42. CiteSeerX 10.1.1.120.6776 . doi : 10.1145/1232743.1232745 . ISSN 0001-0782 . S2CID 12481509 .   
  4. Comparación de arquitecturas de agentes. Archivado el 27 de agosto de 2008 en Wayback Machine .
  5. Klug, Anthony (julio de 1982). "Equivalencia de lenguajes de consulta de álgebra relacional y cálculo relacional que tienen funciones agregadas" . Journal of the Association for Computing Machinery . 29 (3): 699– 717. doi : 10.1145/322326.322332 .
  6. Collier, Ken W. (2011). Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing . Pearson Education. pp. 121 ss. ISBN  9780321669544¿ Qué es un equipo autoorganizado?
  7. "¿Qué es el desarrollo ágil de software?" . Agile Alliance. 8 de junio de 2013 . Consultado el 4 de abril de 2015 .
  8. Goodrich, Michael T. ; Tamassia, Roberto (2002), Diseño de algoritmos: Fundamentos, análisis y ejemplos de Internet , John Wiley & Sons, Inc., ISBN 978-0-471-38365-9
  9. "Software de aplicación" . PC Magazine . Ziff Davis .
  10. Black, Paul E. (13 de noviembre de 2008). "array" . Diccionario de algoritmos y estructuras de datos . Instituto Nacional de Estándares y Tecnología . Recuperado el 22 de agosto de 2010 .
  11. Bjoern Andres; Ullrich Koethe; Thorben Kroeger; Hamprecht (2010). "Runtime-Flexible Multi-dimensional Arrays and Views para C++98 y C++0x". arXiv : 1008.2909 [ cs.DS ].
  12. Garcia, Ronald; Lumsdaine, Andrew (2005). "MultiArray: una biblioteca de C++ para programación genérica con arreglos". Software: Practice and Experience . 35 (2): 159– 188. doi : 10.1002/spe.630 . ISSN 0038-0644 . S2CID 10890293 .  
  13. Definición de IA como el estudio de agentes inteligentes :
  14. Russell y Norvig 2009 , pág. 2.
  15. Goodrich, Michael T .; Tamassia, Roberto (2006), "9.1 El tipo de datos abstracto Map", Estructuras de datos y algoritmos en Java (4.ª ed.), Wiley, págs . 368–371  
  16. Mehlhorn, Kurt ; Sanders, Peter (2008), "4 Tablas hash y matrices asociativas", Algoritmos y estructuras de datos: La caja de herramientas básica (PDF) , Springer, págs . 81–98 
  17. Douglas Comer , Redes informáticas e Internet , página 99 y siguientes, Prentice Hall 2008.
  18. Fred Halsall, a data+communications and computer networks , página 108, Addison-Wesley, 1985.
  19. Programa de la Academia de Redes de Cisco: Guía complementaria de CCNA 1 y 2, Vol. 1–2 , Academia de Cisco 2003
  20. Behrouz A. Forouzan, Comunicaciones de datos y redes , McGraw-Hill, 2007
  21. Fleming, Philip J.; Wallace, John J. (1986-03-01). "Cómo no mentir con las estadísticas: la forma correcta de resumir los resultados de referencia" . Communications of the ACM . 29 (3): 218– 221. doi : 10.1145/5666.5673 . ISSN 0001-0782 . S2CID 1047380 .  
  22. Breur, Tom (julio de 2016). "Análisis de potencia estadística y la "crisis" contemporánea en las ciencias sociales" . Journal of Marketing Analytics . 4 ( 2–3 ): 61–65 . doi : 10.1057/s41270-016-0001-3 . ISSN 2050-3318 . 
  23. ^ Bachmann, Paul (1894). Analytische Zahlentheorie [ Teoría analítica de números ] (en alemán). vol. 2. Leipzig: Teubner. 
  24. ^ Landau, Edmundo (1909). Handbuch der Lehre von der Verteilung der Primzahlen [ Manual sobre la teoría de la distribución de los números primos ] (en alemán). Leipzig: BG Teubner. pag. 883. 
  25. Williams, Jr., Louis F. (22 de abril de 1976). Una modificación al método de búsqueda de medio intervalo (búsqueda binaria) . Actas de la 14.ª Conferencia del Sureste de la ACM. ACM. págs. 95–101 . doi : 10.1145/503561.503582 . Archivado del original el 12 de marzo de 2017. Recuperado el 29 de junio de 2018 . 
  26. Knuth 1998 , §6.2.1 ("Búsqueda en una tabla ordenada"), subsección "Búsqueda binaria".
  27. ^ Butterfield y Ngondi 2016 , pág. 46.
  28. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. pag. 39.ISBN   0-262-03384-4.
  29. Rowan Garnier; John Taylor (2009). Matemáticas discretas: demostraciones, estructuras y aplicaciones, tercera edición . CRC Press. pág. 620. ISBN  978-1-4398-1280-8.
  30. Steven S Skiena (2009). Manual de diseño de algoritmos . Springer Science & Business Media. pág. 77. ISBN  978-1-84800-070-4.
  31. Mackenzie, Charles E. (1980). Conjuntos de caracteres codificados, historia y desarrollo (PDF) . Serie de programación de sistemas (1.ª ed.). Addison-Wesley Publishing Company, Inc. pág. x. ISBN   978-0-201-14460-4LCCN 77-90165 . Archivado (PDF) del original el 26 de mayo de 2016. Consultado el 25 de agosto de 2019 . 
  32. Gupta, Prakash C (2006). Comunicaciones de datos y redes informáticas . PHI Learning. ISBN 9788120328464Consultado el 10 de julio de 2011 .
  33. James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos (segunda edición). O'Reilly . bmp. ISBN  978-1-56592-161-0. Consultado el 7 de marzo de 2014 .
  34. James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos (segunda edición). O'Reilly . os2bmp. ISBN  978-1-56592-161-0. Consultado el 7 de marzo de 2014 .
  35. Nicholls 1975 , págs. 159–161 , 318–320 , 322–325 . 
  36. Gries, David ; Schneider, Fred B. (1993), "Capítulo 2. Expresiones booleanas", Un enfoque lógico de las matemáticas discretas , Monografías en informática, Springer, pág. 25 y ss., ISBN  9780387941158
  37. Pohl y Shaw 1981 , págs. 101-105 . 
  38. Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962), "4: Natural Data Units" (PDF) , en Buchholz, Werner (ed.), Planning a Computer System – Project Stretch , McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA., pp. 39–40 , LCCN 61-10466 , archivado (PDF) del original el 3 de abril de 2017 , recuperado el 3 de abril de 2017 , […] Los términos utilizados aquí para describir la estructura impuesta por el diseño de la máquina, además de bit , se enumeran a continuación. Byte denota un grupo de bits utilizados para codificar un carácter, o el número de bits transmitidos en paralelo hacia y desde las unidades de entrada/salida. Aquí se utiliza un término distinto a «carácter» porque un mismo carácter puede representarse en diferentes aplicaciones mediante más de un código, y distintos códigos pueden usar diferentes cantidades de bits (es decir, diferentes tamaños de byte). En la transmisión de entrada/salida, la agrupación de bits puede ser completamente arbitraria y no tener relación con los caracteres reales. (El término deriva de «bite» , pero se ha reescrito para evitar mutaciones accidentales a «bit »). Una palabra consiste en el número de bits de datos transmitidos en paralelo desde o hacia la memoria en un ciclo de memoria. El tamaño de la palabra se define, por lo tanto, como una propiedad estructural de la memoria. (El término «catena» fue acuñado con este propósito por los diseñadores del ordenador Bull GAMMA 60 ). Un bloque se refiere al número de palabras transmitidas hacia o desde una unidad de entrada/salida en respuesta a una única instrucción de entrada/salida. El tamaño del bloque es una propiedad estructural de una unidad de entrada/salida; puede haber sido fijo por el diseño o estar sujeto a la variación del programa. […]  
  39. Bemer, Robert William (1959), "Una propuesta para un código de tarjeta generalizado de 256 caracteres", Communications of the ACM , 2 (9): 19– 23, doi : 10.1145/368424.368435 , S2CID 36115735 
  40. Weik, Martin H. (1961). Un tercer estudio de los sistemas informáticos digitales electrónicos domésticos (Informe). Laboratorio de Investigación Balística .
  41. ^ Kuck, David (1978). Computadoras y Computaciones, Vol 1 . John Wiley & Sons, Inc. pág. 12.ISBN  978-0471027164.
  42. "Definición de CARÁCTER" . www.merriam-webster.com . Consultado el 1 de abril de 2018 .
  43. ^ Gamma y col. 1995 , pág. 14.
  44. 1 2 Bruce 2002 , 2.1 Objetos, clases y tipos de objetos, https://books.google.com/books?id=9NGWq3K1RwUC&pg=PA18 .
  45. Sadoski, Darleen. Arquitecturas de software cliente/servidor: una visión general , Software Technology Roadmap, 2 de agosto de 1997. Consultado el 16 de septiembre de 2008.
  46. Mills, H .; M. Dyer; R. Linger (septiembre de 1987). "Ingeniería de software para salas limpias". IEEE Software . 4 (5): 19– 25. Bibcode : 1987ISoft...4e..19M . CiteSeerX 10.1.1.467.2435 . doi : 10.1109/MS.1987.231413 . S2CID 383170 .  
  47. Sussman y Steele. "Scheme: Un intérprete para el cálculo lambda extendido". "... una estructura de datos que contiene una expresión lambda y un entorno que se utilizará cuando esa expresión lambda se aplique a los argumentos." ( Wikisource )
  48. 1 2 Shaun Bebbington (2014). "¿Qué es la codificación?" . Recuperado el 3 de marzo de 2014 .
  49. 1 2 Shaun Bebbington (2014). "¿Qué es la programación?" . Recuperado el 13 de junio de 2025 .
  50. La ciencia cognitiva es un campo interdisciplinario de investigadores de lingüística, psicología, neurociencia, filosofía, informática y antropología que buscan comprender la mente. Cómo aprendemos: Pregúntale al científico cognitivo
  51. Thagard, Paul , Ciencia cognitiva , La enciclopedia de filosofía de Stanford (edición de otoño de 2008), Edward N. Zalta (ed.).
  52. Equipo de PC Mag (28 de febrero de 2017). "Enciclopedia: Definición de compilador" . PCMag.com . Consultado el 28 de febrero de 2017 .
  53. Cálculo realizado con el Diccionario gratuito Merriam-Webster
  54. "Cálculo: Definición y sinónimos de Answers.com" . Answers.com . Archivado del original el 22 de febrero de 2009. Consultado el 26 de abril de 2017 .
  55. «Definición operativa de bioinformática y biología computacional del NIH» (PDF). Iniciativa de Ciencia y Tecnología de la Información Biomédica. 17 de julio de 2000. Archivado del original (PDF) el 5 de septiembre de 2012. Consultado el 18 de agosto de 2012.
  56. "Acerca del CCMB". Centro de Biología Molecular Computacional. Consultado el 18 de agosto de 2012.
  57. Melnik, Roderick, ed. (2015). Modelado matemático y computacional: con aplicaciones en ciencias naturales y sociales, ingeniería y artes . Wiley. ISBN 978-1-118-85398-6.
  58. Trappenberg, Thomas P. (2002). Fundamentos de la neurociencia computacional . Estados Unidos: Oxford University Press Inc. pág . 1. ISBN  978-0-19-851582-1.
  59. ¿Qué es la neurociencia computacional? Patricia S. Churchland, Christof Koch, Terrence J. Sejnowski. En Neurociencia Computacional, págs. 46-55. Editado por Eric L. Schwartz. 1993. MIT Press. «Neurociencia Computacional - The MIT Press» . Archivado del original el 4 de junio de 2011. Consultado el 11 de junio de 2009 .
  60. "Neurociencia teórica" . The MIT Press . Archivado del original el 31 de mayo de 2018. Consultado el 24 de mayo de 2018 .
  61. Gerstner, W.; Kistler, W.; Naud, R.; Paninski, L. (2014). Dinámica neuronal . Cambridge, Reino Unido: Cambridge University Press . ISBN 9781107447615.
  62. Thijssen, Jos (2007). Física Computacional. Cambridge University Press. ISBN 978-0521833462.
  63. Clements, Alan. Principios del hardware informático (Cuarta ed.). pág. 1. La arquitectura describe la organización interna de un ordenador de forma abstracta; es decir, define las capacidades del ordenador y su modelo de programación. Se pueden tener dos ordenadores construidos de forma diferente con tecnologías distintas, pero con la misma arquitectura.  
  64. Hennessy, John; Patterson, David. Arquitectura de computadoras: un enfoque cuantitativo (quinta ed.). pág. 11. Esta tarea tiene muchos aspectos, incluyendo el diseño del conjunto de instrucciones, la organización funcional, el diseño lógico y la implementación.  
  65. 1 2 3 Patterson, David A.; Hennessy, John L. (2005). Organización y diseño de computadoras: la interfaz hardware/software (3.ª ed.). Ámsterdam : Morgan Kaufmann Publishers . ISBN  1-55860-604-1OCLC 56213091 
  66. Bynum, Terrell Ward. "Una breve historia de la ética informática" . Southern Connecticut Wein University. Archivado del original el 18 de abril de 2008. Consultado el 5 de enero de 2011 .
  67. Rochkind, Marc J. (2004). Programación avanzada en Unix, segunda edición . Addison-Wesley. pág. 1.1.2. 
  68. "Búsqueda en WordNet—3.1" . Wordnetweb.princeton.edu. Archivado del original el 11 de noviembre de 2024. Consultado el 14 de mayo de 2012 .
  69. Schatz, Daniel; Bashroush, Rabih; Wall, Julie (2017). "Hacia una definición más representativa de la ciberseguridad" . Journal of Digital Forensics, Security and Law . 12 (2). ISSN 1558-7215 . 
  70. Dana H. Ballard; Christopher M. Brown (1982). Visión por computadora. Prentice Hall. ISBN 0-13-165316-4.
  71. Huang, T. (1996-11-19). Vandoni, Carlo, E, ed. Visión por computadora : evolución y promesas (PDF). 19.ª Escuela de Computación del CERN. Ginebra: CERN. pp. 21–25. doi:10.5170/CERN-1996-008.21. ISBN 978-9290830955.
  72. Milan Sonka; Vaclav Hlavac; Roger Boyle (2008). Procesamiento, análisis y visión artificial de imágenes. Thomson. ISBN 0-495-08252-X.
  73. "Planes de estudio de informática 2020 CC2020: paradigmas para la educación informática global" (PDF) .
  74. Schwartzman, Steven (1994). The Words of Mathematics: An Etymological Dictionary of Mathematical Terms Used in English . Mathematical Association of America . ISBN 0-88385-511-9. Consultado el 11 de noviembre de 2025 .
  75. Lamport, Leslie (julio de 1978). "Tiempo, relojes y ordenamiento de eventos en un sistema distribuido" (PDF) . Communications of the ACM . 21 (7): 558– 565. CiteSeerX 10.1.1.142.3682 . doi : 10.1145/359545.359563 . S2CID 215822405. Recuperado el 4 de febrero de 2016 .  
  76. Paul E. Black (ed.), entrada para estructura de datos en el Diccionario de algoritmos y estructuras de datos . Instituto Nacional de Estándares y Tecnología de EE. UU . 15 de diciembre de 2004. Consultado el 4 de octubre de 2011.
  77. Estructura de datos de entradaen la Encyclopædia Britannica (2009) Entrada en línea . Consultado el 4 de octubre de 2011.
  78. Sussman, Gerald Jay ; Steele, Guy L. Jr. (diciembre de 1975). "Scheme: Un intérprete para el cálculo lambda extendido" . AI Memo . 349 : 19. Es decir, en este estilo de programación de paso de continuaciones , una función siempre "devuelve" su resultado "enviándolo" a otra función . Esta es la idea clave. 
  79. Sussman, Gerald Jay ; Steele, Guy L. Jr. (diciembre de 1998). "Scheme: un intérprete para el cálculo lambda extendido" (PDF) . Higher-Order and Symbolic Computation . 11 (4): 405– 439. doi : 10.1023/A:1010035624696 . S2CID 18040106. Archivado del original (reimpresión) el 21 de mayo de 2006. Creemos que esta fue la primera aparición del término " estilo de paso de continuaciones " en la literatura. Ha resultado ser un concepto importante en el análisis y la transformación del código fuente para compiladores y otras herramientas de metaprogramación. También ha inspirado un conjunto de otros "estilos" de expresión de programas. 
  80. "Preguntas frecuentes" . Creative Commons. 4 de agosto de 2016. Consultado el 20 de diciembre de 2011 .
  81. Rivest, Ronald L. (1990). "Criptografía". En J. Van Leeuwen (ed.). Manual de informática teórica . Vol. 1. Elsevier. 
  82. ^ Bellare, Mihir; Rogaway, Phillip (21 de septiembre de 2005). "Introducción". Introducción a la criptografía moderna . pag. 10. 
  83. Menezes, AJ; van Oorschot, PC; Vanstone, SA (1997). Manual de criptografía aplicada . Taylor & Francis. ISBN 978-0-8493-8523-0.
  84. Eric S. Raymond . "daemon" . The Jargon File . Consultado el 22 de octubre de 2008 .
  85. James Glanz (22 de septiembre de 2012). "Poder, contaminación e Internet" . The New York Times . Consultado el 25 de septiembre de 2012 .
  86. 1 2 3 "Plan de estudios de minería de datos" . ACM SIGKDD . 30 de abril de 2006. Consultado el 27 de enero de 2014 .
  87. Clifton, Christopher (2010). "Encyclopædia Britannica: Definición de minería de datos" . Encyclopedia Britannica . Consultado el 9 de diciembre de 2010 .
  88. Hastie, Trevor ; Tibshirani, Robert ; Friedman, Jerome (2009). "Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción" . Archivado del original el 10 de noviembre de 2009. Recuperado el 7 de agosto de 2012 .
  89. Han, Jaiwei; Kamber, Micheline; Pei, Jian (2011). Minería de datos: conceptos y técnicas (3.ª ed.). Morgan Kaufmann. ISBN  978-0-12-381479-1.
  90. Fayyad, Usama; Piatetsky-Shapiro, Gregory; Smyth, Padhraic (1996). "De la minería de datos al descubrimiento de conocimiento en bases de datos" (PDF). Recuperado el 17 de diciembre de 2008.
  91. Dhar, V. (2013). "Ciencia de datos y predicción" . Communications of the ACM . 56 (12): 64– 73. doi : 10.1145/2500499 . S2CID 6107147 . 
  92. Jeff Leek (12 de diciembre de 2013). "La palabra clave en 'Ciencia de Datos' no es Datos, sino Ciencia" . Simply Statistics. Archivado del original el 2 de enero de 2014. Consultado el 5 de diciembre de 2018 .
  93. Hayashi, Chikio (1998-01-01). "¿Qué es la ciencia de datos ? Conceptos fundamentales y un ejemplo heurístico" . En Hayashi, Chikio; Yajima, Keiji; Bock, Hans-Hermann; Ohsumi, Noboru; Tanaka, Yutaka; Baba, Yasumasa (eds.). Ciencia de datos, clasificación y métodos relacionados . Estudios en clasificación, análisis de datos y organización del conocimiento. Springer Japan. pp. 40–51 . doi : 10.1007/978-4-431-65950-1_3 . ISBN   9784431702085.
  94. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. ISBN  0-262-03384-4.
  95. Black, Paul E. (15 de diciembre de 2004). "estructura de datos" . En Pieterse, Vreda; Black, Paul E. (eds.). Diccionario de algoritmos y estructuras de datos [en línea] . Instituto Nacional de Estándares y Tecnología . Recuperado el 6 de noviembre de 2018 .
  96. "Estructura de datos" . Enciclopedia Británica . 17 de abril de 2017. Consultado el 6 de noviembre de 2018 .
  97. Wegner, Peter; Reilly, Edwin D. (29 de agosto de 2003). Enciclopedia de la informática . Chichester, Reino Unido: John Wiley and Sons. págs. 507–512 . ISBN  978-0470864128.
  98. escribir en el Diccionario en línea gratuito de informática
  99. Shaffer, CA (2011). Estructuras de datos y análisis de algoritmos en C++ (3.ª ed.). Mineola, NY: Dover. 1.2. ISBN  978-0-486-48582-9.
  100. 1 2 3 "Una declaración especifica la interpretación y los atributos de un conjunto de identificadores. Una definición de un identificador es una declaración para ese identificador que:
    • Para un objeto [variable o constante], hace que se reserve espacio de almacenamiento para ese objeto;
    • para una función, incluye el cuerpo de la función;
    • para una constante de enumeración, es la (única) declaración del identificador;
    • Para un nombre de tipo typedef, es la primera (o única) declaración del identificador."
    Especificación C11, 6.7: Declaraciones, párrafo 5.
  101. Mike Banahan. "2.5. Declaración de variables" . GBdirect . Consultado el 8 de junio de 2011. [ Una] declaración [...] introduce solo el nombre y el tipo de algo, pero no asigna espacio de almacenamiento [...].
  102. Stewart Robinson (2004). Simulación: la práctica del desarrollo y uso de modelos . Wiley.
  103. 1 2 Coulouris, George; Jean Dollimore; Tim Kindberg; Gordon Blair (2011). Sistemas distribuidos: conceptos y diseño (5.ª ed.). Boston: Addison-Wesley. ISBN  978-0-132-14301-1.
  104. Bjørner, Dines (2006). «El tríptico de la ingeniería de software». Ingeniería de software 3: dominios, requisitos y diseño de software (libro). Vol. I. Springer Verlag. pág. 9. ISBN   978-3-540-33653-2. Consultado el 19 de diciembre de 2016 .
  105. "¿Qué es descargar? - Definición de WhatIs.com" . SearchNetworkNexting . Archivado del original el 5 de septiembre de 2019. Consultado el 4 de marzo de 2019 .
  106. 1 2 Kessler, Gary (17 de noviembre de 2006). "Una visión general de la criptografía" . Universidad de Princeton .
  107. ^ Vivek Gupta; Ethan Jackson; Shaz Qadeer; Sriram Rajamani (noviembre de 2012). "P: Programación asincrónica segura basada en eventos" . Microsoft . Consultado el 20 de febrero de 2017 .
  108. "ejecutable" . Diccionario en línea de Merriam-Webster . Merriam-Webster . Consultado el 19 de julio de 2008 .
  109. Justis, RT y Kreigsmann, B. (1979). El estudio de viabilidad como herramienta para el análisis de emprendimientos. Business Journal of Small Business Management 17 (1) 35-42.
  110. Georgakellos, DA y Marcis, AM (2009). Aplicación del enfoque de aprendizaje semántico en el proceso de capacitación para la preparación de estudios de viabilidad. Information Systems Management 26 (3) 231–240.
  111. Young, GIM (1970). Estudios de viabilidad. Appraisal Journal 38 (3) 376-383.
  112. RW Butler (6 de agosto de 2001). "¿Qué son los métodos formales?" . Consultado el 16 de noviembre de 2006 .
  113. C. Michael Holloway. Por qué los ingenieros deberían considerar los métodos formales (PDF) . 16.ª Conferencia de Sistemas de Aviónica Digital (27-30 de octubre de 1997). Archivado del original (PDF) el 16 de noviembre de 2006. Consultado el 16 de noviembre de 2006 .
  114. Sanghavi, Alok (21 de mayo de 2010). "¿Qué es la verificación formal?". EE Times Asia .
  115. "Estilo de declaración vs. estilo de expresión - HaskellWiki" .
  116. Myerson, Roger B. (1991). Teoría de juegos: análisis del conflicto, Harvard University Press , pág. 1. Enlaces de vista previa de capítulos, págs. vii–xi . 
  117. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. págs. 151-152 . ISBN   0-262-03384-4.
  118. Black (ed.), Paul E. (14 de diciembre de 2004). Entrada para heap en el Diccionario de algoritmos y estructuras de datos . Versión en línea. Instituto Nacional de Estándares y Tecnología de EE. UU. , 14 de diciembre de 2004. Recuperado el 8 de octubre de 2017 de https://xlinux.nist.gov/dads/HTML/heap.html .
  119. Skiena, Steven (2012). "Clasificación y búsqueda". Manual de diseño de algoritmos . Springer. pág. 109. doi : 10.1007 /978-1-84800-070-4_4 . ISBN  978-1-84800-069-8. [E]l algoritmo de ordenación por heap no es más que una implementación de la ordenación por selección utilizando la estructura de datos adecuada.
  120. Norma internacional ISO/IEC/IEEE - Ingeniería de sistemas y software . ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 15 de diciembre de 2010. 
  121. Martyn A Ould y Charles Unwin (eds.), Pruebas en el desarrollo de software , BCS (1986), pág . 71. Consultado el 31 de octubre de 2014.
  122. Organización Mundial de la Propiedad Intelectual (OMPI) (2016). Comprender la propiedad industrial . Organización Mundial de la Propiedad Intelectual. doi : 10.34667/tind.28945 . ISBN 9789280525885. Consultado el 06-12-2018 .
  123. "Propiedad intelectual, industrial y comercial | Fichas informativas sobre la Unión Europea" . Parlamento Europeo . Consultado el 6 de diciembre de 2018 .
  124. "¿Qué son los derechos de propiedad intelectual?" . Organización Mundial del Comercio . Consultado el 23 de mayo de 2016 .
  125. "Propiedad intelectual", Diccionario jurídico de Black , 10.ª ed. (2014).
  126. "Comprensión de los derechos de autor y derechos conexos" (PDF) . Organización Mundial de la Propiedad Intelectual. pág. 4. Consultado el 6 de diciembre de 2018 . 
  127. "¿Qué es la propiedad intelectual?" (PDF) . Organización Mundial de la Propiedad Intelectual (OMPI). Archivado (PDF) del original el 3 de abril de 2025. Consultado el 7 de diciembre de 2018 .
  128. "Entendiendo la propiedad industrial" (PDF) . Organización Mundial de la Propiedad Intelectual (OMPI) . Consultado el 7 de diciembre de 2018 .
  129. Anderson, Michael; Anderson, Susan Leigh (15 de diciembre de 2007). "Ética de las máquinas: Creación de un agente inteligente ético" . AI Magazine . 28 (4): 15. doi : 10.1609/aimag.v28i4.2065 . ISSN 2371-9621 . S2CID 17033332 .  
  130. Según la definición dada por Russell y Norvig (2003 , cap. 2)
  131. Hookway, B. (2014). «Capítulo 1: El sujeto de la interfaz». Interface . MIT Press. págs. 1–58 . ISBN  9780262525503.
  132. IEEE 100 - El diccionario autorizado de términos de las normas IEEE . Nueva York, NY, EE. UU.: IEEE Press. 2000. págs. 574–575 . ISBN  9780738126012.
  133. Dunham, Ken; Melnick, Jim (2008). Bots maliciosos: Una mirada al interior del submundo ciberdelictivo de Internet . CRC Press. ISBN 9781420069068.
  134. Gosling et al. 2014 , pág. 1.
  135. "¿Java es puramente orientado a objetos o no?" . Stack Overflow . Consultado el 24 de mayo de 2019 .
  136. "¿Escribir una vez, ejecutar en cualquier lugar?" . Computer Weekly . 2 de mayo de 2002 . Consultado el 27 de julio de 2009 .
  137. "1.2 Objetivos de diseño del lenguaje de programación Java™" . Oracle. 1 de enero de 1999. Archivado del original el 23 de enero de 2013. Consultado el 14 de enero de 2013 .
  138. Knuth 1998 , §6.1 ("Búsqueda secuencial").
  139. IBM Corporation (1972). Editor y cargador de enlaces del sistema operativo IBM (PDF) .
  140. Abelson, Harold; Sussman, Gerald Jay (1996). Estructura e interpretación de programas informáticos . MIT Press.
  141. La definición "sin ser programado explícitamente" se atribuye a menudo a Arthur Samuel , quien acuñó el término "aprendizaje automático" en 1959, pero la frase no se encuentra textualmente en esta publicación y puede ser una paráfrasis que apareció posteriormente. Véase "Parafraseando a Arthur Samuel (1959), la pregunta es: ¿Cómo pueden las computadoras aprender a resolver problemas sin ser programadas explícitamente?" en Koza, John R.; Bennett, Forrest H.; Andre, David; Keane, Martin A. (1996). Automated Design of Both the Topology and Sizing of Analog Electrical Circuits Using Genetic Programming . Artificial Intelligence in Design '96. Springer, Dordrecht. pp. 151– 170. doi : 10.1007/978-94-009-0279-4_9 . 
  142. Bishop, CM (2006), Reconocimiento de patrones y aprendizaje automático, Springer, ISBN 978-0-387-31073-2
  143. Entre los textos de pregrado se incluyen Boolos, Burgess y Jeffrey (2002) , Enderton (2001) y Mendelson (1997) . Un texto clásico de posgrado de Shoenfield (2001) se publicó por primera vez en 1967.
  144. De forma equivalente, tabla .
  145. Anton (1987 , p. 23)
  146. ^ Beauregard y Fraleigh (1973 , pág. 56)
  147. Knuth (1998 , p. 158)
  148. Katajainen, Jyrki; Träff, Jesper Larsson (marzo de 1997). "Un análisis meticuloso de los programas mergesort" (PDF) . Actas de la 3.ª Conferencia Italiana sobre Algoritmos y Complejidad . Conferencia Italiana sobre Algoritmos y Complejidad. Roma. págs. 217–228 . CiteSeerX 10.1.1.86.3154 . doi : 10.1007/3-540-62592-5_74 .  
  149. Los consumidores de un objeto pueden consistir en varios tipos de elementos, como otros programas, sistemas informáticos remotos o programadores informáticos que deseen utilizar el objeto como parte de sus propios programas.
  150. 1 2 Centros de Servicios de Medicare y Medicaid (CMS), Oficina de Servicios de Información (2008). Selección de un enfoque de desarrollo. Artículo web. Departamento de Salud y Servicios Humanos de los Estados Unidos (HHS). Revalidado: 27 de marzo de 2008. Consultado el 27 de octubre de 2008.
  151. Oppel, Andy (2005). SQL Desmitificado . McGraw Hill. pág. 7. ISBN  0-07-226224-9.
  152. "¿Qué es un compilador?" . TechTarget . Consultado el 14 de junio de 2025 . Los compiladores que traducen el código fuente a código máquina suelen estar dirigidos a sistemas operativos y arquitecturas informáticas específicas. Este tipo de salida a veces se denomina código objeto, que no está relacionado con la programación orientada a objetos.
  153. Aho, Alfred V. ; Sethi, Ravi ; Ullman, Jeffrey D. (1986). "10 Optimización de código". Compiladores: principios, técnicas y herramientas . Ciencias de la Computación. Mark S. Dalton. pág. 704. ISBN  0-201-10194-7.
  154. Kindler, E.; Krivy, I. (2011). "Simulación orientada a objetos de sistemas con control sofisticado". International Journal of General Systems . 40 (3): 313– 343. doi : 10.1080/03081079.2010.539975 . S2CID 205549734 . 
  155. Lewis, John; Loftus, William (2008). Java Software Solutions Foundations of Programming Design 6.ª ed . Pearson Education Inc. ISBN 978-0-321-53205-3., sección 1.6 "Programación Orientada a Objetos"
  156. St. Laurent, Andrew M. (2008). Comprensión del software libre y de código abierto . O'Reilly Media. pág. 4. ISBN  9780596553951.
  157. Levine, Sheen S.; Prietula, Michael J. (30 de diciembre de 2013). "Colaboración abierta para la innovación: principios y rendimiento". Organization Science . 25 (5): 1414– 1433. arXiv : 1406.7541 . doi : 10.1287/orsc.2013.0872 . ISSN 1047-7039 . S2CID 6583883 .  
  158. "Fibra óptica" . www.thefoa.org . La Asociación de Fibra Óptica . Consultado el 17 de abril de 2015 .
  159. Senior, John M.; Jamro, M. Yousif (2009). Comunicaciones por fibra óptica: principios y práctica . Pearson Education. pp. 7–9 . ISBN  978-0130326812.
  160. Williams, Laurie (19-20 de febrero de 2001). Integración de la programación en parejas en un proceso de desarrollo de software . 14.ª Conferencia sobre Educación y Formación en Ingeniería de Software. Charlotte. págs. 27-36 . doi : 10.1109/CSEE.2001.913816 . ISBN  0-7695-1059-0Uno de los programadores, el conductor, controla el teclado y el ratón e implementa activamente el programa. El otro programador, el observador, supervisa continuamente el trabajo del conductor para identificar errores tácticos (sintácticos, ortográficos, etc.) y, además , reflexiona estratégicamente sobre la dirección del trabajo.
  161. Gottlieb, Allan; Almasi, George S. (1989). Computación altamente paralela . Redwood City, California: Benjamin/Cummings. ISBN 978-0-8053-0177-9.
  162. ^ Prata, Stephen (2004). C primer plus (5ª ed.). Sam. págs. 276–277 . ISBN   978-0-672-32696-7.
  163. "Borrador de trabajo, estándar para el lenguaje de programación C++" (PDF) . www.open-std.org . Consultado el 1 de enero de 2018 .
  164. Gordon, Aaron. "Subprogramas y paso de parámetros" . rowdysites.msudenver.edu/~gordona . Archivado del original el 1 de enero de 2018. Consultado el 1 de enero de 2018 .
  165. 1 2 Comisión de Asistencia Electoral de EE. UU. (2007). "Definiciones de palabras con significados especiales" . Directrices del sistema de votación voluntario . Archivado del original el 8 de diciembre de 2012. Recuperado el 14 de enero de 2013 .
  166. Ranta, Aarne (9 de mayo de 2012). Implementación de lenguajes de programación (PDF) . Publicaciones universitarias. págs. 16–18 . ISBN  9781848900646Consultado el 22 de marzo de 2020 .
  167. ^ Relojes sin, William F.; Mellish, Christopher S. (2003). Programación en Prolog . Berlina; Nueva York: Springer-Verlag. ISBN 978-3-540-00678-7.
  168. Bratko, Ivan (2012). Programación en Prolog para inteligencia artificial (4.ª ed.). Harlow, Inglaterra; Nueva York: Addison Wesley. ISBN  978-0-321-41746-6.
  169. Covington, Michael A. (1994). Procesamiento del lenguaje natural para programadores de Prolog . Englewood Cliffs, NJ: Prentice Hall. ISBN 978-0-13-629213-5.
  170. Lloyd, JW (1984). Fundamentos de la programación lógica. Berlín: Springer-Verlag. ISBN 978-3-540-13299-8.
  171. Kuhlman, Dave. "Un libro de Python: Python para principiantes, Python avanzado y ejercicios de Python". Sección 1.1. Archivado del original (PDF) el 23 de junio de 2012.
  172. Las Academias Nacionales de Ciencias, Ingeniería y Medicina (2019). Grumbling, Emily; Horowitz, Mark (eds.). Computación cuántica : progreso y perspectivas (2018) . Washington, DC: National Academies Press. pág. I-5. doi : 10.17226/25196 . ISBN   978-0-309-47969-1. OCLC 1081001288 . S2CID 125635007 .  
  173. Lenguaje y entorno R
    • Hornik, Kurt (2017-10-04). "Preguntas frecuentes sobre R" . The Comprehensive R Archive Network . 2.1 ¿Qué es R? Recuperado el 2018-08-06 .
    Fundación R
    • Hornik, Kurt (2017-10-04). "Preguntas frecuentes sobre R" . The Comprehensive R Archive Network . 2.13 ¿Qué es la Fundación R? Recuperado el 2018-08-06 .
    El equipo principal de R solicita a los autores que utilizan R en su análisis de datos que citen el software utilizando:
    • R Core Team (2016). R: Un lenguaje y entorno para la computación estadística. R Foundation for Statistical Computing, Viena, Austria. URL http://www.R-project.org/ .
  174. ampliamente utilizado
    • Fox, John y Andersen, Robert (enero de 2005). "Uso del entorno de computación estadística R para impartir cursos de estadística social" (PDF) . Departamento de Sociología, Universidad McMaster . Recuperado el 6 de agosto de 2018 .
    • Vance, Ashlee (6 de enero de 2009). «Analistas de datos cautivados por el poder de R» . The New York Times . Consultado el 6 de agosto de 2018. R es también el nombre de un popular lenguaje de programación utilizado por un número creciente de analistas de datos en empresas y el ámbito académico. Se está convirtiendo en su lengua franca...
  175. Vance, Ashlee (6 de enero de 2009). «Analistas de datos cautivados por el poder de R» . The New York Times . Consultado el 6 de agosto de 2018. R es también el nombre de un popular lenguaje de programación utilizado por un número creciente de analistas de datos en empresas y el ámbito académico. Se está convirtiendo en su lengua franca...
  176. "Definiciones del diccionario de informática" . Estudiantes de informática . Consultado el 22 de enero de 2018 .
  177. Radványi, Tibor (2014). Sistemas de gestión de bases de datos . Colegio Eszterházy Károly. pag. 19. Archivado desde el original el 23 de septiembre de 2018 . Consultado el 23 de septiembre de 2018 . 
  178. Kahate, Atul (2006). Introducción a los sistemas de gestión de bases de datos . Pearson. pág. 3. ISBN  978-81-317-0078-5Consultado el 23 de septiembre de 2018 .
  179. Connolly, Thomas (2004). Soluciones de bases de datos: Guía paso a paso para la creación de bases de datos (2.ª ed.). Pearson. pág . 7. ISBN   978-0-321-17350-8.
  180. Pezzè, Mauro; Young, Michal (2008). Pruebas y análisis de software: proceso, principios y técnicas . Wiley. ISBN 978-81-265-1773-2Las actividades de prueba que se centran en problemas de regresión se denominan pruebas de (no) regresión. Normalmente se omite "no" .
  181. Basu, Anirban (2015). Software Quality Assurance, Testing and Metrics . PHI Learning. ISBN 978-81-203-5068-7.
  182. Comité del Consejo Nacional de Investigación sobre el Envejecimiento de la Aviónica en Aeronaves Militares: Envejecimiento de la Aviónica en Aeronaves Militares . The National Academies Press, 2001, página 2: «Cada ciclo de actualización tecnológica requiere pruebas de regresión».
  183. Boulanger, Jean-Louis (2015). Normas CENELEC 50128 e IEC 62279. Wiley. ISBN 978-1119122487.
  184. Codd, EF (1970). "Un modelo relacional de datos para grandes bancos de datos compartidos". Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685.
  185. Ambler, Scott (21 de marzo de 2023). "Bases de datos relacionales 101: Una visión global" .
  186. Instituto de Ingenieros Eléctricos y Electrónicos (1990) Diccionario estándar de informática IEEE: Una recopilación de glosarios estándar de informática IEEE. Nueva York, NY ISBN 1-55937-079-3
  187. Kotonya, Gerald; Sommerville, Ian (1998). Ingeniería de requisitos: Procesos y técnicas . Chichester, Reino Unido: John Wiley and Sons. ISBN 9780471972082.
  188. ^ Ueberhuber, Christoph W. (1997), Computación numérica 1: métodos, software y análisis , Springer, págs. 139-146 , ISBN  978-3-54062058-7
  189. Forrester, Dick (2018). Métodos numéricos de matemáticas/computación 241 (apuntes de clase) . Dickinson College .
  190. Aksoy, Pelin; DeNardis, Laura (2007), Information Technology in Theory , Cengage Learning, p. 134, ISBN  978-1-42390140-2
  191. Ralston, Anthony; Rabinowitz, Philip (2012), A First Course in Numerical Analysis , Dover Books on Mathematics (2.ª ed.), Courier Dover Publications, pp. 2–4 , ISBN   978-0-48614029-2
  192. Butt, Rizwan (2009), Introducción al análisis numérico con MATLAB , Jones & Bartlett Learning, pp. 11–18 , ISBN  978-0-76377376-2
  193. "Descripción general de los conceptos clave de los protocolos de enrutamiento: arquitecturas, tipos de protocolo, algoritmos y métricas" . Tcpipguide.com. Archivado del original el 20 de diciembre de 2010. Consultado el 15 de enero de 2011 .
  194. Philip A. Bernstein , Vassos Hadzilacos, Nathan Goodman (1987): Control de concurrencia y recuperación en sistemas de bases de datos (descarga gratuita en PDF), Addison Wesley Publishing Company, ISBN 0-201-10715-5
  195. Gerhard Weikum , Gottfried Vossen (2001): Sistemas de información transaccional , Elsevier, ISBN 1-55860-508-8
  196. Maurice Herlihy y J. Eliot B. Moss. Memoria transaccional: soporte arquitectónico para estructuras de datos sin bloqueo. Actas del 20.º simposio internacional anual sobre arquitectura de computadoras (ISCA '93). Volumen 21, número 2, mayo de 1993.
  197. Marshall Cline. "Preguntas frecuentes sobre C++: ¿De qué se trata esto de la "serialización"?"Archivado del original el 5 de abril de 2015. Permite tomar un objeto o grupo de objetos, guardarlos en un disco o enviarlos mediante un mecanismo de transporte alámbrico o inalámbrico, y luego, quizás en otra computadora, revertir el proceso, recuperando el / los objeto(s) original(es). Los mecanismos básicos consisten en convertir el/los objeto(s) en una secuencia unidimensional de bits y transformar esa secuencia de bits de nuevo en el/los objeto(s) original(es).
  198. "Module Marshal - Documentación para Ruby 3.5" .
  199. "Biblioteca OCaml : Marshal" . 
  200. "1.1.2.2 Clientes y servidores" . Cisco Networking Academy . Consultado el 14 de junio de 2025. Los servidores son hosts que tienen instalado software que les permite proporcionar información... Los clientes son hosts informáticos que tienen instalado software que les permite solicitar y mostrar la información obtenida del servidor.
  201. Kearney, KT; Torelli, F. (2011). «El modelo SLA». En Wieder, P.; Butler, JM; Theilmann, W.; Yahyapour, R. (eds.). Acuerdos de nivel de servicio para la computación en la nube . Springer Science+Business Media, LLC. pp. 43–68 . ISBN  9781461416142.
  202. Nwana, H. S. (1996). "Agentes de software: una visión general". Knowledge Engineering Review . 21 (3): 205– 244. CiteSeerX 10.1.1.50.660 . doi : 10.1017/s026988890000789x . S2CID 7839197 .   
  203. Schermer, B. W. (2007). Agentes de software, vigilancia y el derecho a la privacidad: Un marco legislativo para la vigilancia habilitada por agentes (edición de bolsillo) . Vol. 21. Leiden University Press . pp. 140, 205–244 . hdl : 1887/11951 . ISBN    978-0-596-00712-6. Consultado el 30 de octubre de 2012 .
  204. SWEBOK Pierre Bourque; Robert Dupuis; Alain Abran; James W. Moore, eds. (2004). «Capítulo 4: Construcción de software». Guía del Cuerpo de Conocimientos de Ingeniería de Software . IEEE Computer Society . págs. 4–1–4–5. ISBN  0-7695-2330-7Archivado del original el 14 de julio de 2014. Consultado el 21 de junio de 2020 .
  205. Roger S. Pressman Ingeniería de software: un enfoque práctico (octava edición)
  206. Ralph, P. y Wand, Y. (2009). Una propuesta para una definición formal del concepto de diseño. En Lyytinen, K., Loucopoulos, P., Mylopoulos, J. y Robinson, W., editores, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109 doi : 10.1007/978-3-540-92966-6_6 .
  207. Freeman, Peter; David Hart (2004). "Una ciencia del diseño para sistemas intensivos en software". Communications of the ACM . 47 (8): 19–21 [20]. doi : 10.1145/1012037.1012054 . S2CID 14331332 . 
  208. "Desarrollo de aplicaciones (AppDev) definido y explicado" . Bestpricecomputers.co.uk. 13 de agosto de 2007. Archivado del original el 15 de agosto de 2019. Consultado el 5 de agosto de 2012 .
  209. DRM Associates (2002). "Glosario de desarrollo de nuevos productos" . Archivado del original el 9 de noviembre de 2006. Consultado el 29 de octubre de 2006 .
  210. ^ Abran y col. 2004 , págs. 1-1
  211. ACM (2007). "Grados y carreras en informática" . ACM. Archivado del original el 17 de junio de 2011. Consultado el 23 de noviembre de 2010 .
  212. Laplante, Phillip (2007). Lo que todo ingeniero debería saber sobre ingeniería de software . Boca Raton: CRC. ISBN 978-0-8493-7228-5. Consultado el 21 de enero de 2011 .
  213. "Planes de Estudios de Informática 2005: Informe General" (PDF) . 30 de septiembre de 2005. Consultado el 14 de junio de 2025 .
  214. "ISO/IEC 14764:2006 Ingeniería de software — Procesos del ciclo de vida del software — Mantenimiento" . Iso.org. 17 de diciembre de 2011. Consultado el 2 de diciembre de 2013 .
  215. Kaner, Cem (17 de noviembre de 2006). Pruebas exploratorias (PDF) . Conferencia anual mundial de pruebas de software del Quality Assurance Institute. Orlando, FL . Recuperado el 22 de noviembre de 2014 .
  216. "Programación en C: Un tutorial" (PDF). Archivado del original (PDF) el 23 de febrero de 2015.
  217. Por el contrario, una simple COLA funciona según el principio FIFO ( primero en entrar, primero en salir ).
  218. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. págs. 232-233 . ISBN   0-262-03384-4.
  219. "¿Qué es sin estado? - Definición de WhatIs.com" . techtarget.com .
  220. "declaración" . Webopedia. Septiembre de 1996. Consultado el 3 de marzo de 2015 .
  221. "Bases de datos NoSQL" . Archivado del original el 26/12/2018. DEFINICIÓN DE NoSQL: Bases de datos de próxima generación que abordan principalmente algunos de los puntos : ser no relacionales, distribuidas, de código abierto y escalables horizontalmente. 
  222. Leavitt, Neal (2010). "¿Cumplirán las bases de datos NoSQL con lo que prometen?" (PDF). IEEE Computer. 43 (2): 12–14. doi:10.1109/MC.2010.58. S2CID 26876882.
  223. Mohan, C. (2013). La historia se repite: aspectos sensatos y absurdos del fenómeno NoSQL (PDF) . Actas de la 16.ª Conferencia Internacional sobre la Extensión de la Tecnología de Bases de Datos.
  224. "Amazon regresa al futuro con la base de datos 'NoSQL'" . WIRED. 19 de enero de 2012. Consultado el 6 de marzo de 2017 .
  225. "Los sistemas de gestión de bases de datos relacionales (RDBMS) dominan el mercado de bases de datos, pero los sistemas NoSQL les están pisando los talones" . DB-Engines.com. 21 de noviembre de 2013. Consultado el 24 de noviembre de 2013 .
  226. "NoSQL (Not Only SQL)" . Base de datos NoSQL, también llamada Not Only SQL.
  227. Fowler, Martin . "NosqlDefinition" . Muchos defensores de NoSQL dicen que no significa un "no" a SQL, sino más bien significa No Solo SQL.
  228. "Asociación ACM en álgebra computacional" .
  229. ¿Problema de sintaxis o de semántica?
  230. John Paul Mueller, Errores semánticos en Java
  231. ¿Qué es la "documentación técnica"? en Transcom.de. Consultado el 25 de febrero de 2013.
  232. ¿Qué es la documentación técnica? Archivado el 15 de mayo de 2013 (error de fecha) en Wayback Machine en Tetras Translations. Consultado el 25 de febrero de 2013.
  233. Documentación del nuevo sistema en IGCSE ICT. Consultado el 25 de febrero de 2013.
  234. "Esperanza informática, lenguajes de generación"
  235. "Definición de carga" . techterms.com . Consultado el 30 de marzo de 2017 .
  236. W3C (2009) .
  237. "Barras inclinadas hacia adelante y hacia atrás en las URL" . zzz.buzz . Consultado el 19 de septiembre de 2018 .
  238. RFC 3986 (2005) .
  239. 1 2 Grupo de Interés Conjunto en Planificación de URI del W3C/IETF (2002) .
  240. RFC 2396 (1998) .
  241. Miessler, Daniel (17 de abril de 2024). "La diferencia entre URL y URI" .
  242. Entrada del archivo de jerga para "Usuario" . Consultado el 7 de noviembre de 2010 .
  243. "Definición de agente de usuario del W3C" . www.w3.org. 16 de junio de 2011. Consultado el 20 de octubre de 2018 .
  244. Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986), Compiladores: Principios, técnicas y herramientas , págs. 26–28 , Bibcode : 1986cptt.book.....A 
  245. Knuth, Donald (1997). El arte de la programación informática . Vol. 1 (3.ª ed.). Reading, Massachusetts: Addison-Wesley. pp. 3–4 . ISBN    0-201-89683-4.
  246. Kevin Forsberg y Harold Mooz , "La relación de la ingeniería de sistemas con el ciclo del proyecto", en Actas del Primer Simposio Anual del Consejo Nacional de Ingeniería de Sistemas, octubre de 1991: 57–65.
  247. Beal, Vangie (2 de mayo de 2001). "¿Qué es Wi-Fi (IEEE 802.11x)? Una definición de Webopedia" . Webopedia . Archivado del original el 8 de marzo de 2012.
  248. Schofield, Jack (21 de mayo de 2007). "Los peligros de la radiación Wi-Fi (actualizado)" . The Guardian vía www.theguardian.com.
  249. "Certificación | Wi-Fi Alliance" . www.wi-fi.org . Archivado del original el 3 de septiembre de 2018.

Obras citadas

  • Abran, Alain; Moore, James W.; Bourque, Pierre; Dupuis, Robert; Tripp, Leonard L. (2004). Guía del Cuerpo de Conocimientos de Ingeniería de Software . IEEE. ISBN 978-0-7695-2330-9.
  • Anton, Howard (1987), Álgebra lineal elemental (5.ª  ed.), Nueva York: Wiley, ISBN 0-471-84819-0
  • Beauregard, Raymond A.; Fraleigh, John B. (1973), A First Course In Linear Algebra: with Optional Introduction to Groups, Rings, and Fields , Boston: Houghton Mifflin Co. , ISBN 0-395-14017-X
  • Berners-Lee, Tim ; Fielding, Roy T .; Masinter, Larry (agosto de 1998). Identificadores uniformes de recursos (URI): sintaxis genérica . IETF . doi : 10.17487/RFC2396 . RFC 2396. Consultado el 31 de agosto de 2015 .
  • Berners-Lee, Tim ; Fielding, Roy T .; Masinter, Larry (enero de 2005). Identificadores uniformes de recursos (URI): sintaxis genérica . IETF . doi : 10.17487/RFC3986 . RFC 3986. Consultado el 31 de agosto de 2015 .
  • Bruce, Kim B. (2002). Fundamentos de los lenguajes orientados a objetos: tipos y semántica . MIT Press. ISBN 978-0-262-02523-2.
  • Butterfield, Andrew; Ngondi, Gerard E. (2016). Diccionario de informática (7.ª  ed.). Oxford, Reino Unido: Oxford University Press . ISBN 978-0-19-968897-5.
  • Connolly, Daniel "Dan" ; Sperberg-McQueen, C. Michael , eds. (21 de mayo de 2009). "Direcciones web en HTML 5" . Consorcio World Wide Web . Archivado del original el 10 de julio de 2015. Recuperado el 13 de septiembre de 2015 .
  • Gamma; Helm; Johnson; Vlissides (1995). Patrones de diseño: Elementos de software orientado a objetos reutilizable . Addison Wesley. ISBN 9780201633610.
  • Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad; Buckley, Alex (2014). La especificación del lenguaje Java® (Java SE 8  ed.).
  • Knuth, Donald (1998). Ordenación y búsqueda . El arte de la programación informática . Vol.  3 (2.ª  ed.). Reading, MA: Addison-Wesley Professional. ISBN 978-0-201-89685-5.
  • Legg, Shane; Hutter, Marcus (15 de junio de 2007). "Una colección de definiciones de inteligencia". arXiv : 0706.3639 [ cs.AI ].
  • Mealling, Michael ; Denenberg, Ray, eds. (agosto de 2002). Informe del Grupo de Interés Conjunto de Planificación de URI del W3C/IETF: Identificadores Uniformes de Recursos (URI), URL y Nombres Uniformes de Recursos (URN): Aclaraciones y Recomendaciones . IETF . doi : 10.17487/RFC3305 . RFC 3305. Consultado el 13 de septiembre de 2015 .
  • Mitchell, Melanie (1996). Introducción a los algoritmos genéticos . Cambridge, MA: MIT Press. ISBN 9780585030944.
  • Nicholls, John E. (1975). La estructura y el diseño de los lenguajes de programación . Addison-Wesley . ISBN 0-201-14454-9. Consultado el 11 de noviembre de 2025 .
  • Nilsson, Nils (1998). Inteligencia artificial: una nueva síntesis . Morgan Kaufmann. ISBN 978-1-55860-467-4Archivado del original el 26 de julio de 2020. Consultado el 18 de noviembre de 2019 .
  • Pohl, Ira; Shaw, Alan (1981). La naturaleza de la computación: una introducción a la informática . Serie de ingeniería de software. Computer Science Press . ISBN 0-914894-12-9. Consultado el 11 de noviembre de 2025 .
  • Poole, David ; Mackworth, Alan ; Goebel, Randy (1998). Inteligencia computacional: un enfoque lógico . Nueva York: Oxford University Press. ISBN 978-0-19-510270-3Archivado del original el 26 de julio de 2020. Consultado el 22 de agosto de 2020 .
  • Russell, Stuart J.; Norvig , Peter (2003), Inteligencia artificial: un enfoque moderno (2.ª  ed.), Upper Saddle River, Nueva Jersey: Prentice Hall, ISBN 0-13-790395-2
  • Russell, Stuart J.; Norvig , Peter (2009). Inteligencia artificial: un enfoque moderno (3.ª  ed.). Upper Saddle River, Nueva Jersey: Prentice Hall. ISBN 978-0-13-604259-4..

Notas

  1. La función puede almacenarse como una referencia a una función, como un puntero a función .
  2. En este artículo, el término "subrutina" se refiere a cualquier construcción similar a una subrutina, que tiene diferentes nombres y significados ligeramente diferentes según el lenguaje de programación que se esté tratando.
  3. Una URL implica los medios para acceder a un recurso indicado y se denota mediante un protocolo o un mecanismo de acceso, lo cual no es cierto para todas las URI. [ 240 ] [ 239 ] Por lo tantohttp://www.example.com, es una URL, mientras quewww.example.comno lo es. [ 241 ]