domingo, 23 de junio de 2024

El lenguaje de programación D

 


Según el sitio oficial, el lenguaje D es:

Un lenguaje de programación de propósito general con escritura estática, acceso a nivel de sistemas y sintaxis similar a C.

Después de la creación del lenguaje C muchos otros lenguajes como C++ o C# proclamaban ser el real sucesor. Sin embargo, el lenguaje D aprendió de los error de C++ y clama ser el real sucesor de C.

En primer lugar:

  • Conserva la esencia de C/C++.
  • Capaz de hacer código de bajo nivel como C/C++.
  • Omite algunos aspectos de C/C++.
  • Conserva la herencia, pero solo la simple.
  • Uso de plantillas como C++.
  • Soporta la programación funcional.
  • Manejo de memoria (recolección de basura).
  • Interacción con la API de C.

Para probar este lenguaje sin tener que instalarlo debes visitar este sitio:

https://tour.dlang.org/

Ejemplo. Crear el hola, mundo en D.

holamundo.d

import std.stdio;

void main(string[] args)
{
    writeln("Hola, mundo en D");
}

A primera vista es similar a un programa hecho en C.

Ejemplo. Sumar dos números enteros.

suma.d

import std.stdio;

/*
  Sumar dos números en lenguaje D
*/

void main(string[] args)
{
    int x = 0;
    int y = 21;
    
    if(x == 0){
        x = 31;
    }
    
    int suma = x + y;
    writef("La suma de %d y %d es: %d", x,y,suma);

}

Declarar variables es de manera idéntica a la que se hace en C.

Tipos de datos básicos en D:

  • bool, byte, ubyte, char 
  • short, ushort, wchar
  • int, uint, dchar
  • long, ulong
  • float, double, real

Ejemplo. Mostrar el elemento 2 de un arreglo de cadenas.

saludo.d

import std.stdio;

void main(string[] args)
{
    string[] nombre = ["Miguel","Oscar","Karla"];
    writef("Hola, %s", nombre[2]);

}

Ejemplo. Uso de sentencias condicionales (if, switch)

seleccion.d

import std.stdio : writeln;


void main(string[] args)
{
    if (1 == 1)
        writeln("Esto siempre será verdadero");

    int c = 5;
    switch(c) {
        case 0: .. case 9:
            writeln(c, " entre 0 y 9");
            break; 
        case 10:
            writeln("10");
            break;
        default: 
            writeln("Ningún caso");
            break;
    }
}

En D existen estas sentencias de flujo de control selectivas:

  • if-else
  • switch

Ejemplo. Obtener la media de una matriz de números.

recorrer.d

import std.stdio : writefln;



void main() {

    auto arr = [

        [5, 15],      // 20

        [2, 3, 2, 3], // 10

        [3, 6, 2, 9], // 20

    ];



    foreach (i, row; arr)

    {

        double total = 0.0;

        foreach (e; row)

            total += e;



        auto avg = total / row.length;

        writefln("Promedio [row=%d]: %.2f", i, avg);

    }

}

Continuaremos con este tema en próximas entregas.

Enlaces:

https://dlang.org/
https://tour.dlang.org/
http://www.dsource.org/

No hay comentarios:

Publicar un comentario

Claude Code: un nuevo enfoque de la programación por pares

Claude Code es una herramienta de inteligencia artificial creada por Anthropic que funciona directamente en la terminal. Sirve para acele...

Etiquetas

Archivo del blog