Nuevo

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