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
yfalse
- Number: typeof instance === «number»
Valores primitivos: tiene tres valores simbólicos:
+Infinity
,-Infinity
yNaN
- 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 agregandon
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
Versiones | Características |
---|---|
Versión 1.0 – enero de 1994 | Las características más importantes incluidas en esta publicación fueron las herramientas de la programación funcional lambda , reduce , filter y map . |
BeOpen | En 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.0 | Tomó una importante característica del lenguaje de programación funcional Haskell: generación de listas. |
Versión 3.0 | Fue diseñado para rectificar ciertas fallas fundamentales en el diseño del lenguaje. |
Tipos de datos que maneja y su implementación:
Tipo | Clase | Notas | Ejemplo |
---|---|---|---|
str | Cadena | Inmutable | 'Cadena' |
unicode | Cadena | Versión Unicode de str | u'Cadena' |
list | Secuencia | Mutable, puede contener objetos de diversos tipos | [4.0, 'Cadena', True] |
tuple | Secuencia | Inmutable, puede contener objetos de diversos tipos | (4.0, 'Cadena', True) |
set | Conjunto | Mutable, sin orden, no contiene duplicados | set([4.0, 'Cadena', True]) |
frozenset | Conjunto | Inmutable, sin orden, no contiene duplicados | frozenset([4.0, 'Cadena', True]) |
dict | Mapping | Grupo de pares clave:valor | {'key1': 1.0, 'key2': False} |
int | Número entero | Precisión fija, convertido en long en caso de overflow. | 42 |
long | Número entero | Precisión arbitraria | 42L o 456966786151987643L |
float | Número decimal | Coma flotante de doble precisión | 3.1415927 |
complex | Número complejo | Parte real y parte imaginaria j. | (4.5 + 3j) |
bool | Booleano | Valor booleano verdadero o falso | True 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:
|
|
|
|
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;