Documente Academic
Documente Profesional
Documente Cultură
Los enlaces de comunicación y las bases de datos permiten el acceso a recursos de información que
están más allá de la inmediatez física, sobrepasando las limitaciones geográficas. Las
computadoras permiten la utilización de masas de información las cuales, no eran concebibles hasta
hace algunos años. Pero no sólo basta la disponibilidad de la cantidad de información, se trata de
contar con información de calidad. Los sistemas de información basados en computadoras no sólo
son capaces de suministrarnos información de calidad y oportuna, sino que también pueden
respaldar la toma de decisiones.
Cada uno de estos componentes, es a su vez un sistema en si mismo. Todo sistema organizacional
cuenta con una entidad abstracta denominada sistema de información. Este sistema es el medio
que permite a los datos, fluir entre los diferentes departamentos o personas que integran la
organización.
Los sistemas tienen tres componentes interactivos funcionales: la entrada, el proceso y la salida.
La entrada involucra la captación y acopio de elementos que se deben insertar al sistema para ser
procesados. Un ejemplo de entrada para un sistema de manufactura es la materia prima, la energía
y esfuerzo humano provistos para asegurar la producción. El procesamiento incluye los procesos de
transformación para convertir las entradas en salidas (ejemplo los procesos de fabricación). La
salida, son los elementos procesados en su estado final, resultantes de la actividad
transformadora, como los bienes manufacturados por una fábrica.
Sistemas organizacionales.
Las organizaciones están formadas por muchos sistemas, cada uno con sus propias características,
que a su vez son similares en sistemas del mismo tipo. Por ejemplo, todos los sistemas
manufactureros tienen semejanzas. Su fin común es la producción de bienes que satisfagan la
demanda del mercado. Para lograr su objetivo, los sistemas interactúan con su medio ambiente
para conseguir la materia prima e implementos, los obreros y el conocimiento para elaborar sus
productos.
A su vez los sistemas generan salidas resultantes de su actividad, como productos terminados,
desechos y tecnología para la producción. Estos sistemas deben estar bajo control, con la finalidad
de mantener su adecuado funcionamiento. Los gerentes y empleados, vigilan el nivel de desempeño
y comparan con la producción planificada a fin de aplicar los cambios requeridos, si existiesen
diferencias.
Al mismo tiempo los sistemas de fabricación, son subsistemas de otras organizaciones de mayor
tamaño, que contienen otros sistemas; como por ejemplo, subsistemas para la obtención de materia
prima o de mantenimiento de equipos. Como puede observarse, todos los sistemas comparten
características generales. Bajo esta perspectiva, cualquier sistema puede examinarse en este útil
y flexible marco de referencia, que permite usar los conceptos de sistemas en cualquier
organización en general, y especialmente en el diseño de sistemas de información.
Pero un sistema manual de información puede llegar a ser ineficiente y frustrante, incluso en
organizaciones pequeñas. Un sistema de información automatizado o basado en computadoras, es
la integración de hardware, software, personas, procedimientos y datos. Todos estos elementos se
conjugan, trabajando juntos, para proporcionar información básica para la conducción de la
empresa. Esta información hace posible que las empresas lleven a cabo sus tareas con mayor
calidad y facilidad.
Personas: Un sistema de cómputo involucra una variada gama de personas relacionadas con el
mismo, puesto que su construcción, mantenimiento y uso representan una labor con cierto grado de
complejidad. Se pueden dividir en dos grandes grupos: Los usuarios finales y los especialistas o
profesionales.
Los usuarios finales son aquellos que operan o interaccionan directamente con el sistema a través
de una estación de trabajo o incluso, quienes reciben reportes e información generada por el
sistema.
Entre los profesionales se encuentran: Los analistas de los sistemas de información, encargados
de idear soluciones cuando se requiere un nuevo sistema, actualizarlo, modificarlo o reconstruirlo;
losprogramadores, que crean los programas de cómputo que forman parte de los sistemas de
información; los administradores del sistema, encargados de mantener el sistema en buenas
condiciones; los capacitadores, que instruyen y preparan a los usuarios para la utilización del
sistema.
Hardware: Consiste en los equipos, dispositivos y medios necesarios que constituyen la plataforma
física mediante la cual, el sistema de información puede funcionar. Se incluyen aquí, por supuesto,
los que permiten las comunicaciones y los enlaces de red. Estos recursos son, por ejemplo,
computadoras, monitores, impresoras, disquetes o componentes de almacenamiento de información
externos, disco óptico, papel de impresión, cableado de red, y otros.
Software o programas: Son el componente lógico, es decir, los programas, las rutinas e
instrucciones que conforman el sistema de información. Se les suele denominar aplicación de
sistema de información. Es así como los sistemas de información pueden tener aplicaciones
particulares, por ejemplo, para el área de ventas, de contabilidad, de personal o de compras. La
aplicación que conforma un sistema de información completo contiene subconjuntos de programas
que se encargan de apoyar las distintas actividades propias de la organización.
Existen tres categorías comunes de reportes en toda organización. Los reportes periódicos,
que se producen a intervalos de tiempo regulares, por ejemplo, los reportes de ventas
mensuales. Los reportes de excepción, que indican acontecimientos inusuales, por ejemplo, un
reporte que muestre que la venta de cierto artículo se encuentre muy por encima de los
pronósticos. Los reportes a solicitud, que son realizados por petición expresa, por ejemplo,
cantidad de empleados, de sexo femenino, en un rango determinado de edad; es un reporte
que no se requiere con periodicidad, sino en una situación ocasional, como la evaluación para
la contratación de un seguro médico para los empleados.
Este tipo de sistema debe brindar flexibilidad para que el usuario (gerente o directivo)
pueda solicitar informes definiendo el contenido y la manera de presentar la información. El
criterio de los directivos juega un papel importante en la toma de decisiones en problemas
no estructurados. Los sistemas que dan soporte, se limitan a respaldar, pero no reemplazan
el criterio del directivo.
Sistemas de automatización para oficinas: Los empleados de una empresa utilizan diversas
aplicaciones, como procesadores de texto, hojas de cálculo y programas de comunicaciones para
encarar tareas diarias y rutinarias de una oficina: envío de cartas, memorandos, relación de
productos o servicios. Los sistemas automatizados de una oficina pueden constituirse a partir de
aplicaciones comerciales básicas que pueden ser adquiridas en el mercado, en lugar de desarrollar
hasta las más mínimas soluciones.
Gracias a los nuevos adelantos tecnológicos los beneficios que aportan los sistemas de información
se han extendido más allá de los límites de las instalaciones de la organización. Es factible que los
sistemas de información del futuro mediante la incorporación de las mejoras tecnológicas de
hardware y software, ofrezcan una mayor capacidad y abundancia de aún mejores opciones
adicionales. Es claro que hoy se conforma una sociedad de la información que incorpora grandes
avances tecnológicos en las telecomunicaciones y en la informática; velocidad, disponibilidad y
conectividad, juegan un papel de vital importancia en las organizaciones actuales, que sin exclusión
están obligadas a operar transmitiendo y recibiendo información, interna y externa para realizar
sus actividades diarias. Es evidente que la capacidad gerencial se ha visto enriquecida con los
cambios introducidos por el uso de tales innovaciones.
La gran mayoría de las organizaciones están conscientes que los mejores resultados se obtienen
adaptándose a las nuevas condiciones del entorno, un entorno que se ha ido haciendo cada vez más
cambiante, exigente y turbulento. Los desafíos organizacionales están influenciados por la
innovación, la rapidez, servicio de calidad y mejora continua. La información sobre su actuación y
desempeño le permiten evaluarse y reconocer sus fortalezas y debilidades para tomar los
correctivos adecuados evitando navegar a la deriva logrando mayor acierto en la toma de
decisiones.
Tal proceso siempre representará un esfuerzo, inversión de tiempo y recursos por parte de la
organización. Acometer tal esfuerzo de manera casual, presenta un alto grado de riesgo al no
garantizar la culminación del proyecto con éxito. Este procedimiento permite reducir al mínimo el
riesgo de fracaso de nuevos proyectos, pues es común que muchos errores surjan al utilizar nuevos
sistemas de información, bien por no adaptarse correctamente a las necesidades reales o por
desempeñarse de forma inadecuada.
Los usuarios juegan un papel crítico al momento de cambiar o desarrollar exitosamente un sistema de
información, porque son quienes conocen los problemas de su área de trabajo, pudiendo suministrar
información valiosa y atinada sobre las necesidades que debería resolver tal sistema. El desarrollo
acertado de sistemas de información automatizados requiere del trabajo conjunto de usuarios finales
y de los analistas de sistemas (ver Tabla 1).
1. Investigación Preliminar
La primera fase tiene que ver con la identificación de problemas, oportunidades y objetivos. Es muy
valiosa y debe ser asumida con prudencia y atención, porque de ella depende el resto del proyecto.
La definición correcta del problema evitará desperdiciar el tiempo en un problema equivocado.
Requiere de la observación minuciosa del funcionamiento de la organización, usando las sugerencias
de los usuarios potenciales del sistema y de los demás miembros de la organización, para resaltar los
problemas que ellos probablemente ya han detectado.
La definición del problema conlleva el estudio del sistema de información que se encuentra en uso. Se
trata de determinar qué información se requiere y quiénes, cuándo y por qué la necesitan llevando a
cabo entrevistas con los involucrados y realizando observaciones. Así, la propuesta de posibles
soluciones consiste en sugerir planes alternativos de solución en base a la información recabada. Esto
puede ir, desde proponer una nueva organización de trabajo, hasta hacer cambios al sistema
computarizado que existe, desarrollar un nuevo sistema computarizado o elegir un nuevo software
comercial que se adapte a las necesidades encontradas.
2.- Análisis
Esta fase se ocupa de la reunión y estudio a detalle de los datos del sistema en operación y la
especificación de los nuevos requerimientos del sistema a desarrollar. Concluye en general con un
documento que recoge el resultado del análisis. Con la recopilación de datos se complementan los
datos resultantes de la fase 1, añadiendo detalles sobre el sistema actual. Son medios comunes para
acometer tal recopilación: las entrevistas, cuestionarios, encuestas a usuarios finales, así como
también, las consultas a documentos y manuales que contengan lineamientos de funcionamiento o
normas de procedimientos de operación.
Existen varias técnicas y herramientas útiles para el análisis de datos. Una de éstas es el uso de
diagramas de flujo de datos para diagramar la entrada, proceso y salida de las funciones de la
organización de manera gráfica. Estos diagramas sirven para desarrollar el llamado diccionario de
datos, el cual contiene la definición de los datos usados en el sistema, así como sus características de
tipo, tamaño, limitaciones o especificaciones especiales. La documentación de la etapa de análisis
recoge la descripción del sistema de información en uso, los requerimientos para el nuevo sistema y
un probable plan de desarrollo en un reporte dirigido a la gerencia. Este reporte permite tomar la
decisión de proseguir o no con el proyecto.
3.- Diseño
En esta fase se delinea el nuevo sistema de información. Se compone de tres tareas que son: diseño de
sistemas alternativos, selección del mejor sistema, y la consiguiente redacción del reporte del diseño.
Casi siempre podrá desarrollarse más de un diseño que cubra las necesidades de información. Debe
ser determinada la factibilidad de cada una de las alternativas. La factibilidad aquí referida tiene que
ver con tres aspectos:
• Factibilidad económica: Verificar si los costos del nuevo sistema son justificados por
los beneficios que ofrecerá.
Para elegir el diseño adecuado, los directivos van a evaluar básicamente si el sistema cumple con los
siguientes aspectos:
El reporte correspondiente a esta fase describe los diseños alternativos, comparando sus costos y
beneficios y un esbozo de sus efectos en la organización. Es conveniente recomendar una de las
alternativas, la más adecuada, basándose en las comparaciones de los mismos.
4.- Desarrollo
Durante esta fase los programadores pueden jugar un papel de importancia al crear o personalizar el
software que formará el sistema. Esta fase consiste de las tareas de desarrollo del software,
adquisición de hardware y prueba del nuevo sistema. En realidad el software de aplicación para el
nuevo sistema de información puede conseguirse de dos formas alternativas. Es posible adquirir un
paquete comercial que cumpla las expectativas o que incluso pueda ser modificado o adaptado. Si no
es posible conseguirlo, se hará necesario elaborar uno a la medida. La elaboración de software sigue
una serie de pasos que se describen en el tema sobre Programación.
La adquisición de hardware o nuevos equipos no siempre es requerida, si los equipos con los que se
cuenta son adecuados. En otro caso, debe preverse las características de los mismos y el lugar donde
serán instalados. El cambio de equipos puede representar un gran costo, por lo que se debe pensar
cuidadosamente en cuestiones como: si el mismo será útil al crecer la organización; en el caso de las
redes, si podrán ampliarse sin problemas; si se requerirá someter al personal a capacitación costosa
para poder usarlo.
Se procede a la prueba del sistema una vez instalados el software y el hardware usando datos de
muestra. La información que se obtiene tras procesar los datos en el sistema, se evalúa para acreditar
que los resultados son correctos. En el período de prueba los usuarios que lo utilizan pueden hacer
observaciones valiosas para afinar el sistema haciendo las correcciones pertinentes.
5.- Implementación
En la fase de implementación se instala el nuevo sistema de información para que empiece a trabajar y
se capacita a sus usuarios para que puedan utilizarlo. Pero la instalación puede realizarse según cuatro
métodos: Directo, paralelo, piloto y en fases. Veamos en qué se diferencian estos métodos:
• Método paralelo: Los sistemas de información antiguo y nuevo operan juntos hasta que el
nuevo demuestra ser confiable. Este método es de bajo riesgo. Si el sistema nuevo falla,
la organización puede mantener sus actividades con el sistema antiguo. Pero puede representar
un alto costo al requerir contar con personal y equipo para laborar con los dos sistemas, por lo
que este método se reserva específicamente para casos en los que el costo de una falla
sería considerable.
• Método piloto: Pone a prueba el nuevo sistema sólo en una parte de la organización.
Al comprobar su efectividad, se implementa en el resto de la organización. El método es
menos costoso que el paralelo, aunque más riesgoso. Pero en este caso el riesgo es controlable
al limitarse a ciertas áreas, sin afectar toda la empresa.
6.- Mantenimiento
Al finalizar la fase de implementación comienza la fase de mantenimiento. Es la fase final, de gran
importancia como se demostrará a continuación, y es una fase permanente en lo que le resta de vida
al sistema. El mantenimiento se inicia con una auditoria del sistema y luego continúa con evaluaciones
periódicas. Al realizar la auditoria del nuevo sistema, se verifica que su desempeño sea acorde a las
especificaciones planteadas en la fase de diseño, para comprobar que los procesos que han sido
integrados, efectivamente son los adecuados. En caso contrario, se hace necesario un nuevo diseño
para ajustar los inconvenientes detectados.
El enfoque por prototipos consiste en la creación de un modelo preliminar del nuevo sistema, que
puede ser modificado o adaptado gradualmente antes de su instalación definitiva como sistema
funcional propiamente dicho. Entre sus ventajas se encuentra, que es una manera expedita de generar
nuevos sistemas. Los usuarios finales pueden ver desde un principio como lucirá el sistema, aportando
sus observaciones sobre los cambios necesarios para que el modelo se adapte adecuadamente a su
trabajo. Pero por otro lado, el uso exclusivo de este enfoque, tiene su riesgo. Puede propiciar cambios
o instalaciones de sistemas que no tomen en cuenta asuntos de importancia como los costos.
Pero es adecuado resaltar que ninguno de estos métodos debería omitir los pasos del ciclo planteado,
si se desea trabajar efectivamente. El pasar por alto alguna de las fases, podría en todo caso, traer más
problemas que provecho. Debe quedar claro que estos nuevos planteamientos intentan optimizar y
reducir el tiempo de cada fase, más que obviarlas, de manera de reducir el tiempo total de desarrollo
del sistema en general.
Para concluir
En este tema se presenta un proceso de desarrollo de sistemas, que aún con sus variaciones e
inconvenientes, sirve como base al planteamiento de nuevas metodologías que intentan hacerlo más
efectivo. Este enfoque sistémico permite estructurar los proyectos y en especial llevar a cabo el
desarrollo de sistemas computacionales. Tener conocimiento sobre el mismo, es de gran utilidad y da
una idea de cómo abordar problemas que pueden tener un alto grado de complejidad.
El ciclo de desarrollo de sistemas tradicional que se plantea en este tema, ha servido efectivamente
por muchos años de guía para la elaboración de sistemas. Aunque según diferentes fuentes, el número
de fases puede variar, siempre podrán encontrarse los pasos aquí planteados, agrupados o listados
quizá de manera diferente. Pero no cabe duda que la adopción y seguimiento adecuado de estos
pasos, influirá notablemente en conseguir con éxito la culminación del proyecto.
Programas:
Un programa de cómputo o programa informático (software) es un conjunto o secuencia de
instrucciones (llamadas también código) que pueden ser interpretadas y ejecutadas en el CPU de la
computadora. Esta secuencia de instrucciones se escribe en alguno de los diversos lenguajes de
programación que existen, como BASIC, Pascal o C. Visto de manera más general, el programa
contiene el esquema que especifica la secuencia de pasos que se siguen para completar un proceso
expresado en un lenguaje de programación.
Los programas pueden caer en una de dos categorías: Programas del sistema o programas de
aplicación. Regularmente todos estos programas están compuestos de muchos archivos: algunos
contienen las instrucciones para la computadora y otros contienen datos. El nombre de un archivo
suele estar seguido de un punto y una extensión. La extensión por lo general da indicios del tipo de
archivo de que se trata. Es costumbre que los archivos, los cuales componen una aplicación, se
almacenen en una misma carpeta o directorio que se denomina directorio de la aplicación y que
contará con un nombre que haga alusión a la aplicación.
Variables:
Las variables son los “contenedores” de los datos que se van a procesar, son un elemento común en la
mayor parte de los lenguajes de computación. Físicamente, las variables son áreas designadas de
memoria en donde se guarda el valor del dato. Supongamos que se escribe un programa en el cual se
solicitan sueldos de empleados. Se debe contar con una variable que guarde ese dato. Puede
escogerse nombrarla, por ejemplo, v_sueldo.
Cuando, a solicitud del programa, el usuario introduce un número, ese dato se convierte en el valor de
la variable v_sueldo. Entonces de manera semejante como en álgebra o física, las variables pueden ser
usadas en programación para realizar operaciones de informática. Si el programa indica la declaración
v_sueldo + 500 y el valor en v_sueldo = 1.000, el resultado para esta declaración va a ser 1.500.
Algoritmos:
Se denomina algoritmo a una serie finita de pasos o instrucciones mediante los cuales se resuelve un
problema o se ejecuta una tarea específica. Más formalmente los algoritmos se caracterizan por:
Los algoritmos especifican los pasos (instrucciones) que permiten llegar a la solución de un problema,
sin importar si el proceso es manual o automatizado. De modo que no se encuentran exclusivamente
relacionados con la computación. En la vida cotidiana son empleados en diversas ocasiones. Por
ejemplo, los pasos seguidos para retirar dinero de un cajero automático de un banco o cuando se
sigue una receta de cocina. Se puede entenderlos entonces, como una especie de “receta” que indica
los pasos que permiten alcanzar la solución de un problema.
Procedimientos y Funciones:
Los procedimientos y funciones son bloques de código reusables, que pueden ser invocados en
cualquier parte de un programa, mediante expresiones que les representan. Son algoritmos
específicos en un lenguaje de programación que resuelven un problema definido. Pueden ser usados
cada vez que es requerido, simplemente colocando la expresión que les invoca, sin necesidad de
reescribir todas las instrucciones que representan a tal procedimiento o función. Por ejemplo, si se
desea la raíz cuadrada de un número, podría usarse la expresión Sqrt(x). La x dentro del paréntesis es
llamada argumento, siendo el número del cual se desea la raíz cuadrada. El argumento permite
especificar la entrada a la función cuando el programa se está ejecutando. Siendo x la variable que
almacena el número 12 para un programa, la función buscará la raíz cuadrada de 12. Cuando la
función encuentra la raíz cuadrada, devuelve el valor al programa que la invocó.
Enfoques de Programación:
En los inicios de la programación y hasta principios de los sesenta, no habían estructuras bien
definidas en la forma en que se escribía el código. Se disponía una línea tras otra de programación
construyendo un único e inmenso bloque, que constituiría el programa. Pero el control del flujo a
través de gran cantidad de líneas de instrucciones, resultaba difícil de seguir no sólo por su tamaño,
sino porque no siempre es posible programar siguiendo la secuencia de una línea tras otra. Por lo que
se hizo frecuente el uso de la instrucción go to (vaya a) escrito como “goto” en el programa.
Esta instrucción goto, identifica una línea de programa, que puede estar varias líneas más abajo e
incluso varias líneas más arriba, a la cual salta para cambiar el control del flujo. Si se piensa en un
programa pequeño, tal vez no resulte tan engorroso el seguimiento de estos saltos. La cuestión
cambia, si se trata de un programa de miles de líneas donde se generaliza el uso del goto, de modo
que el programa va a presentar multitud de saltos. Entonces seguir el flujo del programa realmente se
torna muy complicado e incluso imposible, aún para quien lo esté desarrollando.
En la programación orientada a objetos, los bloques constructores son unos componentes modulares y
reusables, denominados objetos. Surge en los ochenta, afirmándose que llegará a ser el enfoque
dominante de la programación. Este enfoque enriquece la programación estructurada, más que
sustituirla. Los objetos están compuestos en sí mismos, por piezas de programa estructuradas, y la
lógica de manipulación de objetos también es estructurada.
Programación estructurada:
La investigación a través del estudio de los códigos logró demostrar que cualquier programa se podía
escribir, usando las tres estructuras siguientes de control:
Estructura secuencial
Objetos:
En general cuando se observa o se piensa sobre un objeto, por ejemplo un carro, siempre se le percibe
como un todo. No es común enfocarse en sus componentes de acero, vidrio o plástico, sino más bien,
la mente lo percibe como unidad completa, como un objeto, como un todo. Si se desea describir el
carro, se puede pensar en su color, tamaño y forma. Como todos los objetos, el carro posee atributos
que permiten describirle. Se puede pensar además en las cosas que el carro puede hacer, como
acelerar, retroceder, girar a derecha o izquierda,...
En el ejemplo de los carros, estos pueden tener una clase sedan, una clase deportivo y una clase
camioneta pick up; todas las clases comparten como atributo un volante y como función acelerar.
Además de las características heredadas, las subclases pueden tener características propias. Para las
pick up, por ejemplo, cuentan además con dirección en las cuatro ruedas. De este modo todo objeto
pertenece a una clase.
En POO crear un objeto se denomina instanciación. Al instanciar un objeto, éste adquiere de manera
automática los atributos y métodos asociados a la clase a la cual pertenece. Normalmente no se
espera que los carros operen por sí solos. Para que el carro vaya hacia delante se envía una señal,
presionando el acelerador. En POO se utilizan los mensajes para indicar a los objetos que realicen una
determinada función.
En este paso se identifica y se define la necesidad a resolver, que indicará los objetivos,
salidas, entradas y requerimientos de procesamiento del programa. Los programadores,
verifican si existe ya, una solución provista por alguien que haya encarado el problema con
anterioridad y que lo ofrezca, bien en la propia organización o de manera comercial fuera
de ella. Solamente si la solución no se encuentra disponible, o existen limitaciones para
conseguirla, es cuando se comienza con la programación. En primer lugar, debe
establecerse cuál es el problema que se intenta resolver, delimitándolo claramente. Se
procede entonces, a determinar cuál es la salida de información que se desea genere el
programa. La salida, se puede tratar de una salida impresa o una que se presente en el
monitor, como por ejemplo, un reporte de facturación para cada mes. La determinación
de entradas requiere identificar qué datos son necesarios para realizar el proceso y cuál es
su origen. Seguidamente, se definen las tareas de procesamiento que deben realizarse
para transformar los datos de entrada en salida.
Diseño del programa:
Es la etapa en la cual los programadores delinean cada componente del programa y las
interfases entre cada componente. Se cuenta con muchas herramientas para este proceso,
entre las que se tiene, diagramas de flujos (para programación estructurada), círculos y
canales de mensaje (programación orientada a objetos) y seudocódigo. Estas herramientas
permiten presentar una documentación que describe la solución en términos gráficos y
descripción de las instrucciones que conforman los procedimientos.
Pasos de la Programación
Pasos Descripción
Regularmente se toman estos problemas generales y se van dividiendo en problemas específicos más
pequeños. Al ir resolviendo estos problemas específicos gradualmente se resuelve también el
problema general.
Es importante destacar, que el proceso de programación del software, se encuentra dentro de la fase
de desarrollo del ciclo de vida del sistema. Es parte de un proceso más grande y complejo. Aquí se
señalan específicamente los pasos que conforman el proceso de programación, explicando
brevemente cada uno y mencionando algunas herramientas que son usadas en el proceso. Sin
embargo, todo esto es sólo una introducción que aspira inspirar la curiosidad de investigar con más
profundidad y detalle sobre el tema y seguramente que no se defraudará de lo que encuentre. En el
tema sobre Lenguajes de Programación encontrará material complementario al presente tema, acerca
de las herramientas que permiten traducir en código los razonamientos y pasos para resolver un
problema.
Lenguajes de programación
A continuación se expondrá lo que son los lenguajes de computación, el papel que juegan dentro de la
programación, herramientas que permiten traducir los algoritmos a instrucciones que puedan ser
interpretadas y ejecutadas por las computadoras.
Los lenguajes de programación intentan conservar una similitud con el lenguaje humano, con la
finalidad de que sean más naturales a quienes los usan. Establecen un conjunto de reglas sintácticas y
semánticas, las cuales rigen la estructura del programa de computación que se escribe o edita. De esta
forma, permiten a los programadores o desarrolladores, poder especificar de forma precisa los datos
sobre los que se va a actuar, su almacenamiento, transmisión y demás acciones a realizar bajo las
distintas circunstancias consideradas.
{
int suma; 4.- Define la variable (suma) de tipo entero.
De esta forma, son llamados lenguajes de bajo nivel, a aquellos constituidos por instrucciones en
lenguaje máquina o próximos a él. Tales lenguajes permiten crear programas muy rápidos y eficientes,
pero en contrapartida, estos lenguajes suelen ser difíciles de aprender, programar y depurar. Un
hecho importante es, que los programas escritos en un bajo nivel, son prácticamente específicos para
cada procesador, lo que implica, que si se quiere ejecutar el programa en otra máquina de
arquitectura diferente, es necesario volver a escribir el programa desde el principio.
En los lenguajes de alto nivel las instrucciones son independientes de la máquina, son más fáciles de
aprender porque están formados por elementos de lenguajes naturales (del inglés). En BASIC,
comandos como "IF CONTADOR = 10 THEN STOP" son usados para ordenar a la computadora, que
pare si CONTADOR es igual a 10. Pero aunque las computadoras parecieran comprender el lenguaje
natural, lo hacen de una manera bastante rígida y sistemática, lo cual podría parecer un poco
frustrante e inspira la búsqueda de lenguajes más cercanos aún al natural.
Compiladores e Intérpretes:
Se ha señalado que la computadora sólo puede ejecutar instrucciones en código de máquina, por lo
cual, todos los programas escritos en cualquiera de los lenguajes de programación deben ser
convertidos o traducidos. Este proceso es llevado a cabo por unos programas especiales, los
“compiladores” y los “interpretes”. Para darse una idea de cómo funcionan, es útil comparar su
actuación con la de un profesional humano encargado de traducir. Un compilador equivale a que el
traductor humano, partiendo de un texto, prepare otro texto nuevo e independiente, traducido a la
otra lengua. En contraste, un intérprete equivale a que tal profesional traduzca de forma hablada,
cada grupo de palabras o instrucción, a medida que la oye, sin dejarlas por escrito.
El código objeto. Este código objeto obtenido, es un programa rápido y ya listo para funcionar, pero
está expuesto a poseer errores que pueden provocar fallas en la computadora. En el proceso de
compilación pueden resultar varios archivos de código objeto, los cuales deben enlazarse para obtener
un archivo ejecutable. Esto se logra mediante un programa llamado enlazador.
Por otra parte, los intérpretes recorren línea a línea el código fuente en el momento de su ejecución.
Esto los hace más lentos, 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. Es natural que los lenguajes
de programación utilicen sólo uno de estos métodos para producir el código fuente, sin embargo
muchos también disponen de versiones interpretadas y compiladas. En cuanto a las generaciones de
lenguaje, se tienen cinco diferentes, considerando que cada generación sucesiva se establece con
lenguajes más poderosos y fáciles de usar que los de la generación precedente. Los lenguajes
calificados como de alto nivel, comienzan a partir de la tercera generación.
- PASCAL, nombrado en honor del inventor francés Blas Pascal, es introducido por Niklaus Wirth
en 1971. El Pascal, buscaba superar las limitaciones de los otros lenguajes de programación
y demostrar la manera adecuada de implementar un lenguaje de cómputo. Ha llegado a
considerarse un excelente lenguaje de enseñanza. Las personas que se inician en la programación le
consideran fácil para implementar algoritmos, su compilador es estricto con el uso de
programación estructurada, asegurándose de que los errores sean señalados al principio.
- C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis Ritchie, quienes
buscaban un mejor lenguaje de integrar con el sistema operativo UNIX, para que los usuarios
pudiesen hacer modificaciones y mejoras con facilidad. El código ejecutable obtenido del lenguaje C,
es rápido y eficiente. El C es poderoso, puesto que brinda la libertad de conseguir que se realice
casi cualquier cosa en una computadora. Esta es una de las razones por la cual se ha vuelto tan
popular entre quienes desarrollan software para aplicaciones comerciales profesionalmente. Su
dificultad estriba, en que no es tan sencillo de aprender en comparación con otros lenguajes.
- Java (1991) es desarrollado por Sun Microsistema. Cuando Internet comenzó a ganar
popularidad como red de comunicaciones a mediados de los noventa, Sun redirige a Java para
convertirlo en un ambiente de programación que permitiese crear sistemas interactivos y dinámicos
(denominados applets) para las páginas Web. La complejidad de Java es similar a C++, pero ha ido
ganando popularidad por la demanda de aplicaciones para páginas Web, incluso se estima que
puede llegar a desplazar a C++ como ambiente de programación.
Muchos de estos lenguajes tienen capacidad para bases de datos, permitiendo crear programas que
sirvan de enlace con las mismas. Los programas incluyen formas y cuadros para introducir datos, así
como solicitar reportes de información de las bases de datos. En general, ahorran tiempo puesto que
el código requerido para “conectar” los cuadros de diálogo y las formas se genera de forma
automática.
- Los programas de ambientes visuales: Existen versiones de programas populares como el Visual
BASIC o el Visual C, los cuales, soportan características y métodos orientados a objetos y que permiten
crear programas en un ambiente visual. Por ejemplo, si se desea ubicar un cuadro de texto en un
formulario para entrada de datos sólo se requiere arrastrarlo desde la barra de herramientas hasta la
posición deseada sobre el formulario. Con los programas de tercera generación se requiere escribir el
código, indicando el tamaño y ubicación exacta del cuadro de texto.
Nuevas tendencias:
La disponibilidad de programas de calidad desarrollados más rápidamente, se ve acrecentada con el
pasar del tiempo motivada por dos aspectos. Por un lado, la acumulación del conocimiento de cómo
hacer las cosas, organizado mediante técnicas y metodologías bien definidas y estructuradas, que
plantean alternativas como guías a seguir. Por otro lado, la disponibilidad de lenguajes de
programación los cuales proveen mejores medios para que los desarrolladores sean capaces de aplicar
su creatividad, ingenio y experiencia.
Por un lado, quienes se encarguen de la integración de los objetos cuando se trata de desarrollar
programas específicos, más que de desarrollar a detalle cada componente desde el principio. En tanto
que los surtidores de tales componentes se especializan en desarrollar los objetos que les son
demandados, que podrán ser componentes estándar o a la medida (con especificaciones únicas).