Seleccionar página

Crédito: Quora.

Si se gana el pan como desarrollador web, entonces sabe lo frustrante que puede ser mantenerse al día con todas las nuevas bibliotecas y marcos. Si usa jquery y PHP, es un plebeyo. HTML? Debes de estar molesto. Todo el mundo sabe que un buen desarrollador en 2017 usa Babel, React, ES5, ECMAScript, Browserfy, Webpack y.

En serio, a menos que seas masoquista, no hay ninguna razón por la que debas sumergirte directamente en todas las tendencias en desarrollo de 2017. Cíñete a las herramientas básicas y agrega otras nuevas cuando las necesites y deberías estar bien. La codificación de las instrucciones de escritura para una máquina debería ser más fácil, no más confusa. Hablando de eso, parece que Urban Mller se perdió el memorándum.

Mller es una sensación de la cultura underground entre los programadores informáticos. En 1993, cuando era estudiante de física en Suiza, el joven programador de computadoras se propuso hacer el compilador más pequeño posible. El compilador es lo que traduce el código escrito en un lenguaje de programación en algo que su CPU pueda entender, es decir, código binario. Cuanto más pequeño es el compilador, menos tiempo y energía necesita la máquina para responder.

Al final, a Mller se le ocurrió Brainfuck, un nuevo lenguaje de programación cuyo compilador usa solo 240 bytes de memoria, lo que lo hace unas 11 000 veces más pequeño que el compilador de C++. Sin embargo, al hacer un compilador tan pequeño, Mller tuvo que sacrificar la practicidad. En Brainfuck, solo puedes usar ocho comandos: < , > , + , , [ , ] y , . Eso es todo. ¿Te imaginas escribir código solo con eso? Este lenguaje de programación se apega a su nombre, eso es seguro, a pesar de ser Turing-completo. Ese era todo el punto, de hecho crear un nuevo lenguaje de programación esotérico cuyo papel no sea de ningún uso en particular. Es simplemente un desafío divertido.

Echemos un vistazo a algunos códigos de Brainfuck. Una de las primeras cosas que aprende a hacer un programador novato es mostrar o hacer eco de una cadena de texto. Por lo general, la cadena Hello, world! se utiliza para ilustrar la sintaxis básica. Para generar este texto, en Java debe escribir:

 public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World");}}

En Python, es así de simple:

 imprimir ¡Hola, mundo!

En Brainfuck, es:

 +++++++++[>++++++++>++++++++++>+++>+<<<<-]>++.>+.+ +++++..+++.>++.<<+++++++++++++++++.>.+++.------.--- -----.>+.>.

Así es como se suman 5 y 2 juntos.

 ++ Celda c0 = 2> +++++ Celda c1 = 5[ Comience sus bucles con el puntero de su celda en el contador de bucles (c1 en nuestro caso)< + Sume 1 a c0 > - Reste 1 de c1] Finalice sus bucles con el puntero de celda en el contador de bucles. En este punto, nuestro programa ha agregado 5 a 2, dejando 7 en c0 y 0 en c1, ¡PERO no podemos enviar este valor a la terminal ya que no está codificado en ASCII! Para mostrar el carácter ASCII "7" debemos agregar 48 al valor 7!48 = 6 * 8, ¡así que usemos otro ciclo para ayudarnos! ++++ ++++ c1 = 8 y este será nuestro contador de ciclo nuevamente [< +++ +++ Agregue 6 a c0 > - Resta 1 de c1]< . ¡Imprima c0 que tiene el valor 55 que se traduce como "7"!

Para entender cómo escribir código en Brainfuck, hay un gran recurso en Stackoverflow e incluso una guía de Brainfuck para principiantes.

Aunque es prácticamente imposible hacer programas de alto nivel con Brainfuck, teóricamente podrías diseñar software tan bueno como cualquier otro en C++ o Java. Ser Turing completo significa que la máquina Brainfucked puede resolver cualquier problema con suficiente tiempo y memoria. Es escribir el código que es un desafío.

En las dos décadas intermedias desde que Mller diseñó por primera vez su lenguaje de programación, otros colegas alquimistas del código respondieron con sus propias versiones y derivados. En DerpPlusPlus algunos de los comandos que puedes usar son HERP, DERP, GIGITY, etc. ¡Ook! asigna ocho comandos de brainfucks a permutaciones de dos palabras de Ook., Ook? y Ook!, y supuestamente está hecho para que los orangutanes puedan escribirlo y leerlo. Por ejemplo, ¡Hola, mundo! en ¡Ok! parece:

 Bien. ¿Está bien? Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Ook, Ook. Bien. Bien. Bien. ¡Ok! ¿Está bien? ¿Está bien? Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Ook, Ook. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. ¿Está bien? ¡Ok! ¡Ok! ¿Está bien? ¡Ok! ¿Está bien? ¡Ook, Ook! Bien. Bien. ¿Está bien? Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Ook, Ook. Bien. ¡Ok! ¿Está bien? ¿Está bien? Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. ¡Ok! ¡Ok! ¡Ok! ¿Está bien? ¡Ok! ¿Está bien? Bien. Bien. Bien. ¡Ok! Bien. Bien. Bien. Bien. Bien. Bien. Ook, Ook. Bien. Bien. Bien. Bien. Bien. Bien. Bien. ¡Ok! Bien. ¡Ok! Bien. Bien. Bien. Bien. Ook, Ook. Bien. ¡Ok! Bien. Bien. ¿Está bien? Bien. ¿Está bien? Bien. ¿Está bien? Bien. Bien. Bien. Bien. Bien. Ook, Ook. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. ¡Ok! ¿Está bien? ¿Está bien? Bien. Bien. Ook, Ook. Bien. Bien. Bien. Bien. Bien. Bien. ¿Está bien? ¡Ok! ¡Ok! ¿Está bien? ¡Ok! ¿Está bien? Bien. ¡Ok! Ook, Ook. ¿Está bien? Bien. ¿Está bien? Bien. ¿Está bien? Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Ook, Ook. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. ¡Ok! ¿Está bien? ¿Está bien? Bien. Bien. Ook, Ook. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Bien. Ook, Ook. ¿Está bien? ¡Ok! ¡Ok! ¿Está bien? ¡Ok! ¿Está bien? Bien. ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! Ook, Ook? Bien. ¿Está bien? Bien. ¿Está bien? Bien. ¿Está bien? Bien. ¡Ok! Bien. Bien. Bien. Bien. Bien. Bien. ¡Ook, Ook! Bien. ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ook, Ook! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! ¡Ok! Bien. Bien. ¿Está bien? Bien. ¿Está bien? Bien. Bien. ¡Ok! Bien.

El derivado más extraño de Brainfuck podría ser Bodyfuck, que utiliza un sistema controlado por gestos para que los movimientos se conviertan en algunos de los ocho comandos disponibles. Así es como se escribe ¡Hola, mundo! en Bodyfuck.

Hay más de 200 lenguajes de programación esotéricos, muchos inspirados en Brainfuck y algunos completamente divertidos. Para imprimir ¡Hola, mundo! en Beatnik tienes que escribir un poema de 80 líneas, en Chef tienes que escribir una receta, y en DNA# el código está hecho de cadenas de A, T, G, C dispuestas en una hélice.

"