3.1.1. Características del lenguaje de programación.
3.1.1. Características del lenguaje de programación.
Una vez que se
ha visto cómo abordar un problema y cómo escribir un algoritmo que lo modelase
se verán a continuación las herramientas de que se dispone, los lenguajes de
programación para programar un algoritmo, cómo construir un programa, y cómo
programarlo utilizando pseudocódigo.
¿Cuál es el
propósito de un lenguaje?
Los lenguajes
de computación pueden ser de propósito general o específicos.
C, C++, Java,
Pascal, etc. Son lenguajes de programación de propósito general
SQL, PROMELA,
Actionscripts son lenguajes específicos
¿POR QUÉ LA DIVERSIDAD DE LENGUAJES INFORMÁTICOS?
En primer lugar,
existen distintos tipos de lenguajes de programación porque cada uno de ellos
está especificado para resolver un grupo de problemas con características
similares.
En segundo
lugar, los lenguajes de programación han ido evolucionando hacia una mayor facilidad,
flexibilidad y potencia. Por esto, han ido apareciendo distintos tipos de
lenguajes que ofrecen una funcionalidad mayor y generalmente una filosofía de
programación novedosa.
Por último, las
compañías que diseñan software están muy interesadas en tener muchos lenguajes
de programación en el mercado porque esto les reportará más beneficios
económicos.
¿POR QUÉ ES IMPORTANTE EL ESTUDIO DE DIFERENTES LENGUAJES
O PARADIGMAS CUANDO AL FINAL SÓLO TRABAJARÉIS CON UNOS POCOS?
Hay muchas razones que justifican
su estudio, entre las cuales las más importantes son:
- Mejora el uso del
lenguaje de programación: si se conoce cómo están implementadas las
características en un lenguaje de programación, se mejorará la habilidad
para escribir programas eficientes. Por ejemplo, si se conoce cómo crear y
manipular listas o cadenas en un lenguaje, por ejemplo Scheme, utilizando
recursión se conseguirá construir programas más eficientes.
- Incrementa el
vocabulario de los elementos de programación.
- Permite una mejor elección
del lenguaje de programación: El conocimiento de diversos lenguajes de
programación facilitan la elección del lenguaje más adecuado para un
proyecto determinado.
- Mejora la habilidad
para desarrollar programas efectivos y eficientes: Muchos lenguajes
proporcionan características que, cuando se utilizan correctamente,
aportan muchos beneficios a la programación pero, cuando se hace un uso
incorrecto, pueden ocasionar un gran coste computacional. El ejemplo
típico es la recursión, que permite una implementación elegante y
eficiente de funciones. Pero cuando no se sabe utilizar, puede ocasionar
un aumento exponencial del tiempo de ejecución.
- Facilita el
aprendizaje de un nuevo lenguaje de programación: Cuando se conocen las
estructuras, técnicas de implementación y construcciones de un lenguaje,
es mucho más sencillo aprender un nuevo lenguaje de programación que tenga
estructuras similares.
- Facilita el diseño de
nuevos lenguajes de programación: Es posible que en un futuro tengais que
diseñar vosotros un lenguaje que se adapte a vuestras necesidades. Cuantos
más lenguajes y paradigmas se conozcan, más sencillo resultará el diseño y
la implementación.
La historia de los lenguajes de programación es dinámica y se
encuentra en continua expansión. El gran número de lenguajes de programación
que han aparecido desde los años 60 hasta la actualidad no son ni mucho menos
los únicos que aparecerán en un futuro.
Características comunes a todos los lenguajes de
programación:
- Tienen una sintaxis: un conjunto de reglas que definen qué
expresiones de texto son correctas. Por ejemplo, en C todas las sentencias
deben terminar en ';'.
- Los lenguajes de programación se ejecutan en
un computador y tienen una determinada semántica que define cuál será el resultado de la
ejecución de un programa.
- Definen un conjunto de tipos
de datos primitivos que representan los posibles valores que pueden devolver las
expresiones del lenguaje.
- Tienen mecanismos de abstracción para definir
nuevos tipos de datos a partir de los primitivos o nuevas funciones y
procedimientos.
Todos los lenguajes de programación
permiten combinar ideas simples en ideas más complejas mediante los siguientes
tres mecanismos:
- expresiones
primitivas, que
representan las entidades más simples del lenguaje
- mecanismos
de combinación con los que se construyen elementos compuestos a partir de
elementos más simples
- mecanismos
de abstracción con los que dar nombre a los elementos compuestos y manipularlos
como unidades
Abstracción
El
concepto de abstracción es fundamental en informática. Para
modelar un dominio (sistema de información de una universidad, sistema de
sensores de una planta química, etc.) es necesario definir distintas abstracciones que nos permitan tratar sus elementos.
Una
abstracción agrupa un conjunto de elementos (datos y procedimientos) y le da un
nombre. Por ejemplo, cuando hablamos del sistema de información de una
universidad identificamos elementos como:
- Estudiantes
- Asignaturas
- Matrícula
- Expediente académico
- ...
Existen
abstracciones propias de la computación, que se utilizan en múltiples dominios.
Por ejemplo, abstracciones de datos como:
- Listas
- Árboles
- Grafos
- Tablas hash
También
existen abstracciones que nos permiten tratar con dispositivos y ordenadores
externos:
- Fichero
- Raster gráfico
- Protocolo TCP/IP
Uno
de los trabajos principales de un informático es la construcción de
abstracciones que permitan ahorrar tiempo y esfuerzo a la hora de tratar con la
complejidad del mundo real.
No comments