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 X, Aqua.
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.
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.
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 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.
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. Perl, Python, MATLAB, 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: Unix y Linux usan sólo retorno de
carro en cambio Microsoft
Windows de carro y
salto de línea.
No hay comentarios.:
Publicar un comentario