LENGUAJES DE
PROGRAMACION
Un lenguaje de programación es un
lenguaje que puede ser utilizado para controlar el comportamiento de una
máquina, particularmente una computadora. Consiste en un conjunto de reglas
sintácticas y semánticas que definen su estructura y el significado de sus
elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación
y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya
que los lenguajes informáticos engloban a los lenguajes de programación y a
otros más, como, por ejemplo, el HTML.
Según la forma de ejecución
Lenguajes compilados
Naturalmente, un programa que se
escribe en un lenguaje de alto nivel también tiene que traducirse a un código
que pueda utilizar la máquina. Los programas traductores que pueden realizar
esta operación se llaman compiladores. Éstos, como los programas ensambladores
avanzados, pueden generar muchas líneas de código de máquina por cada
proposición del programa fuente. Se requiere una corrida de compilación antes
de procesar los datos de un problema.
Los compiladores son aquellos
cuya función es traducir un programa escrito en un determinado lenguaje a un
idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como
lo son los lenguajes del popular Visual Studio de Microsoft), el programa
desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de
haber compilado el programa, ya no aparecen errores en el código.
Lenguajes interpretados
Se puede también utilizar una
alternativa diferente de los compiladores para traducir lenguajes de alto
nivel. En vez de traducir el programa fuente y grabar en forma permanente el
código objeto que se produce durante la corrida de compilación para utilizarlo
en una corrida de producción futura, el programador sólo carga el programa
fuente en la computadora junto con los datos que se van a procesar. A
continuación, un programa intérprete, almacenado en el sistema operativo del
disco, o incluido de manera permanente dentro de la máquina, convierte cada
proposición del programa fuente en lenguaje de máquina conforme vaya siendo
necesario durante el proceso de los datos. No se graba el código objeto para
utilizarlo posteriormente.
La siguiente vez que se utilice
una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina.
Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada
instrucción del ciclo tendrá que volver a ser interpretado cada vez que se
ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de
ejecución (porque se va revisando el código en tiempo de ejecución) pero más
rápido en tiempo de diseño (porque no se tiene que estar compilando a cada
momento el código completo). El intérprete elimina la necesidad de realizar una
corrida de compilación después de cada modificación del programa cuando se
quiere agregar funciones o corregir errores; pero es obvio que un programa
objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que
uno que se debe interpretar a cada paso durante una corrida de producción.
PROGRAMACIÓN MODULAR
La programación estructurada es
una técnica de diseño de programas que comenzó a ponerse en
Práctica a principios de los años
70. Su utilización tiene como objetivo paliar algunas deficiencias:
1. Los programas que están
constituidos por un único bloque, más o menos grande, de código, dependiendo de
la complejidad y tamaño de la aplicación, por ejemplo 5000 ó 6000 líneas de
código sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso
de un sólo submódulo, son programas pocos legibles, difíciles de depurar y
modificar y poco reutilizables.
2. Un problema complejo no puede
solucionarse de una sola vez y con un único algoritmo; además, existen
operaciones que se repiten una y otra vez a lo largo del programa, de tal
manera que es necesario el mismo bloque de código pero con diferentes datos.
Con el fin de dar solución a los puntos anteriores se introdujo la programación
estructurada. Su objetivo primordial es resolver un problema, más o menos
complejo, dividiéndolo en otros más sencillos, que ligados convenientemente,
nos den la solución del problema original.
Cada subproblema se representará
mediante uno o varios módulos según su complejidad. La idea es que estos
módulos sean independientes, es decir, que se puedan modificar o reemplazar sin
afectar al resto del programa o que puedan ser reutilizados en otros programas.
Supongamos el siguiente ejemplo. “Un profesor quiere crear un programa para
gestionar la notas de sus alumnos. Quiere que dicho programa le permita
realizar tareas tales como asignar notas, cambiar notas, ver las notas según
las distintas calificaciones, etc.” Un posible división del problema en módulos
sería: Esta subdivisión nos permitiría, fácilmente, cambiar la forma de
visualizar a los alumnos, reutilizar el módulo “Visualizar” en otro programa y
sobre todo es mucho más fácil de comprobar su funcionamiento.
Por tanto, las ventajas del
diseño modular se traducen, principalmente, en que los programas son:
más fáciles de escribir y probar
(los módulos pueden escribirse y probarse separadamente)
más fáciles de mantener y
documentar.
Programación Estructurada.
Se refiere a un conjunto de
técnicas que han ido evolucionando. Estas técnicas aumentan considerablemente
la productividad del programa reduciendo el tiempo requerido para escribir,
verificar, depurar y mantener los programas. La programación estructurada
utiliza un número limitado de estructuras de control que minimizan la
complejidad de los problemas y que reducen los errores. Ésta incorpora entre
otros elementos: el diseño descendente, recursos abstractos y estructuras
básicas. La programación estructurada es una forma de escribir programación de
ordenador de forma clara, para ello utiliza únicamente tres estructuras:
secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso
de la instrucción o instrucciones de transferencia incondicional ( GOTO ).
¿QUÉ ES UNA INTERFAZ GRAFICA DE USUARIO?
En el contexto del proceso de interacción
persona-ordenador, la interfaz gráfica de usuario (IGU), 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 interfaz gráfica de usuario
(en inglés Graphical User Interface, GUI) es un tipo de interfaz de usuario que
utiliza un conjunto de imágenes y objetos gráficos (iconos, ventanas,
tipografía) para representar la información y acciones disponibles en la
interfaz. Habitualmente las acciones se realizan mediante manipulación directa
para facilitar la interacción del usuario con la computadora.
Surge como evolución de la línea
de comandos de los primeros sistemas operativos y es pieza fundamental en un
entorno gráfico.
Como ejemplo de interfaz GUI
podemos citar el escritorio o desktop del sistema operativo Windows y el
entorno X-Windows de Linux.