EDICIóN GENERAL
131 meneos
5166 clics
Befunge: un lenguaje de programación raro, raro, que es un «más complicado, imposible»

Befunge: un lenguaje de programación raro, raro, que es un «más complicado, imposible»  

El esotérico lenguaje de programación Befunge es una pequeña «monstruosidad» de la computación, que al igual que otros lenguajes como Brainfuck puede hacer muchas cosas pero haciéndolas complicadas. Como bien lo define en su título es «una especie de lenguaje de programación a lo Rube Goldberg», en honor a las famosas máquinas más complicadas de lo necesario. En Befunge el espacio de trabajo donde se programa es un tablero bidimensional, a diferencia de lo que sería la programación lineal tradicional.

| etiquetas: befunge , lenguaje de programación , complicado , esotérico , dorian braun
Yo desde que vi que había un lenguaje que se programaba con espacios y tabulaciones ya me lo creo todo.
#1 el white space tiene sus ventajas, es muy ecológico cuando imprimes el código.
#1 Por eso Ruby es mejor.
#1 Y la pasta que ganamos con el efecto 2000, 8-D
#5 ¡Y que lo digas! ;)
#1 yo no llamaría a un script de Make lenguaje de programación :troll:
#13 Se estaba refiriendo a Python :troll:
En la línea de brainfuck y ook! (Lenguaje diseñado para orangutanes) hay que estar muy aburrido.
#2 En realidad hay que ser muy buen programador: hay que tener la el intelecto suficiente para diseñarlo y la habilidad necesaria para implementarlo. Y más para que sea Turing completo.

Porque no es que haya que estar muy aburrido, es que los que diseñan este tipo de lenguajes tienen un ansia por aprender y hacer cosas que tú y yo juntos no tenemos.
#6 En realidad hay que ser muy buen programador

No. Con tener conocimientos básicos sobre cómo funciona un compilador/intérprete, puedes implementar un lenguaje así en un fin de semana. De hecho puedes ver que la implementación de referencia son menos de 3000 LOC.

hay que tener la el intelecto suficiente para diseñarlo y la habilidad necesaria para implementarlo. Y más para que sea Turing completo

Sí, por ejemplo el creador de PHP.
#10 Tu eres de los que programa sus propios drivers en binario ¿no? si total, son unos y ceros....
#17 Algún driver he programado, pero eso no se programa con "unos y ceros", si no con lenguajes de "alto nivel" como C, y algunas partes en ensamblador. Con unos y ceros he programado algún microcódigo de CPU, aunque lo normal es usar mnemónicos también.

Pero eso no viene al caso. Programar un compilador o intérprete es algo asequible para cualquiera que sepa programar y tenga una base sólida (de hecho es parte de la respectiva asignatura troncal en ingenierías).

Evidentemente el auto-denominado "desarrollador" que ha aprendido a programar con ReactJS y StackOverflow no va a poder. Pero eso no significa que haya que ser un genio para poder hacerlo. Yo estoy lejos de serlo.
#10 Si tienes conocimientos básicos de cómo funciona un compilador no eres capaz de hacer un compilador. Si lo que dices fuese cierto, cualquiera sería capaz, pero la realidad nos dice que no es cierto.

Y que no te guste PHP no quiere decir que no haya requerido años de duro trabajo.

Vamos, que con estas dos frases te has marcado un cuñadismo de campeonato :palm:
#21 Si lo que dices fuese cierto, cualquiera sería capaz

Cualquiera que sepa cómo funciona, sí. Si lo intentase en vez de llorar quizás descubriría que es fácil, sencillo y para toda la familia.

Y que no te guste PHP no quiere decir que no haya requerido años de duro trabajo.

Independientemente de que me guste o no PHP (en mi comentario no dije nada al respecto), el que lo creó no tenía ni puta idea de lo que hacía. No lo digo yo, lo dice él mismo:

"there was never any intent to write a programming language [...] I have absolutely no idea how to write a programming language"
en.wikiquote.org/wiki/Rasmus_Lerdorf
#23 Yo sé cómo funciona un lenguaje de programación y no sería capaz. Así que, por favor, déjate de cuñadeces y de infravalorar y menoespreciar el trabajo de los demás. Gracias.
#24 No, no lo has entendido. Tienes que saber cómo funciona un compilador, no un lenguaje. Son cosas muy distintas.
#25 Perdón, me equivoqué: yo sé cómo funciona un compilador y no soy capaz. Ahora, me remito a lo que puse en el comentario anterior. Gracias.
#28 Te invito a intentarlo. Además de fácil, verás que es un proyecto muy divertido. Yo sé que eres capaz.
#29 No lo has entendido: no quiero intentarlo, quiero que te des cuenta de que estás infravalorando y menospreciando el trabajo de los demás.
#28 Sin acritud, sobrevaloras tus conocimientos entonces, sabrás "que" hace un compilador, pero no sabes como funciona si no eres capaz de hacer una simple gramática.
#33 Una simple gramática no es hacer un compilador, que es de lo que estaríamos hablando si no fuera porque de lo que estamos hablando es de no infravalorar y menospreciar el trabajo de los demás.
#40 Ingeniería Informática, al menos cuando la cursé yo en la Complu, tiene una asignatura troncal que va justo de implementar un compilador: Procesadores del Lenguaje.

En mi año, cada grupo de 4 tuvimos que crear un compilador que cogía un lenguaje inventado muy parecido a Pascal y lo convertía en una suerte de instrucciones parecidas a ensamblador. Durante el año entero fuimos desarrollando el procesador léxico, el sintáctico y una máquina virtual que corría el código "compilado".…   » ver todo el comentario
#42 Mítica asignatura con Jflex y cup.

Los if anidados fue de lo más complicado para mí.
#21 Un compilador (al menos hasta código intermedio) es una de las cosas más absurdas y sencillas de hacer (pero que dan mucho respeto).
Tan sencillas que debería ser obligatorio salir de la carrera de informática sabiendo hacerlos, pero claro lo que sale ahora es puro consultor y por debajo de Java en el 70% de los casos no saben absolutamente nada.
#31 En teoría en las carreras se enseña... si tienes un buen profesor, porque en mi caso el profesor que nos lo tenía que enseñar estaba to loco, y sus clases no seguían ningún patrón ni estructura lógica reconocible.

Creo que fui el único de mi promoción que llegó a escribir un compilador, y porque nos dejaba elegir un trabajo en grupo y elegimos ese, el resto hicieron mierdas de servicios web :wall: :ffu:
#34 Todo se ha ido a la mierda con el plan de la Bolognesa.
#35 No no no, esto fue antes de Bolonia. Que por cierto, a la gente le encanta criticar Bolonia, pero yo aparte de que hayan subido las tasas (que es una putada enorme, eso es indiscutible), no veo que la cosa haya ido a peor. Quiero decir, la universidad española ya estaba mal de antes :-D
#31 Ya no se enseña teoría de autómatas y lenguajes formales?
#37 enseñarse seguramente sí, pero hacerlos no creo.
#41 Yo, en plan tuno eterno, vi como se pasaba de demostrar un teorema a solo tener que citarlo... ni siquiera a comprobar si una expresión regular lo cumplia o no... solo citarlo.
El más complicado es: en.wikipedia.org/wiki/Malbolge que sólo con algoritmos se ha logrado generar programas.
El Brainf*ck también es molón: esolangs.org/wiki/Brainfuck_algorithms
Y para programar con el paint: www.dangermouse.net/esoteric/piet.html
Ajedrez en befunge: www.frox25.no-ip.org/~mtve/code/eso/bef/chess/
Mini Ajedrez en C: nanochess.org/chess3_es.html
El único que mola de estos es el de los macacos.
es.wikipedia.org/wiki/Ook!
#8 Que gran aporte :-O
Muy interesante, voy a intentarlo en alguna kata de solveet.com. Pasé un buen rato con las de brainfuck www.solveet.com/exercises/Kata-FizzBuzz/11/solution-2859 y www.solveet.com/exercises/La-mina-de-diamantes/21/solution-521
Me gusta más que javascript
Al menos es mas claro y legible que mucho código que yo he visto por ahí.
Yo desde que vi LISP ya cualquier cosa me parece fácil.
Más raro que Python, un lenguaje que da error si se indenta diferente a lo previsto.... Difícil lo ponen.
#19 Eso ya pasaba en COBOL.
Por estas cosas los programadores no follamos.
#22 Habla por ti, yo si follo... verdad mano derecha?
-“Si”

A veces me hago trios con la izquierda.
Hola, es aquí la convención de Pajeros Pedantes no? Gracias.
Ofertas de empresas líderes en su sector buscando ninja developers con 10 años de experiencia en Befunge en 3, 2, 1...
#27 Pues podría ser. No conozco el lenguaje, pero saber adaptarte a nuevos paradigmas es una habilidad. Muy necesaria.
Yo despues aprender el ensamblador del 6502 y el 8086, empezé a meterme en la estructuración de compiladores y veía muchas cosas mejorables.
comentarios cerrados

menéame