2.1 Características básicas del lenguaje R

  • Se trata de un lenguaje interpretado (al estilo de Python) que se ejecuta en el entorno de R sin necesidad de que lo compilemos previamente (a diferencia de otros lenguajes de programación como C o Java).

  • Presenta un esquema de tipos débil, es decir, no será necesario que indiquemos expresamente el tipo de cada variable que definamos, este tipo se inferirá en base a los valores que asignemos a las variables.

  • Ofrece un soporte multiparadigma. R permite la programación orientada a objetos (y de hecho, todo lo que vamos a manejar: funciones, expresiones, estructuras de datos, etc. puede ser considerado un objeto).

Sin embargo, el sistema de objetos de R es confuso, debido a que existen diferentes mecanismos alternativos para implementar la programación orientada a objetos (S3, S4).

Es por ello por lo que resulta bastante habitual que se trabaje con R como si fuese un lenguaje procedural (es decir, basado en procedimiento o funciones), dejando la programación orientada a objetos para desarrollos más avanzados (como podría ser implementar nuevas librerías o paquetes para R). Nosotros nos centraremos en la perspectiva de usuarios que están interesados en utilizar R para analizar sus dtos, no en la de desarrolladores de paquetes de R, así que no entraremos en el detalle de los mecanismos de programación orientada a objetos.