miércoles, 14 de septiembre de 2016

UNIDAD-04 SOFTWARE COMPUTACIONAL Y SU CLASIFICACION.




UNIDAD IV

SOFTWARE COMPUTACIONAL Y SU CLASIFICACIÓN.

4.1 CONCEPTO DE SOFTWARE DE COMPUTADORA.
Se conoce como software al equipo lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.

Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
El anglicismo software es el más ampliamente difundido al referirse a este concepto, especialmente en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa. Su abreviatura es Sw.

Considerando esta definición, el concepto de software va más allá de los programas de computación en sus distintos estados: código fuente, binario o ejecutable; también su documentación, los datos a procesar e incluso la información de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo «no físico» relacionado.
El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En la ingeniería de software y las ciencias de la computación, el software es toda la información procesada por los sistemas informáticos: programas y datos.
El concepto de leer diferentes secuencias de instrucciones (programa) desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936, «Los números computables», con una aplicación al problema de decisión.










4.2 TIPOS DE SOFTWARE:
·        A LA MEDIDA: Este tipo de software es utilizado por las empresas para la solución de un problema específico y la obtención de un producto de acuerdo a los requerimientos y al análisis previo realizado por parte de las personas que se encargan de su desarrollo. Dentro del software a la medida, puede ser útil una distinción entre software de finalidad específica para un tipo muy delimitado de usuarios (médicos, abogados, arquitectos…), y software comercial, de utilidad para una amplísima gama de usuarios de cualquier tipo.
 







·      
    COMERCIALES: Es aquel que está desarrollado por una entidad, empresa o grupo que desea ganar dinero por el uso del software. Se distribuye bajo licencia final de usuario, puede instalarse o usarse solo según los términos de la licencia que lo rige. Comercial y propietario no son sinónimos. La mayoría del software comercial es propietario, pero hay software libre comercial y hay software cerrado no comercial.


 









Ventajas del software comercial.

·        El software comercial garantiza la propiedad y decisión de uso del software por parte de la empresa.
·        Cuenta con más opciones de software de terceros y soporte general de la industria.
·        Aporta mayor compatibilidad con el hardware.
·        Interfaces gráficas mejor diseñadas.
·        Más compatibilidad en multimedia y juegos.


Desventajas de software comercial.

·        El costo de las aplicaciones es mayor.
·        Imposibilidad de modificación.
·        El soporte de la aplicación es exclusivo del propietario.
·        Restricciones en el uso (marcadas por la licencia).
·        Imposibilidad de redistribución.
·        Por lo general suelen ser menos seguras.


Ejemplos de software comercial:
Todas las distintas versiones de Microsoft Windows:
ü Sistema operativo Windows
ü Paquete de oficina Office (Word, Excel, Power Point)
ü Aplicación para el tratamiento de imágenes Photoshop.



·        LIBRE:

Software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:
ü La libertad de usar el programa, con cualquier propósito. 
ü La libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades.
ü La libertad de distribuir copias, con lo que puede ayudar a otros.
ü La libertad de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie.
   El software libre suele estar disponible gratuitamente o a precio del costo de la distribución de éste, sin embargo no es obligatorio que sea así y, aunque conserve su carácter de libre, puede ser vendido comercialmente.

    Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, deberías tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos.












Ventajas del software libre.


·         Económico, debido a su bajo o nulo coste.
·         Libertad de uso y redistribución.
·         Independencia tecnológica.
·         Fomento de la libre competencia al basarse en servicios y no licencias.
·         Soporte y compatibilidad a largo plazo.
·         Formatos estándar.
  • Sistemas sin puertas traseras y más seguros.
  • Corrección más rápida y eficiente de fallos.
  • Métodos simples y unificados de gestión de software.


Desventajas del software libre.



·         Dificultad en el intercambio de archivos.
·         Mayores costos de implantación e interoperabilidad.
·         No tiene garantía proveniente del autor.
·         El usuario debe tener nociones de programación


Ejemplos clásicos de software libre:


ü El sistema GNU/Linux, desarrollado por LinusTorvalds en 1991 en la Universidad de Helsinski. GNU/Linux es un sistema operativo derivado de Unix, gratuito, código abierto y que se distribuye según licencia GPL.


ü Mozilla Firefox:: es un navegador de Internet, con interfaz gráfica de usuario desarrollado por la Corporación Mozilla y un gran número de voluntarios externos. El código fuente de Firefox está disponible libremente bajo la triple licencia de Mozilla como un programa libre y de código abierto.




·        PROPIETARIO: El Software Propietario se refiere a cualquier programa informático en el que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones), o cuyo código fuente no está disponible o el acceso a éste se encuentra restringido.


En el software no libre una persona física o jurídica (compañía, corporación, fundación, etc.) posee los derechos de autor sobre un software negando o no otorgando, al mismo tiempo, los derechos de usar el programa con cualquier propósito; de estudiar cómo funciona el programa y adaptarlo a las propias necesidades (donde el acceso al código fuente es una condición previa); de distribuir copias; o de mejorar el programa y hacer públicas las mejoras (para esto el acceso al código fuente es un requisito previo).









Ventajas del software propietario.

·                     Propiedad y decisión de uso del software por parte de la empresa.
·                     Soporte para todo tipo de hardware.
·                     Mejor acabado de la mayoría de aplicaciones.
·                     Las aplicaciones número uno son propietarias.
·                     Menor necesidad de técnicos especializados.
·                     Mayor mercado laboral actual.
·                     Mejor protección de las obras con copyright.
·                     Unificación de productos. 


Desventajas del software propietario.
·                     No existen aplicaciones para todas las plataformas (Windows y Mac OS).
·                     Imposibilidad de copia.
·                     Imposibilidad de modificación.
·                     Restricciones en el uso (marcadas por la licencia).
·                     Imposibilidad de redistribución.
·                     Por lo general suelen ser menos seguras.
·                     El coste de las aplicaciones es mayor.
·                     El soporte de la aplicación es exclusivo del propietario.
·                     El usuario que adquiere software propietario depende al 100% de la empresa propietaria.


Ejemplos del software propietario: 


- Antivirus
 de diferentes marcas, programas, editores de música, video etc. Así como Convertidores. 

-  Microsoft es una empresa multinacional estadounidense fundada en1975 dedicada al sector de las tecnologías de la información con sede en Redmond, Washington, Estados Unidos. Es mayormente conocida por sus sistemas operativos Windows y aplicaciones ofimáticas comoMicrosoft Office. La compañía también suele ser nombrada como MS, por sus iniciales en el NASDAQ: MSFT o simplemente como Redmond, debido a la gran influencia que tiene sobre la localidad de su centro de operaciones. Dentro de Microsoft encontramos: windows, office, encarta, picture it, internet explorer, visual basic, visual studio, windows live.


4.3 CLASIFICACION DEL SOFTWARE:
4.3.1 SOFTWARE DEL SISTEMA:
Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros programas.

4.3.1.1 SISTEMAS OPERATIVOS Y SU CLASIFICACION:
El Sistema Operativo es un conjunto de programas que administran los recursos de la computadora y controlan su funcionamiento.
Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al Usuario, Administración de Recursos, Administración de Archivos, Administración de Tareas y Servicio de Soporte.

1.     Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por medio de interfaces que se basan en comandos, interfaces que utilizan menús, e interfaces gráficas de usuario.
2.     Administración de recursos: Administran los recursos del hardware como la CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.

3.     Administración de archivos: Controla la creación, borrado, copiado y acceso de archivos de datos y de programas.

4.     Administración de tareas: Administra la información sobre los programas y procesos que se están ejecutando en la computadora. Puede cambiar la prioridad entre procesos, concluirlos y comprobar el uso de estos en la CPU, así como terminar programas.

5.     Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas, actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos, o corrección de errores de software.

  • Monousuarios:

  Los sistemas operativos monousuarios son aquellos que soportan a un solo usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo, las computadoras personales típicamente se han clasificado en este renglón.

  • Multiusuarios:

Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones, ni importa el número de procesadores en la maquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

  • · La interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface), es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador.


Habitualmente las acciones se realizan mediante manipulación directa, para facilitar la interacción del usuario con la computadora. Surge como evolución de las interfaces de línea de comandos que se usaban para operar los primeros sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplos de interfaz gráfica de usuario, cabe citar los entornos de escritorio Windows, el X-Window de GNU/Linux o el de Mac OS XAqua.

En el contexto del proceso de interacción persona-computadora, la interfaz gráfica de usuario es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático.

  • ·   La Línea de Comandos de Windows es una implementación de la consola MS-DOS para la interfaz gráfica de las diversas versiones Microsoft Windows.

LMSDOS-Commands- Interprete de línea de comandos - MSDOS Commands], Anónimo (en español)
A partir de la versión de Windows XP, la línea de comandos pasó a segundo plano como un complemento de sistema, sin que perdiera la funcionalidad de la misma.

Evolución línea de comandos

Una versión previa de la línea de comandos y el formato de archivos batch, fue lanzada en la versión 2.0 de Windows, la cual permitía crear archivos con extensión pif, los cuales eran ejecutados en la misma línea de comandos que el 
hilo principal del sistema operativo, lo que producía problema de protección de memoria para el sistema operativo.

La línea de comandos de Windows como accesorio de sistema existió a partir de la versión de Windows 3.0 sin entregar más funcionalidades adicionales, a excepción de ejecutarse en una ventana independiente al entorno gráfico del sistema, entregando la posibilidad de crear más de una sesión de DOS por ejecución de consola, reparando los problemas de la versión antecesora de Windows. Esta ventaja permitía que el usuario pudiera invocar programas desde la consola de comandos sin salir del modo gráfico.

En las versiones de Windows 95 y 98, la línea de comandos cargaba la interfaz gráfica del usuario y se podía encontrar como un accesorio de sistema, el cual puede invocar a procesos desde la línea comando como un hilo absolutamente independiente al sistema operativo, pero aun así, los problemas de protección de memoria persistían en esta versiones de Windows, generando las pantallas azules de la muerte, que es una llamada crítica de inestabilidad del sistema operativo.

Los sistemas operativos Windows XP y Vista, al encontrarse basados en el núcleo de Windows NT, no se basa en un intérprete de comandos en modo texto (MS-DOS), por lo cual la línea de comandos no es un elemento esencial para el sistema operativo. Aun así, la línea de comandos se sigue incluyendo como un accesorio del sistema.

-SISTEMAS OPERATIVOS:  Microsoft Windows es una serie de sistemas operativos desarrollados por Microsoft desde 1981, cuando el proyecto se denominaba "Interface Manager".

Anunciado en 1983, Microsoft comercializó por primera vez el entorno operativo denominado Windows en noviembre de 1985 como complemento para MS-DOS en respuesta al creciente interés en una interfaz gráfica de usuario (GUI).[1] Microsoft Windows llegó a dominar el mercado de ordenadores personales del mundo, superando a Mac OS, que había sido introducido previamente. En octubre de 2009, Windows tenía aproximadamente el 91% de la cuota de mercado de sistemas operativos en equipos cliente que acceden a Internet. La versiones más recientes de Windows son Windows 7 para equipos de escritorio, Windows Server 2008 R2 para servidores, Windows Mobile 6.5 para dispositivos móviles y Windows 7.
         
  • MAC: MacOS, abreviatura de Macintosh Operating System (Sistema Operativo de Macintosh), es el nombre del primer sistema operativo de Apple para los ordenadores Macintosh. El Mac OS original fue el primer sistema operativo con una interfaz gráfica de usuario en tener éxito. El equipo de Macintosh incluía a Bill Atkinson, Jef Raskin y Andy Hertzfeld.

Hay una gran variedad de puntos de vista sobre cómo fue desarrollado Macintosh y dónde se originaron las ideas subyacentes. Mientras la conexión entre el proyecto Macintosh y el proyecto Alto en Xerox PARC ha sido establecido en los documentos históricos, las contribuciones iniciales del Sketchpad de Ivan Sutherland y el On-Line System de Doug Engelbart no son menos significantes. Véase Historia de la interfaz gráfica de usuario y Apple vs Microsoft.

Apple quitó importancia de forma deliberada a la existencia del sistema operativo en los primeros años de Macintosh para ayudar a hacer que la máquina pareciera más agradable al usuario y a distanciarla de otros sistemas como MS-DOS, que eran un desafío técnico. Apple quería que Macintosh fuera visto como un sistema que trabajara nada más con encenderlo.











  • UNIX: El sistema operativo UNIX comenzó a desarrollarse en los laboratorios Bell en 1969. Puede definirse como el núcleo (kernel) de un sistema operativo de tiempo compartido, es decir, un programa que gestiona los recursos de un ordenador asignándolos entre los usuarios. Permite la ejecución de programas, controla los dispositivos periféricos (discos, terminales, impresoras, etc) conectados al ordenador, y proporciona un sistema de archivos que gestiona el almacenamiento a largo plazo de información.


Como en todo sistema operativo multiusuario, UNIX solicita al usuario una identificación antes de que éste pueda empezar a trabajar. Dicha identificación se realiza mediante un nombre de usuario o login y una palabra de paso o password. El nombre de usuario lo identifica ante el sistema y los demás usuarios, la palabra de paso sirve de ``autenticación''. Además, de esta forma, el sistema operativo podrá gestionar los recursos, limitados, entre todos los usuarios.

Al iniciar una sesión UNIX el sistema pide:

login: (Teclee su nombre de usuario y pulse ENTER)
passwd: (Teclee su password y pulse ENTER)
>
Una vez que se ha iniciado la sesión, y la identificación ha tenido éxito, aparecerá un símbolo de espera (normalmente un único carácter) denominado prompt --en el caso del ejemplo será el carácter ``>''. A partir de este momento, el sistema está preparado para aceptar comandos de usuario.








  • LINUX: Linux es la denominación de un sistema operativo tipo Unix (también conocido como GNU/Linux) y el nombre de un núcleo. Es uno de los ejemplos más prominentes del software libre y del desarrollo del código abierto, cuyo código fuente está disponible públicamente, para que cualquier persona pueda libremente usarlo, estudiarlo, redistribuirlo, comercializarlo y, con los conocimientos informáticos adecuados, modificarlo.

Las variantes de los sistemas Linux de denominan "distribuciones" (distro) y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios, de estar forma existen distribuciones para hogares, empresas y servidores. Algunas son gratuitas y otras de pago, algunas insertan software no libre y otras contienen solo software libre.









  • OS/2


Éste es un sistema operativo del que casi todo el mundo ha oído hablar, pero casi nadie ha probado. Son muchos también los que lo halagan sin haber tenido nunca una experiencia previa con él. Quizás estos halagos se deben a un cierto despecho con el sistema operativo que aun siendo el estándar de hecho, no ha respondido a las expectativas suscitadas. Por supuesto, todo el mundo sabe que me refiero a Windows'95.
Los objetivos principales de los diseñadores de OS/2 fueron crear un sistema operativo ideal para la automatización de oficinas, proporcionar manejadores gráficos independientes de los dispositivos, lograr que las aplicaciones tuvieran acceso directo a periféricos con gran ancho de banda, ofrece capacidad multitarea, proporcionar un ambiente adaptado para cada programa y para su descendientes, y ofrecer un ambiente protegido para garantizar la estabilidad del sistema.









  • MS-DOS


Cuando IBM se metió en el mercado de las "computadoras personales" (en ese momento, el mercado eran geeks que jugaban con la tecnología en el garage), lo hizo para "meter cuña" con la marca entre los potenciales futuros profesionales informáticos. Hasta ese momento se dedicaba a "mainframes" con sistemas operativos licenciados anualmente con un mercado captivo, y la PC era un proyecto lateral. Necesitaban otro sistema operativo y se lo encargaron a un par de estudiantes, uno de ellos fué Bill Gates.

Fundaron Microsoft a consecuencia de este pedido de IBM, y crearon el sistema operativo DOS (Disk Operating System), ya que parte del sistema se hallaba almacenado en disco y se usaba "bajo demanda" al ejecutar comandos.

El sistema se basaba en el CPM, al que le agregaron algunos pocos conceptos básicos del Unix, como la redirección de entradas y salidas.













     Sun Solaris: 
Sistema operativo creado por la empresa microsystem Oracle el tipo de este sistema operativo es UNIX desarrollado en 1992, software libre La base de código subyacente de Solaris ha estado bajo desarrollo continuo desde que el trabajo empezó a finales de los años 1980 en lo que fue con el tiempo liberado como Solaris 2.0. Cada versión como Solaris 10 se basa en una instantánea (snapshot) de este tren de desarrollo, tomada cerca del momento de su liberación, que es después mantenida como un proyecto derivado. Las actualizaciones a ese proyecto son construidas y entregadas varias veces al año hasta que sale la siguiente versión oficial.











4.3.1.2 HERRAMIENTAS DE DIAGNOSTICO:
 Una herramienta de diagnóstico es un software que permite monitorear y en algunos casos controlar la funcionalidad del hardware, como: computadoras, servidores y periféricos, según el tipo y sus funciones. Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos  ruteadores, tarjetas de red, entre muchos dispositivos más. El software permite monitorear temperatura, rendimiento, transferencia de datos, etc.

4.3.1.3 CONTROLADORES DE DISPOSITIVO:
Los Controladores de Dispositivos son programas que permiten a otro programa de mayor nivel como un sistema operativo interactuar con un dispositivo de hardware.


4.3.1.4 UTILIDADES:
Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos, además de realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo.


4.3.2 SOFTARE DE APLICACIÓN:
El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas (procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de datos...), u otros tipos de software especializados como software médico, software educativo, editores de música, Programas de contabilidad, etc.

4.3.2.1 HERRAMIENTAS BASICAS:
Las herramientas básicas nos permiten realizar estas tareas con la ventaja de que son fáciles de utilizar por lo que la mayoría de la población aprende a utilizar los ordenadores sin problemas.
Algunos ejemplos de herramientas de software básicas son las siguientes:

Procesadores de texto. (Bloc de Notas)
Editores. (PhotoShop para el Diseño Gráfico)
Hojas de Cálculo. (MS Excel)
Sistemas gestores de bases de datos. (MySQL)

Programas de comunicaciones. (MSN Messenger)
Paquetes integrados. (Ofimática: Word, Excel, PowerPoint…)
Programas de diseño asistido por computador. (AutoCAD)

La mayoría de estos programas son conocidos, precisamente por el hecho de que incluso vienen incluidos en los paquetes de software de aplicación. De hecho una de las formas de aprender a usar la computadora de forma más fácil es aprendiendo a usar estas herramientas.

4.3.2.2 HERRAMIENTAS AVANZADAS:
 Las herramientas avanzadas del software de aplicación, pues tienen la característica de ser el resultado de combinar la sencillez del uso de las computadoras con las aplicaciones directas e innovadoras que traen consigo estas herramientas en diferentes ámbitos  
Mediante los Software de Aplicación, la máquina se convierte en un auxiliar del hombre, liberándole de las tareas repetitivas. Algunos ejemplos de software aplicaciones son: > Procesadores de texto. (Bloc de Notas) >Editores. (PhotoShop para el Diseño Gráfico) > Sistemas gestores de bases de datos. (MySQL) > Programas de comunicaciones. (MSN Messenger) > Paquetes integrados. (Ofimática: Word, Excel, PowerPoint…) > Programas de diseño asistido por computador. (AutoCAD) Software de Aplicación.
Sus programas deben ser independientes del hardware específico que se utilice y deben ser transportados sin grandes problemas de adaptación a otras computadoras y otros entornos operativos. Dentro de los programas de aplicación, puede ser útil una distinción entre aplicaciones verticales, de finalidad específica para un tipo muy delimitado de usuarios (médicos, abogados, arquitectos…), y aplicaciones horizontales, de utilidad para una amplia gama de usuarios de cualquier tipo. Programas Computacionales.

4.3.3 SOFTWARE DE PROGRAMACION:
El Software de Programación es el conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación.
Este tipo de software incluye principalmente compiladores, intérpretes, ensambladores, enlazadores, depuradores, editores de texto y un entorno de desarrollo integrado que contiene las herramientas anteriores, y normalmente cuenta una avanzada interfaz gráfica de usuario (GUI).

4.3.3.1 LENGUAJES DE PROGRAMACION:
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 pruebase depurase compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
·         El desarrollo lógico del programa para resolver un problema en particular.
·         Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
·         Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
·         Prueba y depuración del programa.
·         Desarrollo de la documentación.

Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten estructurar el contenido de los documentos).
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. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.

4.3.3.2 INTERPRETES:
En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas. Los intérpretes se diferencian de los compiladores o de los ensambladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ejemplo. una PC y una PlayStation 4). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.
Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Para mejorar el desempeño, algunas implementaciones de programación de lenguajes de programación pueden interpretar o compilar el código fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. PerlPythonMATLAB, y Ruby). Algunos aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java).
En la actualidad, uno de los entornos más comunes de uso de los intérpretes es en los navegadores web, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.

4.3.3.3 COPILADORES:
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje diferente. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce comocompilación.


La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto.
·         Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis léxico (que consiste en la descomposición del programa fuente en componentes léxicos), análisis sintáctico (agrupación de los componentes léxicos en frases gramaticales ) y análisis semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase de análisis sintáctico).

·         Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de generación de código (normalmente se trata de código intermedio o de código objeto) y de optimización de código (en las que se busca obtener un código lo más eficiente posible).
Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en Front-end y Back-end:
·         Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el análisis Léxico y la generación de código intermedio.

·         Back-end: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.

Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programación concreto sirva para generar código máquina en varias plataformas distintas. Suele incluir la generación y optimización del código dependiente de la máquina

4.3.3.4 EDITORES DE TEXTO:

No debe confundirse con Procesador de texto.

Un editor de texto es un programa informático que permite crear y modificar archivos digitales compuestos únicamente por textos sin formato, conocidos comúnmente como archivos de texto o “texto plano”. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Es comúnmente de 7- u 8-bits en ASCII o UTF-8, rara vez EBCDIC.
Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110 0001 (decimal 97 o hexadecimal 61) en el archivo lo representará en la pantalla por la figura a, que el usuario reconoce como la letra "a" y ofrecerá al usuario las funciones necesarias para cambiar el número binario en el archivo.
Los editores de texto son incluidos en el sistema operativo o en algún paquete de software instalado, y se usan cuando se deben crear o modificar archivos de texto como archivos de configuración, lenguaje de programación interpretado (scripts) o el código fuente de algún programa.
El archivo creado por un editor de texto incluye por convención en DOS y Microsoft Windows la extensión ".txt", aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como Linux dan al usuario total libertad en la denominación de sus archivos.
Al trasladar archivos de texto de un sistema operativo a otro se debe considerar que existen al menos dos convenciones diferentes para señalar el término de una línea: UnixLinux usan sólo retorno de carro en cambio Microsoft Windows de carro y salto de línea.