Nim language en Windows , Linux [Ubuntu] y Docker

Nimrod-400

Nim es un lenguaje de programación de sistemas compilados de tipo estático. Combina conceptos exitosos de lenguajes maduros como Python, Ada y Modula.

Instalar Nim en Windows es muy fácil. Debes descargarlo y descomprimir la carpeta en la ruta que quieras. Ejecuta el programa finish.exe y sigue el wizard de instalación.

En plataformas como Ubuntu tan solo debes escribir:

$ sudo apt-get install nim

Un programa en Nim tiene la extensión *.nim y para ejecutar un programa es tan sencillo como esto:

1. Creamos el programa.

var 
   x, y, z: int
   nombre: string

x=5
y=9
z=21
nombre = "Juan Pasamontañas" 
echo "Nombre: ",nombre
echo "x: ",x

2. compilar y ejecutar

$ nim compile --run programa.nim

Docker
Instalamos una imagen de Nim con Docker:

$ docker pull nimlang/nim

Mostramos la imagen:

$ docker images -a

hola.nim

echo "Hola, mundo!!!"

Ejecutamos imagen:

$ docker run --rm -v `pwd`:/usr/src/app -w /usr/src/app nimlang/nim nim c -r hola.nim

Salida:

Hola, mundo

fundamentos.nim

import strutils

#procedimiento
proc concatenar(cadena:string, item:string):string=
    return cadena & item

proc hacerMayuscula(cad:string):string =
    return cad.toUpper()

#funciones
func hacerMinuscula(cad:string):string=
    cad.toLower()


echo "Programación en Nim lang"
var verdadero:bool = 33 > 11

if verdadero:
    echo "Esto es cierto!!!"

var
    nombre, correo:string
    a, b, c:int
    suma, cont:int

nombre = "Juana Huertas"
correo = "huertas.juana@latinmail.com"
a=10
b=4
c=11
echo "Nombre: ",nombre," --> correo: ",correo
var mayor = a
if mayor <b> 0:
    echo "Cont: ",cont
    cont = cont - 15
    suma += cont

echo "Suma final: ",suma
for nom in nombre:
    echo "Caracter: ",nom
echo "------------------------------------------------------"
var cadena: string="ABC"
for c in cadena:
    echo "Caracter: ",c
echo "------------------------------------------------------"
echo "Cadena: ",hacerMayuscula("udidubi")
echo "Cadena: ",hacerMinuscula("JUNTIDUNTI")
echo "Concatenar: ",concatenar("Juanito", " Frijoles ")# Juanito Frijoles
echo "------------------------------------------------------"
for i in cadena:
    echo "\tA. Caracter: ",i
    for j in cadena:
        echo "B. Caracter: ",j

echo "-------------------------------------------------------"
var arreglo = [1,2,3,4]
for numx in arreglo:
    echo "\tA--&gt; ",numx
    for numy in arreglo:
        echo "B--&gt; ",numy
echo "--------------------------------------------------------"

let tupla = (true,"codemonkey.junior@latinmail.com",138.0, ["ALEF","BET","GIMMEL"], "Codemonkey Junior")
echo "Tupla: ",tupla

Links:

https://dev.to/aligoren/getting-started-nim-lang-3g5b
https://nim-lang.org/
https://hub.docker.com

https://github.com/nim-lang/Nim/
http://rosettacode.org

Published by Ariel Cupertino

I'm a computing engineer. I like to program in different programming languages. Mainly in Java and Python.

Leave a comment