Un lenguaje de programación en español

Sin ; ni {} ni ==. Cuarenta y dos palabras, todas en castellano, y un solo ejecutable que no necesita instalar nada por debajo.

Windows, Mac y Linux. Software libre, licencia MIT.

# El área de un círculo, en Fal
tipo Circulo con radio
    funcion area
        devuelve pi por radio de mi por radio de mi
    fin
fin

rueda es nuevo Circulo con 3
escribe redondea con (area de rueda) y 2

Escribe 28.27. Se lee en voz alta y hace lo que dice.

El escalón que no cubre nadie

Fal no existe porque hicieran falta más lenguajes. Existe por un hueco concreto.

Arrastrando bloques

Se aprende la idea de un bucle en una tarde. Pero llega el día en que arrastrar cansa y quieres escribir de verdad.

Aquí no había nada

El siguiente paso es sintaxis llena de símbolos y encima en inglés. Ese salto se lleva por delante a mucha gente que habría seguido.

Un lenguaje de adultos

Donde acaba todo el mundo, y donde Fal quiere dejarte. No es un sitio para quedarse a vivir.

Si has pasado por pseudocódigo en clase conoces el otro lado del problema. Sirve para entender la lógica, pero ahí se acaba: no abre un archivo, no tiene bibliotecas y no te deja montar un juego. Aprendes y no sale del aula.

Fal se lee casi igual que ese pseudocódigo, y por debajo tiene un intérprete entero: objetos con herencia, clausuras, módulos, archivos, JSON, fechas, expresiones regulares y peticiones a internet. El mismo lenguaje con el que repites diez veces una línea te sirve después para leer un CSV de gastos y sacar un informe que cuadra al céntimo.

Cómo se lee

La diferencia no es de estilo. Es que no hay nada que memorizar antes de empezar.

En FalEn casi cualquier otro sitio
si edad es mayor que 18 if (edad > 18) {
nombre es "Ana" nombre = "Ana"
si nombre es igual a "Ana" if (nombre == "Ana")
repite 3 veces for (let i = 0; i < 3; i++) {
fin }

El = contra el == se ha llevado por delante a muchísima gente que empezaba, y las llaves y el punto y coma otro tanto. Aquí eso no puede pasar, porque no existen.

Las ocho reglas

Todo el lenguaje sale de aquí. Si alguna vez dudas de cómo se escribe algo, la respuesta está en una de estas ocho.

  1. Todo en español. Con tildes o sin ellas, en mayúsculas o en minúsculas: FUNCIÓN, funcion y Función son la misma palabra.
  2. Cero símbolos. Solo palabras y paréntesis.
  3. Una sola forma de hacer cada cosa.
  4. Todo se llama igual. nombre de dato o nombre con esto y lo otro, sea una función tuya, una de la biblioteca o el campo de un objeto.
  5. Los bloques cierran con fin. La sangría es decorativa.
  6. Una línea, una instrucción.
  7. Se cuenta desde el 1. El primero es el 1 y el último es el menos 1.
  8. Los errores enseñan. Dicen la línea, el camino que siguió el programa y cómo se arregla.

Lo que cuesta

Quitar los símbolos no sale gratis, y conviene decirlo antes de que lo descubras tú.

En cuanto una cuenta crece, escribirla con palabras es más largo

3 mas 4 por 5 frente a 3 + 4 * 5. La apuesta es a sabiendas: se gana en las primeras horas y se paga después. Quien ya sabe programar va a escribir más aquí de lo que escribiría en otro sitio.

Y hay una segunda pega que es real. Esos símbolos son la convención en casi todos los lenguajes, en la documentación y en las matemáticas, así que aquí no se practican. Por eso Fal está pensado para dejarlo atrás, no para quedarse, y por eso el manual termina con una tabla que traduce cada cosa a Python y a JavaScript.

Qué hay dentro

42palabras reservadas, y ni una más
93funciones listas para usar
1ejecutable, sin dependencias
0cosas que instalar antes

Listas, diccionarios, conjuntos, funciones que se pasan como si fueran datos, clausuras, objetos con herencia, errores con clase, módulos, archivos, JSON, fechas, expresiones regulares e internet. También dibujo con tortuga y lectura de teclas, que es lo que hace falta para que un juego sea un juego.

El intérprete está escrito en Go, sin una sola dependencia externa, y el mismo código compila a WebAssembly. Por eso la página donde puedes probarlo no manda tu programa a ningún servidor: lo ejecuta tu propio navegador.

Empezar

Lo más rápido es no instalar nada.

Windows

Descarga fal-windows.zip, descomprímelo entero y haz doble clic en instalar.bat.

Mac y Linux

Descarga el paquete de tu sistema, descomprímelo y ejecuta sh instalar.sh.

El instalador no pide permisos de administrador y deja todo en tu carpeta de usuario. Al terminar, abre una terminal nueva y escribe fal --ayuda.