La informática es cualquier actividad orientada a objetivos que requiere, se beneficia de o crea maquinaria informática . [1] Incluye el estudio y experimentación de procesos algorítmicos , y el desarrollo tanto de hardware como de software. La informática tiene aspectos científicos, de ingeniería, matemáticos, tecnológicos y sociales. Las principales disciplinas informáticas incluyen ingeniería informática , ciencias de la computación , ciberseguridad , ciencia de datos , sistemas de información , tecnología de la información e ingeniería de software . [2]
El término informática también es sinónimo de contar y calcular . En épocas anteriores, se utilizaba en referencia a la acción que realizaban las máquinas informáticas mecánicas , y antes, a las computadoras humanas . [3]
La historia de la informática es más larga que la historia del hardware informático e incluye la historia de los métodos destinados al lápiz y el papel (o a la tiza y la pizarra) con o sin la ayuda de tablas. La informática está íntimamente ligada a la representación de números, aunque los conceptos matemáticos necesarios para la informática existían antes que los sistemas numéricos . La herramienta más antigua conocida para su uso en computación es el ábaco , y se cree que fue inventado en Babilonia alrededor de 2700 y 2300 a.C. Los ábacos, de diseño más moderno, todavía se utilizan hoy en día como herramientas de cálculo.
La primera propuesta registrada para el uso de la electrónica digital en la informática fue el artículo de 1931 "El uso de tiratrones para el conteo automático de fenómenos físicos de alta velocidad" de CE Wynn-Williams . [4] El artículo de Claude Shannon de 1938 " Un análisis simbólico de circuitos de conmutación y relés " introdujo la idea de utilizar la electrónica para operaciones algebraicas booleanas .
El concepto de transistor de efecto de campo fue propuesto por Julius Edgar Lilienfeld en 1925. John Bardeen y Walter Brattain , mientras trabajaban con William Shockley en Bell Labs , construyeron el primer transistor funcional , el transistor de contacto puntual , en 1947. [5] [6] En 1953, la Universidad de Manchester construyó el primer ordenador transistorizado , el Manchester Baby . [7] Sin embargo, los primeros transistores de unión eran dispositivos relativamente voluminosos que eran difíciles de producir en masa, lo que los limitaba a una serie de aplicaciones especializadas. [8] El transistor de efecto de campo de óxido de metal-silicio (MOSFET o transistor MOS) fue inventado por Mohamed Atalla y Dawon Kahng en Bell Labs en 1959. [9] [10] El MOSFET hizo posible construir transistores de alta densidad circuitos integrados , [11] [12] dando lugar a lo que se conoce como revolución informática [13] o revolución de los microordenadores . [14]
Una computadora es una máquina que manipula datos de acuerdo con un conjunto de instrucciones llamado programa de computadora . [15] El programa tiene una forma ejecutable que la computadora puede usar directamente para ejecutar las instrucciones. El mismo programa en su forma de código fuente legible por humanos permite a un programador estudiar y desarrollar una secuencia de pasos conocida como algoritmo . [16] Debido a que las instrucciones se pueden llevar a cabo en diferentes tipos de computadoras, un único conjunto de instrucciones fuente se convierte en instrucciones de máquina según el tipo de CPU . [17]
El proceso de ejecución lleva a cabo las instrucciones en un programa informático. Las instrucciones expresan los cálculos realizados por la computadora. Desencadenan secuencias de acciones simples en la máquina ejecutora. Esas acciones producen efectos según la semántica de las instrucciones.
El hardware de la computadora incluye las partes físicas de una computadora, incluida la unidad central de procesamiento , la memoria y la entrada/salida . [18] La lógica computacional y la arquitectura informática son temas clave en el campo del hardware informático. [19] [20]
El software informático, o simplemente software , es una colección de programas informáticos y datos relacionados, que proporciona instrucciones a una computadora. Software se refiere a uno o más programas informáticos y datos almacenados en el almacenamiento de la computadora. Es un conjunto de programas, procedimientos, algoritmos, así como su documentación relacionados con el funcionamiento de un sistema de procesamiento de datos. [ cita necesaria ] El software del programa realiza la función del programa que implementa, ya sea proporcionando instrucciones directamente al hardware de la computadora o sirviendo como entrada para otra pieza de software. El término fue acuñado para contrastar con el antiguo término hardware (que significa dispositivos físicos). A diferencia del hardware, el software es intangible. [21]
El software también se utiliza a veces en un sentido más estricto, es decir, software de aplicación únicamente.
El software del sistema, o software de sistemas, es un software de computadora diseñado para operar y controlar el hardware de la computadora y para proporcionar una plataforma para ejecutar software de aplicación. El software del sistema incluye sistemas operativos , software de utilidades , controladores de dispositivos , sistemas de ventanas y firmware . Las herramientas de desarrollo de uso frecuente, como compiladores , enlazadores y depuradores, se clasifican como software del sistema. [22] El software y el middleware del sistema administran e integran las capacidades de una computadora, pero generalmente no las aplican directamente en el desempeño de tareas que benefician al usuario, a diferencia del software de aplicación.
El software de aplicación, también conocido como aplicación o app , es un software informático diseñado para ayudar al usuario a realizar tareas específicas. Los ejemplos incluyen software empresarial , software de contabilidad , paquetes de oficina , software de gráficos y reproductores multimedia . Muchos programas de aplicación se ocupan principalmente de documentos . [23] Las aplicaciones pueden incluirse con la computadora y el software de su sistema, o pueden publicarse por separado. Algunos usuarios están satisfechos con las aplicaciones incluidas y nunca necesitan instalar aplicaciones adicionales. El software del sistema gestiona el hardware y sirve a la aplicación, que a su vez sirve al usuario.
El software de aplicación aplica el poder de una plataforma informática o software de sistema particular para un propósito particular. Algunas aplicaciones, como Microsoft Office , se desarrollan en múltiples versiones para varias plataformas diferentes; otros tienen requisitos más estrictos y generalmente se les conoce por la plataforma en la que se ejecutan. Por ejemplo, una aplicación de geografía para Windows o una aplicación de Android para educación o juegos de Linux . Aplicaciones que se ejecutan solo en una plataforma y aumentan el atractivo de esa plataforma debido a la popularidad de la aplicación, conocidas como aplicaciones asesinas . [24]
Una red informática, a menudo denominada simplemente red, es un conjunto de componentes de hardware y computadoras interconectados por canales de comunicación que permiten compartir recursos e información. [25] Cuando al menos un proceso en un dispositivo puede enviar o recibir datos hacia o desde al menos un proceso que reside en un dispositivo remoto, se dice que los dos dispositivos están en una red. Las redes se pueden clasificar según una amplia variedad de características, como el medio utilizado para transportar los datos, el protocolo de comunicaciones utilizado, la escala, la topología y el alcance organizativo.
Los protocolos de comunicaciones definen las reglas y los formatos de datos para intercambiar información en una red informática y proporcionan la base para la programación de la red . Un protocolo de comunicaciones muy conocido es Ethernet , un estándar de capa de enlace y hardware omnipresente en las redes de área local . Otro protocolo común es Internet Protocol Suite , que define un conjunto de protocolos para la interconexión de redes, es decir, para la comunicación de datos entre múltiples redes, la transferencia de datos de host a host y los formatos de transmisión de datos específicos de la aplicación. [26]
Las redes de computadoras a veces se consideran una subdisciplina de la ingeniería eléctrica , las telecomunicaciones, la informática , la tecnología de la información o la ingeniería informática , ya que se basa en la aplicación teórica y práctica de estas disciplinas. [27]
Internet es un sistema global de redes informáticas interconectadas que utilizan el estándar Internet Protocol Suite (TCP/IP) para atender a miles de millones de usuarios. Esto incluye millones de redes privadas, públicas, académicas, empresariales y gubernamentales, con alcances que van desde lo local hasta lo global. Estas redes están unidas por una amplia gama de tecnologías de redes electrónicas, inalámbricas y ópticas. Internet transporta una amplia gama de recursos y servicios de información, como los documentos de hipertexto interconectados de la World Wide Web y la infraestructura para soportar el correo electrónico. [28]
La programación informática es el proceso de escribir, probar, depurar y mantener el código fuente y la documentación de los programas informáticos. Este código fuente está escrito en un lenguaje de programación , que es un lenguaje artificial que suele ser más restrictivo que los lenguajes naturales , pero que el ordenador puede traducir fácilmente. La programación se utiliza para invocar algún comportamiento deseado (personalización) de la máquina. [29]
Escribir código fuente de alta calidad requiere conocimiento tanto del dominio de la informática como del dominio en el que se utilizará la aplicación. Por lo tanto, el software de más alta calidad suele ser desarrollado por un equipo de expertos en el campo, cada uno de ellos especialista en algún área de desarrollo. [30] Sin embargo, el término programador puede aplicarse a una variedad de calidades de programas, desde hacker hasta colaborador de código abierto y profesional. También es posible que un solo programador haga la mayor parte o toda la programación informática necesaria para generar la prueba de concepto para lanzar una nueva aplicación excelente . [31]
Un programador, programador de computadoras o codificador es una persona que escribe software de computadora. El término programador de computadoras puede referirse a un especialista en un área de programación de computadoras o a un generalista que escribe código para muchos tipos de software. Quien practica o profesa un enfoque formal de la programación también puede denominarse analista programador. [ cita necesaria ] El lenguaje informático principal de un programador ( C , C++ , Java , Lisp , Python , etc.) a menudo tiene como prefijo los títulos anteriores, y aquellos que trabajan en un entorno web a menudo anteponen sus títulos con Web . El término programador puede utilizarse para referirse a un desarrollador de software , ingeniero de software, informático o analista de software . Sin embargo, los miembros de estas profesiones suelen poseer otras habilidades de ingeniería de software, además de la programación. [32]
La industria informática está compuesta por empresas involucradas en el desarrollo de software, el diseño de hardware e infraestructuras de redes informáticas , la fabricación de componentes informáticos y la prestación de servicios de tecnología de la información, incluida la administración y el mantenimiento de sistemas . [ cita necesaria ]
La industria del software incluye empresas dedicadas al desarrollo , mantenimiento y publicación de software. La industria también incluye servicios de software , como capacitación , documentación y consultoría. [ cita necesaria ]
La ingeniería informática es una disciplina que integra varios campos de la ingeniería eléctrica y la informática necesarios para desarrollar hardware y software informático. [33] Los ingenieros informáticos suelen tener formación en ingeniería electrónica (o ingeniería eléctrica ), diseño de software e integración de hardware y software, en lugar de solo ingeniería de software o ingeniería electrónica. Los ingenieros informáticos participan en muchos aspectos de hardware y software de la informática, desde el diseño de microprocesadores individuales , computadoras personales y supercomputadoras , hasta el diseño de circuitos . Este campo de la ingeniería incluye no sólo el diseño de hardware dentro de su propio dominio, sino también las interacciones entre el hardware y el contexto en el que opera. [34]
La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al diseño, desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques. Es decir, la aplicación de la ingeniería al software. [35] [36] [37] Es el acto de utilizar conocimientos para concebir, modelar y escalar una solución a un problema. La primera referencia al término es la Conferencia de Ingeniería de Software de la OTAN de 1968 , y tenía como objetivo provocar una reflexión sobre la crisis de software percibida en ese momento. [38] [39] [40] Desarrollo de software , un término más genérico y ampliamente utilizado, no necesariamente incluye el paradigma de la ingeniería. Los conceptos generalmente aceptados de Ingeniería de Software como disciplina de ingeniería se han especificado en la Guía del Cuerpo de Conocimientos de Ingeniería de Software (SWEBOK). El SWEBOK se ha convertido en un estándar aceptado internacionalmente en ISO/IEC TR 19759:2015. [41]
La informática o ciencias de la computación (abreviada CS o Comp Sci) es el enfoque científico y práctico de la computación y sus aplicaciones. Un informático se especializa en la teoría de la computación y el diseño de sistemas computacionales. [42]
Sus subcampos se pueden dividir en técnicas prácticas para su implementación y aplicación en sistemas informáticos , y áreas puramente teóricas. Algunas, como la teoría de la complejidad computacional , que estudia las propiedades fundamentales de los problemas computacionales , son muy abstractas, mientras que otras, como los gráficos por computadora , enfatizan las aplicaciones del mundo real. Otros se centran en los desafíos que plantea la implementación de cálculos. Por ejemplo, la teoría de los lenguajes de programación estudia enfoques para la descripción de cálculos, mientras que el estudio de la programación informática investiga el uso de lenguajes de programación y sistemas complejos . El campo de la interacción persona-computadora se centra en los desafíos que implica hacer que las computadoras y los cálculos sean útiles, utilizables y universalmente accesibles para los humanos. [43]
El campo de la ciberseguridad pertenece a la protección de sistemas y redes informáticas. Esto incluye la privacidad de la información y los datos , la prevención de la interrupción de los servicios de TI y la prevención del robo y daño del hardware, el software y los datos. [44]
La ciencia de datos es un campo que utiliza herramientas científicas e informáticas para extraer información y conocimientos de los datos, impulsado por el creciente volumen y disponibilidad de datos. [45] La minería de datos , los big data , las estadísticas, el aprendizaje automático y el aprendizaje profundo están todos entrelazados con la ciencia de datos. [46]
Los sistemas de información (SI) son el estudio de redes complementarias de hardware y software (ver tecnología de la información) que las personas y las organizaciones utilizan para recopilar, filtrar, procesar, crear y distribuir datos . [47] [48] [49] Las Carreras de Computación de la ACM describen a IS como:
"La mayoría de los programas [de grado] de IS se encuentran en escuelas de negocios; sin embargo, pueden tener diferentes nombres, como sistemas de información de gestión, sistemas de información informática o sistemas de información empresarial. Todos los títulos de IS combinan temas de negocios e informática, pero el énfasis entre Las cuestiones técnicas y organizativas varían entre los programas. Por ejemplo, los programas difieren sustancialmente en la cantidad de programación requerida". [50]
El estudio de SI une los negocios y las ciencias de la computación , utilizando los fundamentos teóricos de la información y la computación para estudiar varios modelos de negocios y procesos algorítmicos relacionados dentro de una disciplina de las ciencias de la computación. [51] [52] [53] El campo de los Sistemas de Información Informática (CIS) estudia las computadoras y los procesos algorítmicos, incluidos sus principios, sus diseños de software y hardware, sus aplicaciones y su impacto en la sociedad [54] [55] mientras que IS enfatiza la funcionalidad sobre el diseño. [56]
La tecnología de la información (TI) es la aplicación de computadoras y equipos de telecomunicaciones para almacenar, recuperar, transmitir y manipular datos, [57] a menudo en el contexto de un negocio u otra empresa. [58] El término se utiliza comúnmente como sinónimo de computadoras y redes informáticas, pero también abarca otras tecnologías de distribución de información como la televisión y los teléfonos. Varias industrias están asociadas con la tecnología de la información, incluidos hardware, software, electrónica , semiconductores , Internet, equipos de telecomunicaciones , comercio electrónico y servicios informáticos . [59] [60]
La computación basada en ADN y la computación cuántica son áreas de investigación activa tanto para el hardware como para el software informático, como el desarrollo de algoritmos cuánticos . La infraestructura potencial para tecnologías futuras incluye origami de ADN en fotolitografía [61] y antenas cuánticas para transferir información entre trampas de iones. [62] En 2011, los investigadores habían entrelazado 14 qubits . [63] [64] Los circuitos digitales rápidos , incluidos los basados en uniones Josephson y la tecnología cuántica rápida de flujo único , se están volviendo cada vez más realizables con el descubrimiento de superconductores a nanoescala . [sesenta y cinco]
Los dispositivos de fibra óptica y fotónicos (ópticos), que ya se han utilizado para transportar datos a largas distancias, están empezando a utilizarse en los centros de datos, junto con componentes de memoria CPU y semiconductores. Esto permite la separación de la RAM de la CPU mediante interconexiones ópticas. [66] IBM ha creado un circuito integrado con procesamiento de información tanto electrónico como óptico en un solo chip. Esto se denomina nanofotónica integrada en CMOS (CINP). [67] Un beneficio de las interconexiones ópticas es que las placas base, que anteriormente requerían un cierto tipo de sistema en un chip (SoC), ahora pueden mover controladores de red y memoria anteriormente dedicados fuera de las placas base, extendiendo los controladores en el bastidor. Esto permite la estandarización de las interconexiones del backplane y las placas base para múltiples tipos de SoC, lo que permite actualizaciones más oportunas de las CPU. [68]
Otro campo de investigación es la espintrónica . La espintrónica puede proporcionar potencia informática y almacenamiento, sin acumulación de calor. [69] Se están realizando algunas investigaciones sobre chips híbridos, que combinan fotónica y espintrónica. [70] [71] También se están realizando investigaciones sobre la combinación de plasmónica , fotónica y electrónica. [72]
La computación en la nube es un modelo que permite el uso de recursos informáticos, como servidores o aplicaciones, sin necesidad de interacción entre el propietario de estos recursos y el usuario final. Por lo general, se ofrece como un servicio, lo que lo convierte en un ejemplo de software como servicio , plataformas como servicio e infraestructura como servicio , según la funcionalidad ofrecida. Las características clave incluyen acceso bajo demanda, amplio acceso a la red y capacidad de escalamiento rápido. [73] Permite a los usuarios individuales o a las pequeñas empresas beneficiarse de economías de escala .
Un área de interés en este campo es su potencial para apoyar la eficiencia energética. Permitir que se produzcan miles de instancias de cálculo en una sola máquina en lugar de miles de máquinas individuales podría ayudar a ahorrar energía. También podría facilitar la transición a una fuente de energía renovable, ya que sería suficiente alimentar una granja de servidores con energía renovable, en lugar de millones de hogares y oficinas. [74]
Sin embargo, este modelo informático centralizado plantea varios desafíos, especialmente en seguridad y privacidad. La legislación actual no protege suficientemente a los usuarios contra las empresas que manejan mal sus datos en los servidores de la empresa. Esto sugiere potencial para nuevas regulaciones legislativas sobre la computación en la nube y las empresas de tecnología. [75]
La computación cuántica es un área de investigación que reúne las disciplinas de la informática, la teoría de la información y la física cuántica. Si bien la idea de la información como parte de la física es relativamente nueva, parece haber un fuerte vínculo entre la teoría de la información y la mecánica cuántica. [76] Mientras que la computación tradicional opera en un sistema binario de unos y ceros, la computación cuántica usa qubits . Los qubits son capaces de estar en superposición, es decir, en ambos estados, uno y cero, simultáneamente. Así, el valor del qubit no está entre 1 y 0, sino que cambia según cuándo se mide. Esta característica de los qubits se conoce como entrelazamiento cuántico y es la idea central de la computación cuántica que permite a las computadoras cuánticas realizar cálculos a gran escala. [77] La computación cuántica se utiliza a menudo para la investigación científica en los casos en que las computadoras tradicionales no tienen la potencia de cálculo para realizar los cálculos necesarios, como en el modelado molecular . Las moléculas grandes y sus reacciones son demasiado complejas para que las calculen las computadoras tradicionales, pero el poder computacional de las computadoras cuánticas podría proporcionar una herramienta para realizar tales cálculos. [78]
La relativa simplicidad y los bajos requisitos de energía de los MOSFET han fomentado la revolución actual de las microcomputadoras.
La ingeniería de sistemas informáticos se ha visto tradicionalmente como una combinación de ingeniería electrónica (EE) e informática (CS).
La idea de la primera Conferencia de Ingeniería de Software de la OTAN, y en particular la de adoptar
como título (deliberadamente provocativo) el entonces prácticamente desconocido término
ingeniería de software , creo que surgió originalmente del profesor
Fritz Bauer
.
El dominio de la informática: aunque la informática aborda tanto los procesos de información naturales como los creados por el hombre, el principal esfuerzo en la disciplina se ha dirigido a los procesos creados por el hombre, especialmente los sistemas y las máquinas de procesamiento de información.
En 1999, la Universidad de Clemson estableció un programa de posgrado que une las artes y las ciencias... Todos los estudiantes del programa deben completar un trabajo de posgrado tanto en artes como en informática.
De esto hemos concluido que SI es una ciencia, es decir, una disciplina científica en contraste con campos supuestamente no científicos.
La informática es el estudio de todos los aspectos de los sistemas informáticos, desde los fundamentos teóricos hasta los aspectos muy prácticos de la gestión de grandes proyectos de software.
En 1988 se lanzó la carrera de Sistemas de Información Computacional (CIS) con el objetivo de brindar una opción a estudiantes menos proclives a convertirse en programadores y más interesados en aprender a diseñar, desarrollar e implementar Sistemas de Información y resolver problemas de negocios. problemas utilizando el enfoque de sistemas
La informática y la ingeniería necesitan un proceso de diseño intelectualmente riguroso, analítico y enseñable para garantizar el desarrollo de sistemas con los que todos podamos vivir... Aunque las conexiones de los demás componentes con el software y su papel en el diseño general del sistema son fundamentales, la La consideración central para un sistema intensivo en software es el software en sí, y otros enfoques para sistematizar el diseño aún tienen que resolver el "problema del software", que no se resolverá hasta que el diseño del software se comprenda científicamente.