SOFTWARE Software es un término informático que hace referencia a un programa o conjunto de programas de cómputo que incluye datos, procedimientos y pautas que permiten realizar distintas tareas en un sistema informático. Comúnmente se utiliza este término para referirse de una forma muy genérica a los programas de un dispositivo informático. Es un término procedente del inglés, aceptado por la RAE y formado por oposición al término hardware. TIPOS DE SOFTWARE A grandes rasgos, se puede decir que existen tres tipos de software: Software de Aplicación: aquí se incluyen todos aquellos programas que permiten al usuario realizar una o varias tareas específicas. Aquí se encuentran aquellos programas que los individuos usan de manera cotidiana como: procesadores de texto, hojas de cálculo, editores, telecomunicaciones, software de cálculo numérico y simbólico, videojuegos, entre otros. Software de Programación: son aquellas herramientas que un programador utiliza para poder desarrollar programas informáticos. Para esto, el programador se vale de distintos lenguajes de programación. Como ejemplo se pueden tomar compiladores, programas de diseño asistido por computador, paquetes integrados, editores de texto, enlazadores, depuradores, intérpretes, entre otros. Software de Sistema: es aquel que permite a los usuarios interactuar con el la computadora, así como también controlarla. Este sistema está compuesto por una serie de programas que tienen como objetivo administrar los recursos del hardware y, al mismo tiempo, le otorgan al usuario una interfaz. El sistema operativo es un software de sistema y permite facilitar la utilización del ordenador a sus usuarios ya que es el que le da la posibilidad de asignar y administrar los recursos del sistema, como ejemplo tenemos
Windows, Linux y Mac OS X, entre otros. Además de los sistemas operativos, dentro del software de sistema se ubican las herramientas de diagnóstico, los servidores, las utilidades, los controladores de dispositivos y las herramientas de corrección y optimización, etcétera. SISTEMA OPERATIVO El sistema operativo cumple con cinco funciones básicas: el suministro de interfaz al usuario, la administración de recursos, la administración de archivos, la administración de tareas y el servicio de soporte y utilidades. En cuanto a la interfaz al usuario, el sistema se encarga de que el sujeto pueda cargar programas, acceder a archivos y realizar otras tareas con la computadora. La administración de recursos permite la dirección del hardware, incluyendo los periféricos y la red. El software de sistema también se encarga de la gestión de archivos, al controlar la creación, la eliminación y el acceso a los mismos, y de la administración de las tareas informáticas que llevan adelante los usuarios finales. Por último, podemos mencionar que el servicio de soporte se encarga de actualizar las versiones, mejorar la seguridad del sistema, agregar nuevas utilidades, controlar los nuevos periféricos que se agregan a la computadora y corregir los errores del software. PROGRAMACIÓN Es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas
en el desarrollo de pequeñas aplicaciones. Del proceso de programación surge lo que comúnmente se conoce como software. La programación se rige por reglas y un conjunto más o menos reducido de órdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en inglés); y que además tienen la particularidad de una reducida ambigüedad. Cuanto menos ambiguo es un lenguaje de programación, se dice, es más potente. Se han propuesto diversas técnicas de programación cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes: Programación declarativa, Programación estructurada, programación modular y programación orientada a objetos. PROGRAMA Un programa informático o programa de computadora es una secuencia de instrucciones, escritas para realizar una tarea específica en una computadora. Este dispositivo requiere programas para funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central. El programa tiene un formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones. El mismo programa en su formato de código fuente legible para humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de programas de computadora y datos relacionados se conoce como software. PROGRAMADOR Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, el conjunto de
instrucciones que ejecuta el hardware de una computadora, para realizar una tarea determinada. Un programador o programadora, es la persona que elabora programas de computadora. Los programadores también son denominados desarrolladores de software, aunque estrictamente forman parte de un equipo de personas de distintas especialidades (mayormente informáticas), y siendo que el equipo es propiamente el desarrollador. LENGUAJES DE PROGRAMACIÓN Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Tipos de lenguaje de programación
Los lenguajes de programación se clasifican por su nivel de abstracción del procesador, en este caso la abstracción es un principio por el cual se aísla toda aquella información que no es resulta relevante a un determinado nivel de conocimiento. Lenguaje de bajo nivel: es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. Consecuentemente es fácilmente trasladado a lenguaje de máquina. En general se utiliza este tipo de lenguaje para programar controladores (drivers). Lenguaje de medio nivel: es un lenguaje de programación informática como el lenguaje C, que se encuentran entre los lenguajes de alto nivel y los lenguajes de bajo nivel. Suelen ser clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel. Lenguajes de alto nivel: Los lenguajes de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida.
Comparativa entre Windows, Mac OS y Linux SOFTWARE SISTEMA OPERATIVO VENTAJAS DESVENTAJAS Mac Mejor interfaz gráfica del mercado. Ideal para diseño gráfico. Generalmente están inmunes a ataques por virus y programas maliciosos. Se distinguen por su diseño el cual incluye muchas innovaciones en el área técnica y de funcionamiento. Excelente en el manejo de contenido multimedios Duración de batería es excepcional. Tienden a ser más costosas que las PC. Centros de reparación no son tan accesibles. Piezas pueden ser costosas. En algunas de ellas la capacidad de expandirlas son limitadas. En el aspecto de juegos la variedad no es tan extensa como en Windows. Windows Es el que tiene más software desarrollado. Excelente como media center o centro de entretenimiento multimedios del hogar. Debido a su popularidad es fácil conseguir soluciones a problemas de todo tipo. Centros de reparación sumamente accesibles. Innumerables opciones de expansión de capacidades. Es sumamente propenso a ser afectado por virus y ataques vía Internet y programas maliciosos. Requiere de constantes actualizaciones para corregir problemas de fábrica en el sistema operativo. Constantemente comunica mensajes que distraen y ocupan innecesariamente la atención del usuario. Linux El mejor costo del mercado, gratuito o un precio simbólico por el CD. Tiene una enorme cantidad de software libre para este sistema. Mayor estabilidad por algo lo usan en servidores de alto rendimiento. Entorno gráfico (beryl) mejor que el aero de WindowS. Existen distribuciones de Linux para diversos tipos de equipo, hasta para máquinas de 64 bits. Las vulnerabilidades son detectadas y corregidas más rápidamente que cualquier otro sistema operativo. Para algunas cosas debes de saber usar Linux. La mayoría de los ISP no dan soporte para algo que no sea Windows. No existe mucho software comercial. Muchos juegos no corren en Linux.