El software es una producción inmaterial del cerebro humano y tal vez una de las estructuras más complicadas que la humanidad conoce. De hecho, los expertos en computación aún no entienden del todo cómo funciona, su comportamiento, sus paradojas y sus límites. Básicamente, el software es un plan de funcionamiento para un tipo especial de máquina, una máquina ``virtual'' o ``abstracta''. Una vez escrito mediante algún lenguaje de programación, el software se hace funcionar en ordenadores, que temporalmente se convierten en esa máquina para la que el programa sirve de plan. El software permite poner en relación al ser humano y a la máquina y también a las máquinas entre sí. Sin ese conjunto de instrucciones programadas, los ordenadores serían objetos inertes, como cajas de zapatos, sin capacidad siquiera para mostrar algo en la pantalla.Los ordenadores sólo procesan lenguaje binario, pero para las personas este no es un modo válido de comunicarse (salvo a nivel sináptico :-). Si bien en los tiempos heroicos de los primeros ordenadores no les quedaba otro remedio que hacerlo, los programadores hace mucho que no escriben su código en lenguaje binario (denominado técnicamente ``código-máquina''), pues es terriblemente tedioso, improductivo y muy sujeto a errores. Hace tiempo que los programadores escriben las instrucciones que ha de ejecutar el procesador de la máquina mediante lenguajes formales, llamados ``de alto nivel'', bastante cercanos al inglés, si bien con rígidas reglas sintácticas que lo asemejan a los lenguajes lógico-formales. Esto facilita enormemente la tarea de escribir programas pero, para que esas instrucciones sean comprensibles para el procesador, deben ser convertidas antes a código-máquina. Esa conversión se realiza cómodamente con programas especiales, llamados compiladores. A lo que escribe el programador se le denomina ``código-fuente''. Al resultado de la ``conversión'' (compilación) en lenguaje-máquina, se le denomina ``código-objeto'', ``binarios'' o ``ficheros ejecutables''. En principio, al usuario común sólo le importa este último nivel, los ``binarios'', pero conviene tener clara la distinción entre fuentes y binarios pues es clave para entender el empeño de los partidarios del software libre en disponer de las fuentes.Pero el software libre es mucho más que el derecho de los programadores y de los hackers a disponer de las fuentes del código: significa también la libertad de copiar y redistribuir esos programas. Esos derechos, o su ausencia, condicionan a cualquiera que use un ordenador y han configurado la industria del software y de la informática tal y como la conocemos hoy día. También ha dado lugar a un movimiento social --el del software libre-- cuya historia reconstruiremos brevemente en las próximas líneas.
HISTORIA DEL SOFTWARE. El software consiste en un código en un lenguaje máquina específico para un procesador individual. El código es una secuencia de instrucciones ordenadas que cambian el estado del hardware de una computadora.El software se suele escribir en un lenguaje de programación de alto nivel, que es más sencillo de escribir (pues es más cercano al lenguaje natural humano), pero debe convertirse a lenguaje máquina para ser ejecutado. El término "software" fue usado por primera vez por John W. Tukey en 1957.
HISTORIA DEL SOFTWARE. El software consiste en un código en un lenguaje máquina específico para un procesador individual. El código es una secuencia de instrucciones ordenadas que cambian el estado del hardware de una computadora.El software se suele escribir en un lenguaje de programación de alto nivel, que es más sencillo de escribir (pues es más cercano al lenguaje natural humano), pero debe convertirse a lenguaje máquina para ser ejecutado. El término "software" fue usado por primera vez por John W. Tukey en 1957.
FORMAS O LICENCIA DE DISTRIBUCIÓN DE SOFTWARE: Aaadware, beerware, careware, crippleware, código abierto, donationware, donateware, freeware, nagware, postcardware, ransomware, registerware, shareware, software de distribucion libre, software libre, software propietario, trialware demoware.
CLASIFICACIÓN DEL SOFTWARE Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, se puede clasificar al software de la siguiente forma:
SOFTWARE DE PROGRAMACIÓN
Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros:
Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros:
Editores de Texto compiladores,IntérpretesEnlazadores, Depuradores, Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc... Habitualmente cuentan con una avanzada interfaz.
SOFTWARE DE APLICACIÓNLas computadoras y el software de aplicación han permitido al hombre, simplificar y mejorar muchas tareas rutinarias y repetitivas.Por ello, este software o programas le han dado a las computadoras un carácter muy práctico y popular.Estos programas son empleados por el usuario para simplificar su vida, ya sea si decide escribir un libro, una tesis o un memorándum, o para poder manejar grandes volúmenes de datos; o aquellos programas que le sirvan para emitir una nómina de una empresa. Estos programas son los más solicitados por la mayoría de usuarios de computadoras debido a los beneficios o servicios que reciben de ellos.Existen también programas de aplicación que brindan al usuario otro tipo de servicios; por ejemplo, los juegos por computadora son muy estimados, ya que gracias a ellos el usuario obtiene diversión y esparcimiento.Los programas orientados a la edición de texto por computadora permiten al usuario obtener combinación de texto con imágenes de alta calidad profesional y gráficos.Los hay también educativos, matemáticos, estadísticos, etc.
TIPOS DE SOFTWARE DE APLICACIÓN: Existe un gran número de programas de aplicación diseñados para fines específicos, ej: Control de inventarios o de nóminas. Un paquete es un programa o grupo de ellos de computadora que ha creado un vendedor, disponible en forma pre empaquetada. Hay programas de propósito general que no se vinculan con alguna tarea específica como: hoja de cálculo, administrador de datos, procesador de palabras, editor por computadora, el graficador, multimedia y para las comunicaciones.
*HOJA DE CÁLCULO: Transformar la pantalla en cuadrículas. Dichos paque tes se usan sobretodo en el apoyo para las decisiones como las relativas al procesamiento de información financiera (declaraciones de ingresos o análisis de flujo de efectivo).
*ADMINISTRADOR DE DATOS: Apoya el almacenamiento, la recuper ación y la manipulación de datos. Existen dos tipos: programas de llenado que se modelan con técnicos de llenado manual y sistemas administradores de bases de datos (DBMS) que aprovechan la capacidad de una computadora para almacenar y recuperar con rapidez y precisión datos en el almacenamiento primario y secundario. Una base de datos es una colección de archivos que sirven como los recursos de datos para los sistemas de información basados en computadora. En ésta todos los datos se integran con relaciones establecidas.

*GRAFICADOR: Le permite al usuario crear, almacenar y exhibir o imprimir diagramas, gráficas, mapas y dibujos. Uno de los más destacados es el graficador de ingeniería, el cual acorta el tiempo e incrementa la productividad de dibujantes e ingenieros.
PROCESADOR DE PALABRAS: Permite manipular texto y no solo números. Un paquete consta de un conjunto integrado por programas que incluyen un programa editor, uno que formatea, uno que imprime, un diccionario, revisor gramatical, programas integrados de gráficas, diagramas y dibujos. Los programas WYSIWFG (What you see is what you get, lo que usted ve, es lo que obtiene) exhiben el material del texto sobre la pantalla.


*GRUPOS DE SOFTWARE: Paquetes integrados de software de aplicación y pueden inclui r procesadores de palabras, hojas de cálculo, sistemas administradores de bases de datos, graficadoras, herramientas de comunicación y otros. Están: Microsoft Office, Corel Perfect Office y Lotus Smort Sorte.
SOFTWARE DE GROUPWARE
El software de grupo de trabajo ayuda a los grupos y equipos a trabajar en conjunto compartiendo información y controlando al flujo de trabajo dentro del grupo. Apoyan tareas específicas como: la administración del proyecto, programación de tiempos, al grupo de trabajo y la recuperación de base de datos compartidos. Permiten ver la pantalla de cada uno de los demás, compartir datos e intercambiar ideas.
SOFTWARE EMPRESARIAL INTEGRADO
Consiste en programas que manejan las operaciones vitales de la compañía, desde el levantamiento de pedidos, hasta la manufactura y la contabilidad. Apoya la administración de la cadena de suministros, así como la administración de recursos humanos y la financiera.Hay otros software de aplicación como: Software de generación de ideas, administradores de proyectos, administración financiera, de mercadotecnia, mejoramiento de la productividad, administración de recursos humanos, entre otros.
Consiste en programas que manejan las operaciones vitales de la compañía, desde el levantamiento de pedidos, hasta la manufactura y la contabilidad. Apoya la administración de la cadena de suministros, así como la administración de recursos humanos y la financiera.Hay otros software de aplicación como: Software de generación de ideas, administradores de proyectos, administración financiera, de mercadotecnia, mejoramiento de la productividad, administración de recursos humanos, entre otros.
SOFTWARE DE COMUNICACIÓNPara lograr que dos o má s computadoras se comuniquen entre sí, e
s necesario que exista tanto un medio físico como uno lógico que permita a ambas entablar comunicación. El software de comunicación se refiere al conjunto de programas que cumple la función lógica descrita anteriormente.Actualmente existe en el mercado de las comunicaciones de datos una amplia variedad de software de comunicación, entre los que se encuentran:Smartcomm (Ambiente Windows).Quick Link II.Procomm Plus (Ambiente DOS).SLIP (Serial on Line Internet Protocol).PPT (Pert to Pert Protocol).Camaleon.Winsockets.Los tres primeros productos no permiten copiar información mediante el programa FTP (File Transfer Protocol o protocolo de Transferencia de Archivos), mientras que el resto si lo permite.El software de SLIP, desarrollado por la Universidad de Minnesota de los EUA permite tener acceso a todos los servicios de la red Internet desde cualquier computadora personal utilizando un módem y una línea telefónica.
s necesario que exista tanto un medio físico como uno lógico que permita a ambas entablar comunicación. El software de comunicación se refiere al conjunto de programas que cumple la función lógica descrita anteriormente.Actualmente existe en el mercado de las comunicaciones de datos una amplia variedad de software de comunicación, entre los que se encuentran:Smartcomm (Ambiente Windows).Quick Link II.Procomm Plus (Ambiente DOS).SLIP (Serial on Line Internet Protocol).PPT (Pert to Pert Protocol).Camaleon.Winsockets.Los tres primeros productos no permiten copiar información mediante el programa FTP (File Transfer Protocol o protocolo de Transferencia de Archivos), mientras que el resto si lo permite.El software de SLIP, desarrollado por la Universidad de Minnesota de los EUA permite tener acceso a todos los servicios de la red Internet desde cualquier computadora personal utilizando un módem y una línea telefónica.
SOFTWARE DE SISTEMAS: El software de sistemas corresponde a la clase de programas que controlan y apoyan al hardware de computadora y sus actividades de procesamiento de la información. Es más general que el de aplicación y suele ser independiente de cualquier tipo específico de aplicación. Apoyan al de aplicación dirigiendo las funciones básicas de la computadora. Ej: Cuando la computadora se activa, el programa de iniciación (un programa de sistemas) prepara y alista a todos los dispositivos para el procesamiento. El software de sistemas puede agruparse entre categorías funcionales principales:· Los programas de control del sistema controlan el uso del hardware, el software y los recursos de datos de un sistema de computadora durante la ejecución de una tarea de procesamiento de información del usuario.· Los programas de apoyo al sistema sustentan las operaciones, la administración y a los usuarios de un sistema de computadora, proporcionando una diversidad de servicios.· Los programas de desarrollo de sistemas ayudan a los usuarios a desarrollar programas y procedimientos de información y a preparar las aplicaciones de usuario.PROGRAMAS DE CONTROL DE SISTEMAS
El principal componente del software de sistemas es un conjunto de programas que se conoce como sistema operativo. El Windows 98, por ejemplo: supervisa la operación completa de la computadora, incluyendo la vigilancia del estado de la misma, el manejo de interrupciones de los programas ejecutables y la calendarización de las operaciones, lo que incluye el control de los procesos de entrada y salida. También recibe y direcciona las entradas desde el teclado y otras fuentes de entrada de datos.
SISTEMAS OPERATIVOS DE INTERFAZ GRÁFICA DE USUARIO: La interfaz gráfica de usuario (GUI) es un sistema en el que los usuarios tienen el control directo de objetos visibles (como íconos) y acciones que sustituyen a la compleja sintaxis de los comandos. En el futuro se incorporará características como la realidad virtual, sonido y habla, reconocimiento de escrito y de gestos, animación, inteligencia artificial y computadoras sumamente portátiles con funciones de comunicación celular/inalámbrica. Los más reconocidos son Windows de Microsoft Corporation, Apple.
PROGRAMAS DE APOYO AL SISTEMA estos son:
*PROGRAMAS DE UTILERÍAS DEL SISTEMA: Programas que se han escrito para llevar a cabo tareas comunes como la clasificación de registros, la verificación de la integridad de los discos magnéticos, la creación de directorios, la restauración de archivos borrados accidentalmente y su localización, etc.
*CONTROLADORES DEL DESEMPEÑO DEL SISTEMA: Vigilan el desempeño del sistema de cómputo y producen informes del uso de los recursos, como el tiempo del procesador, el espacio de la memoria, los dispositivos de entrada/salida y los programas del sistema y las aplicaciones.
*CONTROLADORES DE LA SEGURIDAD DEL SISTEMA: Vigilan el uso de un sistema de cómputo para protegerlo contra el uso no autorizado, el fraude o la destrucción, así mismo recaban estadísticas relativas a los intentos de utilizarla inapropiadamente.
*LENGUAJES DE PROGRAMACIÓN: Los lenguajes de programación constituyen básicamente un conjunto de símbolos y de reglas que se usan para escribir el código del programa, se puede decir que son los bloques constitutivos básicos para todo el software de los sistemas. Cada lenguaje emplea un conjunto diferente de reglas y la sintaxis que dicta cómo se combinan los símbolos de manera que tengan significado.
EVOLUCIÓN DE LOS LENGUAJES DE GRAMACIÓN
* LENGUAJE DE MÁQUINA: Constituye el lenguaje de cómputo de más bajo nivel, y consiste en la representación interna de las instrucciones y de los datos. Este código de máquina, es decir, las instrucciones reales que entiende y ejecuta directamente la unidad de procesamiento central, está compuesto por dígitos binarios. Resulta muy difícil de entender y de usar para los programadores, por eso se han creado lenguajes cada vez más orientados al usuario, aunque siempre los traduce primero al programa de lenguaje máquina.
* LENGUAJE ENSAMBLADOR: Está más orientado al usuario y representa las instrucciones y las localidades de los datos recurriendo a las ayudas de memoria que la gente puede utilizar con mayor facilidad. Aunque facilita la tarea al programador, una instrucción en este lenguaje sigue traduciéndose a una instrucción en lenguaje de máquina.
SOFTWARE DE DESARROLLO: Son todos los programas que sirven como herramienta para la producción de aplicaciones, tales como los lenguajes de programación.*Lenguajes de programación: son programas que permiten crear nuevos programas. Estos pueden ser de bajo o de alto nivel.-De bajo nivel es el lenguaje de máquina (binario), el cual está compuesto de ceros y unos. Es el único que entiende el procesador.-De alto nivel : Son los que utilizan los programadores para hacer sus aplicaciones. Están compuestos de instrucciones en lenguaje simbólico (código), las cuales son interpretadas (compiladas) por otros programas llamados Compiladores, para convertirlas en lenguaje de máquina.









No hay comentarios:
Publicar un comentario