Core Characteristics of R Programming Language

Rumman Ansari   Software Engineer   2023-01-22   6276 Share
☰ Table of Contents

Table of Content:


Core Characteristics

EXECUTION MODEL: 

Interpreted. R is also an interpreted language, in the sense that it provides an interface to compile the code; that is, expressions in R are also JIT-compiled to bytecode, which can then be interpreted.

INTERACTIVE CONSOLE:

RStudio, R Commander, Jupyter Notebook. RStudio is the cornerstone user interface for the R language. However, the language is also compatible with the R Commander and Jupyter Notebook GUIs.

STANDARD LIBRARY:

Comprehensive

INHERITANCE:

Multiple inheritance

TYPING:

Strong, dynamic. R is also dynamically typed in the sense that it is not necessary to predefine variables before execution (as would be the case in a low-level language such as C++).

INTERFACE ENFORCEMENT:

At runtime, via duck typing (allows for the running of operations on objects without specifically having to predefine those objects beforehand).

FIRST CLASS FUNCTIONS:

Yes. A function can be assigned to a variable in the same way as Python.

CLOSURES:

Yes. The scope of a function encompasses variables that appear in its body but that are not local variables or arguments. This is necessary for correct support of first class functions in a language with lexical scoping.

ANONYMOUS FUNCTIONS:

Limited syntax. R uses the function keyword in place of a lambda to do so.

DATA ABSTRACTION:

Classes. Both Python and R support object-oriented programming, where classes in R are of an S3 or S4 type. Although you can add methods to a class in R using the setMethod() function, this process is more simplistic in Python.