UTNianos

Versión completa: Lenguajes de programación poco convencionales
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Sacado de Microsiervos

http://noticias.lainformacion.com/cienci...2OCSBOe43/

Un listado de 10 lenguajes de programacion poco usados

Tenemos por ejemplo

INTERCAL: Uno de los primeros lenguajes esotéricos, fue diseñado como una parodia de COBOL y FORTRAN, con el objetivo expreso de que fuese difícil de entender. Entre sus más famosas instrucciones se cuenta COME FROM (“VEN DESDE”), la versión INTERCAL del denostado GOTO (“IR A”).

brainfuck: Aparte de por contener una palabra malsonante en el nombre, este lenguaje es conocido por su extrema simplicidad y por ser absolutamente ininteligible. Apenas dispone de ocho instrucciones, todas ellas signos de puntuación, y se han escrito compiladores para él en menos de 200 bytes.

y chachan chachan, un viejo conocido

Haskell: A diferencia de muchos de los ejemplos anteriores, no se trata en este caso de un ejercicio o un juego, sino de uno de los lenguajes funcionales más utilizados, especialmente en el ámbito académico. Una de sus caracerísticas más notorias, aparte de su concisa formulación casi matemática, es que la indentación de las líneas de código es significativa, lo cual dota al código de una profunda elegancia.

¿Que otros conocen ustedes?

Me acuerdo haber visto una pagina donde estaba el Hello World en muchisimos lenguajes, incluidos estos extraños, despues veo si la encuentro
Yo me habia hecho uno llamado Mmmm?*. Fue mi regalo de aniversario para una pareja geek de amigos que cumplian dos años de novios. Ellos poseian la capacidad de hablar con "emes" (como si tuvieran la boca llena) y de entenderse, entonces por eso esta clase de "regalo".

Si quieren una explicacion mas detallada:

Spoiler: Mostrar
Las instrucciones posibles son:
<variable> = <constante numerica>;
<variable>++;
<variable>--;

Ademas de poseer etiquetas para un "goto":
[<etiqueta goto>]

Y saltos condicionales hacia etiquetas, tipo-c (0 = false, cualquier otro = true)
<variable>? <etiqueta goto>; ---->Si variable > 0, voy a <etiqueta goto>;
<variable>! <etiqueta goto>; ---> Si variable = 0, voy a <etiqueta goto>;

Tanto <variable> como <etiqueta goto> estan compuestas solo por una cantidad de Emes mayuscula/minusculas (osea, todas las variables SOLO pueden contener letras "m"), y es case-sensitive.

Ejemplo sencillo: mm? MM; hace que si "mm" es mayor a cero (true), vaya hasta la linea cuya etiqueta es MM.

Aca abajo hay un ejemplo de programa, el mismo multiplica MM por mm. Osea, que si a MM lo reemplazas por 3, y a mm lo reemplazas por 7, te devuelve 21 (si lo hice bien). La idea era despues extenderlo para que, por linea de comando, puedas asignarle valores a las "variables iniciales". El programa es turing-completo, supuestamente =P.

MM=5;
mmmmmmmmm = 0;
[M] MM! MMM;
MM--;
mm=10;
[MM] mmmmmmmmm++;
mm--;
mm? MM;
mm! M;

El codigo del interprete, hecho en perl:
https://docs.google.com/document/edit?id...y=COORn_MI
MM=5;
mmmmmmmmm = 0;
[M] MM! MMM;
MM--;
mm=10;
[MM] mmmmmmmmm++;
mm--;
mm? MM;
mm! M;

No, no entiendo =P
Que etiqueta es MMM??
pueden haber etiquetas iguales a variables???

igual, linda idea
Me olvide de explicar eso:

El lenguaje fue pensado para terminar cuando llega a su fin, o cuando pones una etiqueta invalida =P... ya que no queria obligar al programador a realizar una etiqueta inutil (onda, un [MMM] sin codigo por delante). Esto es un feature, y no un bug. Si apuntas a una etiqueta invalida, el programa termina correctamente, diciendote los valores de cada una de las variables.

Y si, puede haber etiquetas iguales a variables! El interprete sabe distinguir cuando uno se refiere a una variable, o a una etiqueta-goto.

Algun dia le agregare alguna funcionalidad para obtener datos por stdin... ahi será un programa completo =P
poco convencionales? ja, tienen que ver ésto: http://99-bottles-of-beer.net/
http://www.taringa.net/posts/info/168875...acion.html


Cita:1. LOLCODE

LOLCODE se inspiró en el lenguaje expresado en los ejemplos del fenómeno de Internet lolcat. El lenguaje fue creado en 2007 por Adam Lindsay, investigador del Departamento de Informática de la Universidad de Lancaster.

"Hola Mundo" ejemplo:
HAI
CAN ha STDIO?
VISIBLE "HAI MUNDO!"
KTHXBYE

2.Befunge

Befunge y su calaña permiten que el puntero de instrucciones para moverse en múltiples dimensiones a través del código. Por ejemplo se muestra el siguiente programa "Hola Mundo", empujando a los personajes en el orden inverso en la pila, y a continuación, imprimir los caracteres en un bucle que circula en sentido horario a través de las instrucciones [>], [, , [_], [,] y [^].

"Hola Mundo" ejemplo:

"dlroW olleH">:v
^,_@


3. Brainfuck

Brainfuck está diseñado por el minimalismo extremo y lleva al código ofuscado, con programas que sólo contiene 8 caracteres distintos.

"Hola Mundo" ejemplo:

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


4. Chef

Chef está diseñado para hacer que los programas parecen recetas de cocina. por ejemplo, la siguiente declaración empuja un elemento en una pila:

"Hola Mundo" ejemplo:

Put cinnamon into 2nd mixing bowl


5. Piet

Piet es un lenguaje visual, cuyos programas son mapas de bits que se asemejan a arte abstracto.

"Hola Mundo" ejemplo:



6.Shakespeare

Shakespeare está diseñado para hacer que los programas se parecen obras de Shakespeare. por ejemplo, la siguiente instrucción declara un punto en el programa que se puede llegar a través de una instrucción GOTO tipo.

"Hola Mundo" ejemplo:
[Entrar Julieta]
[Entrar Romeo y Julieta]
[Salir Romeo]
[Salen Romeo y Julieta]


7. Los espacios en blanco

Los espacios en blanco sólo tiene en cuenta la disposición de espacios en blanco e ignora todos los caracteres no está en blanco. A diferencia de muchos lenguajes de programación, que ignoran o ceder poco significado para los personajes más espacios en blanco, el intérprete ignora cualquier espacio en blanco caracteres no está en blanco. Sólo los espacios, tabuladores y saltos de línea tienen un significado.

Una parte de "Hello World" ejemplo:



8. INTERCAL

INTERCAL, abreviatura de "Compiler Language With No Pronounceable Acronym", que satiriza los aspectos de los diversos lenguajes de programación en el tiempo, así como la proliferación de construcciones de lenguaje propuesto y anotaciones en la década de 1960.

"Hola Mundo" ejemplo:
DO, 1 <- # 13
PLEASE, 1 SUB # 1 <- # 238
NO, 1 SUB # 2 <- # 108
NO, 1 SUB # 3 <- # 112
NO, 1 SUB # 4 <- # 0
NO, 1 SUB # 5 <- # 64
NO, 1 SUB # 6 <- # 194
NO, 1 SUB # 7 <- # 48
PLEASE, 1 SUB # 8 <- # 22
NO, 1 SUB # 9 <- # 248
NO, 1 SUB # 10 <- # 168
NO, 1 SUB # 11 <- # 24
NO, 1 SUB # 12 <- # 16
NO, 1 SUB # 13 <- # 162
PLEASE READ, 1
PLEASE GIVE UP

9. Malbolge

Malbolge es un lenguaje de programación esotérico de dominio público inventado por Ben Olmstead en 1998, lleva el nombre del octavo círculo del infierno de Dante's Inferno, el Malebolge. La peculiaridad de Malbolge es que fue diseñado para ser el lenguaje de programación más difícil y esotérico. Sin embargo, varios de los trucos usados ​​para hacer que dificulta su comprensión se puede simplificar de distancia.

"Hola Mundo" ejemplo:
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#" `CB]V

10. TBI

TBI es un lenguaje de programación en la que el programador tiene acceso completo a todos los datos en su representación de la máquina esencial. Esta es una herramienta de programación potente, lo que permite la manipulación de datos que son complicadas de "alto nivel" con idiomas diferentes funciones especializadas que operan en tipos de datos más complejos y abstractos.

Una parte de "Hello World" ejemplo:

LINENUMBERZEROCODEPRINTZEROGOTOONELINENUMBERONECOD EPRINTONEGOTOONEZEROLINENUMBE
RONEZEROCODEPRINTZEROGOTOONEONELINENUMBERONEONECOD EPRINTZEROGOTOONEZEROZEROLINE
NUMBERONEZEROZEROCODEPRINTONEGOTOONEZEROONELINENUM BERONEZEROONECODEPRINTZEROGOT
OONEONEZEROLINENUMBERONEONEZEROCODEPRINTZEROGOTOON EONEONELINENUMBERONEONEONECOD
EPRINTZEROGOTOONEZEROZEROZEROLINENUMBERONEZEROZERO ZEROCODEPRINTZEROGOTOONEZEROZ
EROONELINENUMBERONEZEROZEROONECODEPRINTONEGOTOONEZ EROONEZEROLINENUMBERONEZEROON
EZEROCODEPRINTONEGOTOONEZEROONEONELINENUMBERONEZER OONEONECODEPRINTZEROGOTOONEON
EZEROZEROLINENUMBERONEONEZEROZEROCODEPRINTZEROGOTO ONEONEZEROONELINENUMBERONEONE
ZEROONECODEPRINTONEGOTOONEONEONEZEROLINENUMBERONEO NEONEZEROCODEPRINTZEROGOTOONE
ONEONEONELINENUMBERONEONEONEONECODEPRINTONEGOTOONE ZEROZEROZEROZEROLINENUMBERONE
ZEROZEROZEROZEROCODEPRINTZEROGOTOONEZEROZEROZEROON ELINENUMBERONEZEROZEROZEROONE
CODEPRINTONEGOTOONEZEROZEROONEZEROLINENUMBERONEZER OZEROONEZEROCODEPRINTONEGO

11. Ook!

Ook! es similar a Brainfuck, pero utiliza las palabras " Ook! "," Ook. "y" Ook? "en lugar.

"Hola Mundo" ejemplo:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.

12. ZOMBIE

Zombie es un lenguaje de programación diseñado para nigromantes, en particular los malos. (En realidad, ¿qué otros tipos hay?) Zombie es un acrónimo y significa Zombie orientada a la máquina-Ser la interfaz del motor.

"Hola Mundo" ejemplo:

HelloWorld es un zombi
convocar
tarea SayHello
decir "¡Hola Mundo!"
animar
animar


13.HQ9 +

HQ9 + es un lenguaje de broma con cuatro instrucciones:
H: Imprimir "hola, mundo"
Q: Imprimir programa de código fuente
9: Imprimir la letra de "99 botellas de cerveza"
+: Incrementa el acumulador

Aunque el idioma no es de primordial interés por sí mismo, puede ser útil para implementar HQ9 + en un lenguaje de programación esotérico nueva, ya que esto demuestra que por encima de todas las tareas, excepto la cloroquina, son posibles.


faltan algunas imagenes pero bue, entren al link =P
Probablemente algunos no lo conozcan, pero se usan:

EL TACL y el TAL

http://en.wikipedia.org/wiki/TACL
http://en.wikipedia.org/wiki/Transaction...n_Language

Son los lenguajes que usan los Tandem. TAL es un híbrido de C y Pascal, y algo de Cobol (creo que las librerías)
aca un poco mas del lenguaje "chef"

http://www.dangermouse.net/esoteric/chef.html

es buenisimo jaajaj

el interprete http://search.cpan.org/~smueller/Acme-Chef/


me lo voy a bajar (?)
URLs de referencia