Internet

Home‎ > ‎Programación‎ > ‎Lenguajes‎ > ‎

Estructuras de Lenguaje

Al programar, utilizamos las diferentes herramientas/estructuras que nos ofrece el lenguaje para escribir el código. Cada lenguaje tiene sus propias estructuras y algunas de ellas son comunes a todos los lenguajes. Algunos lenguajes más sofisticados incluyen estructuras muy útiles que favorecen la productividad. Además de conocer los diferentes patrones de diseño, conocer las estructuras que nos ofrecen los diferentes lenguajes de programación nos abre la mente, incluso cuando el lenguaje que utilizamos a diario no soporte todas esas estructuras.

Identificadores

Los identificadores generalmente están formados por una sencuencia de caracteres alfanuméricos ascii + "_" cuyo caracter inicial es una letra o el carácter "_".
Algunos lenguajes soportan otros símbolos como el '$' como parte de los identificadores y algunos incluso soportan caracteres alfanuméricos unicode. Incluyendo acentos latinos, letras griegas o caracteres chinos.

Literales numéricos

Generalmente casi todos los lenguajes de programación soportan la entrada de valores decimales. Casi todos soportan la entrada de valores en hexadecimal, y algunos de ellos hasta en octal y binario.

 Tipo Formato típico Lenguajes que lo soportan
 Decimal 12345 
 Hexadecimal 0x12345 
 Octal 012345 C
 Binario 0b01111 C con extensiones (TinyCC), D

Algunos lenguajes soportan la separación arbitraria de dígitos mediante un carácter que se ignora "_".
Por ejemplo 1000000000 en algunos lenguajes se puede escribir como 1_000_000_000. Haciendo que el literal se pueda leer con mayor facilidad.
En el caso de trabajar con bits puede interesarnos separar un literal en bloques arbitrarios "0b_1111_100_00001" separación en: 5 bits + 3 bits + 4 bits. O separación por bytes: 0x_FF_00_FF_00.

Literales de cadena


Temas:
  • Cadenas y escapado e introducción de caracteres especiales. (Cadenas tipo C, cadenas tipo BASIC)
  • Cadenas what you see is what you get (útil para introducir rutas tipo windows en lenguajes tipo C) en D r"c:\test" en C# @"c:\test"
  • Cadenas con soporte multilínea (problemas de formateo)
  • Cadenas con interpolación "variable={$variable"
  • Cadenas para embeber valores arbitrarios: PHP heredoc, XML CData, D Delimited Strings
  • Cadenas para embeber código "q{" anidado (útil para mixins, generación de código y metaprogramación) (los editores colorean la sintaxis de estas cadenas, pero el compilador lo considera una cadena válida. El contenido debe ser un conjunto de tokens válidos que formen un conjunto de sentencias válidas sintácticamente)
  • Cadenas para embeber valores en hexadecimal x"FF 00 7F 33"
  • Cadenas multibyte