Tipos de Datos y Versiones de Lenguajes de Programación: JavaScript, Python y C++

JavaScript

Año: 1995

Versiones:

  • 2015 – Estándar ECMAScript 6
  • 2016 – Estándar ECMAScript 7

Tipos de datos que maneja y su implementación:

El último estándar ECMAScript define nueve tipos:

  • Seis tipos de datos primitivos, controlados por el operador typeof:
    • Undefined: typeof instance === «undefined»
    • Boolean: typeof instance === «boolean»
      Valores primitivos: true y false
    • Number: typeof instance === «number»
      Valores primitivos: tiene tres valores simbólicos: +Infinity, -Infinity y NaN
    • String: typeof instance === «string»
      Valores primitivos: Una subcadena de la original seleccionando letras individuales o usando String.substr().
      Una concatenación de dos cadenas usando el operador de concatenación (+) o String.concat().
    • BigInt: typeof instance === «bigint»
      Valores primitivos: Un BigInt se crea agregando n al final de un número entero o llamando al constructor.
    • Symbol: typeof instance === «symbol»
  • Null: typeof instance === «object». Tipo primitivo especial que tiene un uso adicional para su valor: si el objeto no se hereda, se muestra null;
    Valores primitivos: null
  • Object: typeof instance === «object». Tipo estructural especial que no es de datos pero para cualquier instancia de objeto construido que también se utiliza como estructuras de datos: new Object, new Array, new Map, new Set, new WeakMap, new WeakSet, new Date y casi todo lo hecho con la palabra clave new;
  • Function: una estructura sin datos, también responde al operador typeof: typeof instance === «function».

Python

Año: 1991

VersionesCaracterísticas
Versión 1.0 – enero de 1994Las características más importantes incluidas en esta publicación fueron las herramientas de la programación funcional lambda, reduce, filter y map.
BeOpenEn el año 2000, el equipo principal de desarrolladores de Python se cambió a BeOpen.com para formar el equipo BeOpen PythonLabs.
Versión 2.0Tomó una importante característica del lenguaje de programación funcional Haskell: generación de listas.
Versión 3.0Fue diseñado para rectificar ciertas fallas fundamentales en el diseño del lenguaje.

Tipos de datos que maneja y su implementación:

TipoClaseNotasEjemplo
strCadenaInmutable'Cadena'
unicodeCadenaVersión Unicode de stru'Cadena'
listSecuenciaMutable, puede contener objetos de diversos tipos[4.0, 'Cadena', True]
tupleSecuenciaInmutable, puede contener objetos de diversos tipos(4.0, 'Cadena', True)
setConjuntoMutable, sin orden, no contiene duplicadosset([4.0, 'Cadena', True])
frozensetConjuntoInmutable, sin orden, no contiene duplicadosfrozenset([4.0, 'Cadena', True])
dictMappingGrupo de pares clave:valor{'key1': 1.0, 'key2': False}
intNúmero enteroPrecisión fija, convertido en long en caso de overflow.42
longNúmero enteroPrecisión arbitraria42L o 456966786151987643L
floatNúmero decimalComa flotante de doble precisión3.1415927
complexNúmero complejoParte real y parte imaginaria j.(4.5 + 3j)
boolBooleanoValor booleano verdadero o falsoTrue o False

Variables:

Los nombres de variables pueden contener números y letras pero deben comenzar por una letra, además existen 28 palabras reservadas:

  • and
  • assert
  • break
  • class
  • continue
  • def
  • del
  • elif
  • else
  • except
  • exec
  • finally
  • for
  • from
  • global
  • if
  • import
  • in
  • is
  • lambda
  • not
  • or
  • pass
  • print
  • raise
  • return
  • try
  • while

Lenguaje C++

Año: 1983

La intención de su creación fue extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, C++ es un lenguaje híbrido.

Tipos de datos que maneja y su implementación:

  • Caracteres: char (también es un entero), wchar_t
  • Enteros: short, int, long, long long
  • Números en coma flotante: float, double, long double
  • Booleanos: bool
  • Vacío: void

El modificador unsigned se puede aplicar a enteros para obtener números sin signo.

wchar_t (que permite el uso de caracteres UNICODE) se define como:

typedef unsigned short wchar_t;

«null»

void* puntero = NULL;
int entero = NULL;
bool boleana = NULL;
char caracter = NULL;