{"id":539,"date":"2016-01-18T18:51:26","date_gmt":"2016-01-18T18:51:26","guid":{"rendered":"https:\/\/possibleapp.com\/blog\/?p=539"},"modified":"2016-01-18T18:51:26","modified_gmt":"2016-01-18T18:51:26","slug":"los-10-lenguajes-de-programacion-mas-raros-del-mundo","status":"publish","type":"post","link":"https:\/\/possibleapp.com\/blog\/2016\/01\/los-10-lenguajes-de-programacion-mas-raros-del-mundo\/","title":{"rendered":"Los 10 lenguajes de programaci\u00f3n m\u00e1s raros del mundo"},"content":{"rendered":"<p><a href=\"https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/20160116010110_raros.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-540\" src=\"https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/20160116010110_raros-300x200.jpg\" alt=\"20160116010110_raros\" width=\"636\" height=\"424\" srcset=\"https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/20160116010110_raros-300x200.jpg 300w, https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/20160116010110_raros-1024x682.jpg 1024w, https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/20160116010110_raros-272x182.jpg 272w, https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/20160116010110_raros.jpg 1600w\" sizes=\"auto, (max-width: 636px) 100vw, 636px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Los lenguajes de programaci\u00f3n se supone que son f\u00e1ciles de utilizar y aprender. Su sintaxis debe ser clara y comprensible, y sus implementaciones, r\u00e1pidas y libres de errores. A veces, los dise\u00f1adores de lenguajes de programaci\u00f3n crean un lenguaje que va en contra de estos principios, por temas de investigaci\u00f3n o por simple diversi\u00f3n. En este art\u00edculo te mostramos los 10 lenguajes de programaci\u00f3n m\u00e1s raros del mundo.<\/p>\n<h3>LOLCODE<\/h3>\n<p>Pocos lenguajes de programaci\u00f3n est\u00e1n tan inspirados en Internet como LOLCODE. Fue creado en 2007 por Adam Lindsay, investigador de la Universidad de Lancaster. Las palabras clave del lenguaje son capitalizadas y \u00abmemeficadas\u00bb. \u00a1Casi puedes imaginar a un gato utiliz\u00e1ndolo en producci\u00f3n!<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pln\">HAI\r\nCAN HAS STDIO<\/span><span class=\"pun\">?<\/span><span class=\"pln\">\r\nI HAS A VAR\r\nIM IN YR LOOP\r\n\u00a0 \u00a0UP VAR<\/span><span class=\"pun\">!!<\/span><span class=\"lit\">1<\/span><span class=\"pln\">\r\n\u00a0 \u00a0VISIBLE VAR\r\n\u00a0 \u00a0IZ VAR BIGGER THAN <\/span><span class=\"lit\">10<\/span><span class=\"pun\">?<\/span><span class=\"pln\"> KTHX\r\nIM OUTTA YR LOOP\r\nKTHXBYE<\/span><\/pre>\n<p>Como la mayor\u00eda de los lenguajes de este listado, no cuenta con ning\u00fan est\u00e1ndar del que hablar. Esto significa no podr\u00e1s utilizar LOLCODE para nada m\u00e1s que leer un archivo o escribir texto en la consola. Si necesitas una versi\u00f3n m\u00e1s potente, echa un vistazo a LOLPython, que se inspira en LOLCODE y te da acceso a todas las potentes librer\u00edas de Python.<\/p>\n<h3>Glass<\/h3>\n<p>Glass es un lenguaje de programaci\u00f3n esot\u00e9rico desarrollado por Gregor Richards en 2005. Combina una notaci\u00f3n postfix poco intuitiva con orientaci\u00f3n a objetos, requiriendo extensos malabares de la pila principal para combinar su estructura orientada a objetos. Seg\u00fan el autor ninguna otro lenguaje se implementa as\u00ed, porque ser\u00eda una idiotez.<\/p>\n<p>He aqu\u00ed un ejemplo de un programa que emite una secuencia de Fibonacci:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pun\">{<\/span><span class=\"pln\">F<\/span><span class=\"pun\">[<\/span><span class=\"pln\">f<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)<\/span><span class=\"pln\">A<\/span><span class=\"pun\">!(<\/span><span class=\"pln\">_o<\/span><span class=\"pun\">)<\/span><span class=\"pln\">O<\/span><span class=\"pun\">!(<\/span><span class=\"pln\">_t<\/span><span class=\"pun\">)<\/span><span class=\"pln\">$<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)<\/span><span class=\"lit\">1<\/span><span class=\"pun\">=,(<\/span><span class=\"pln\">_isle<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)*(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">le<\/span><span class=\"pun\">).?=\/(<\/span><span class=\"pln\">_isle<\/span><span class=\"pun\">)^(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)*(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)<\/span><span class=\"pln\">\r\ns<\/span><span class=\"pun\">.?(<\/span><span class=\"pln\">_t<\/span><span class=\"pun\">)<\/span><span class=\"pln\">f<\/span><span class=\"pun\">.?(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)*(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)<\/span><span class=\"pln\">s<\/span><span class=\"pun\">.?(<\/span><span class=\"pln\">_t<\/span><span class=\"pun\">)<\/span><span class=\"pln\">f<\/span><span class=\"pun\">.?(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)<\/span><span class=\"pln\">a<\/span><span class=\"pun\">.?]}{<\/span><span class=\"pln\">M<\/span><span class=\"pun\">[<\/span><span class=\"pln\">m<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)<\/span><span class=\"pln\">A<\/span><span class=\"pun\">!(<\/span><span class=\"pln\">_f<\/span><span class=\"pun\">)<\/span><span class=\"pln\">F<\/span><span class=\"pun\">!(<\/span><span class=\"pln\">_o<\/span><span class=\"pun\">)<\/span><span class=\"pln\">O<\/span><span class=\"pun\">!(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)=(<\/span><span class=\"pln\">_nlm<\/span><span class=\"pun\">)<\/span><span class=\"pln\">\r\n<\/span><span class=\"pun\">=\/(<\/span><span class=\"pln\">_nlm<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)*(<\/span><span class=\"pln\">_f<\/span><span class=\"pun\">)<\/span><span class=\"pln\">f<\/span><span class=\"pun\">.?(<\/span><span class=\"pln\">_o<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">on<\/span><span class=\"pun\">).?<\/span><span class=\"str\">\" \"<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_o<\/span><span class=\"pun\">)<\/span><span class=\"pln\">o<\/span><span class=\"pun\">.?(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)*(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)<\/span><span class=\"pln\">a<\/span><span class=\"pun\">.?=(<\/span><span class=\"pln\">_nlm<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">_n<\/span><span class=\"pun\">)*<\/span><span class=\"pln\">\r\n<\/span><span class=\"pun\">(<\/span><span class=\"pln\">_a<\/span><span class=\"pun\">)(<\/span><span class=\"pln\">le<\/span><span class=\"pun\">).?=]}<\/span><\/pre>\n<h3>Brainfuck<\/h3>\n<p>Brainfuck es la superestrella de los lenguajes oscuros, siendo casi un objeto de culto. Es muy dif\u00edcil programar en Brainfuck, ya que solo tiene ocho comandos simples y un puntero de instrucci\u00f3n. Est\u00e1 dise\u00f1ado para desafiar y entretener a los programadores, y no fue desarrollado para su uso en producci\u00f3n. Fue creado en 1993 por Urban M\u00fcller. Esta ser\u00eda la implementaci\u00f3n del t\u00edpico \u00abHola Mundo\u00bb:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pun\">++++++++++[&gt;+++++++&gt;++++++++++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]&gt;++.&gt;+.+++++++..+++.&gt;++.<\/span><span class=\"pln\">\r\n<\/span><span class=\"pun\">&lt;&lt;+++++++++++++++.&gt;.+++.------.--------.&gt;+.&gt;.<\/span><\/pre>\n<h3>Chicken<\/h3>\n<p>Chicken no es s\u00f3lo el nombre del lenguaje, sino tambi\u00e9n la \u00fanica palabra que se puede utilizar en \u00e9l. El n\u00famero de repeticiones y saltos de l\u00ednea determina la operaci\u00f3n que se debe ejecutarse. Os propongo un reto: os doy un caramelo a aquellos que logren descifrar qu\u00e9 acci\u00f3n lleva a cabo este c\u00f3digo.<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pln\">chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken\r\nchicken chicken chicken chicken chicken chicken<\/span><\/pre>\n<h3>Whitespace<\/h3>\n<p>Whitespace es un lenguaje de programaci\u00f3n a destacar. Solo entiende de espacios, tabulaciones y saltos de l\u00ednea, e ignora todo lo dem\u00e1s. Esto hace posible tener un programa escrito en otro lenguaje, como JavaScript, y que la indentaci\u00f3n est\u00e9 escrita en Whitespace. He aqu\u00ed un ejemplo que imprime el t\u00edpico \u00abHola Mundo\u00bb (los espacios est\u00e1n marcados con un S y las tabulaciones con una T):<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pln\">S S S T S S T \u00a0 S S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S T \u00a0 S T \u00a0 \u00a0 \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 S S S S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S T \u00a0 S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 T \u00a0 \u00a0 \u00a0 S S T \u00a0 S S \r\nT \u00a0 \u00a0 \u00a0 \r\nS S S S S T \u00a0 \u00a0 S S S S T \u00a0 \u00a0 \u00a0 \r\nT \u00a0 \u00a0 \u00a0 \r\nS S<\/span><\/pre>\n<h3>\/\/\/<\/h3>\n<p>\/\/\/ es un lenguaje minimalista que consiste en una sola operaci\u00f3n: sustituir cadenas de esta forma \/fuente\/reemplazo\/. Fue inventado por Tanner Swett en 2006. El lenguaje es muy limitado, pero algunos programadores inteligentes son capaces de convertir una sencilla operaci\u00f3n de sustituci\u00f3n de cadenas en programas que operan a full con bucles y distintas salidas. Aqu\u00ed tienes el c\u00f3digo para un \u00abHola, mundo!\u00bb:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"str\">\/ world! world!\/<\/span><span class=\"typ\">Hello<\/span><span class=\"pun\">,<\/span><span class=\"str\">\/ world! world! world!<\/span><\/pre>\n<h3>Befunge<\/h3>\n<p>Befunge es un lenguaje de programaci\u00f3n en dos dimensiones. Tu c\u00f3digo se coloca en un campo de juego con un tama\u00f1o fijo. Cada celda del campo de juego puede contener ya sean c\u00f3digos o datos, y tu programa puede reemplazar los datos de cualquier celda que desees. El int\u00e9rprete comienza en la celda superior izquierda y contin\u00faa sucesivamente a la derecha. Puedes controlar la direcci\u00f3n en la que el int\u00e9rprete interpreta los datos. Por ejemplo, esto ser\u00eda un bucle infinito:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pun\">&gt;<\/span><span class=\"pln\">v\r\n<\/span><span class=\"pun\">^&lt;<\/span><\/pre>\n<p>Y esto un \u00abHola, mundo!\u00bb:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"lit\">0<\/span><span class=\"str\">\"!dlroW ,olleH\"<\/span><span class=\"pun\">&gt;:<\/span><span class=\"com\">#,_@<\/span><\/pre>\n<h3>Piet<\/h3>\n<p>Piet es un lenguaje de programaci\u00f3n en el que los programas son mapas de bits que parecen pinturas abstractas. El bloque de construcci\u00f3n b\u00e1sico para los programas de Piet es el bloque de color. Es compatible con 20 colores distintos, incluso algunas implementaciones cuentan con soporte para m\u00e1s. La compilaci\u00f3n es guiada por un \u00abpuntero\u00bb que se mueve alrededor de la imagen, de una regi\u00f3n continua de color a la siguiente. Aqu\u00ed tienes un \u00ab\u00a1Hola, mundo!\u00bb<\/p>\n<p><a href=\"https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/Piet_Program_Hello_World.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-541\" src=\"https:\/\/possibleapp.com\/blog\/wp-content\/uploads\/2016\/01\/Piet_Program_Hello_World.gif\" alt=\"Piet_Program_Hello_World\" width=\"636\" height=\"636\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Malbolge<\/h3>\n<p>Malbolge es un lenguaje de programaci\u00f3n inventado por Ben Olmstead en 1998. Como curiosidad, lleva el nombre del octavo c\u00edrculo del infierno, en el infierno de Dante. El nombre no fue elegido al azar &#8211; el lenguaje fue dise\u00f1ado espec\u00edficamente para que sea imposible escribir programas \u00fatiles. Solo decirte que debes ser un experto en criptograf\u00eda para escribir un programa significativo en \u00e9l. As\u00ed se ve el \u00abHola Mundo\u00bb en Malbolge:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"pun\">(<\/span><span class=\"str\">'&amp;%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@&gt;}=&lt;M:9wv6WsU2T|nm-,jcL(I&amp;%$#\"\r\n`CB]V?Tx&lt;uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj\"Fhg${z@&gt;<\/span><\/pre>\n<h3>~ English<\/h3>\n<p>~ English es un lenguaje de programaci\u00f3n que intenta imitar un lenguaje que suene natural. Su sintaxis es muy sencilla para dar el escritor una mayor libertad de expresi\u00f3n. No hay funciones que puedan ser definidas por el programador, solo puede utilizar las ya incorporadas. He aqu\u00ed un ejemplo de programa:<\/p>\n<pre class=\"prettyprint lang-\"><span class=\"typ\">Display<\/span> <span class=\"str\">\"Hello world!\"<\/span> <span class=\"kwd\">and<\/span><span class=\"pln\"> a newline<\/span><span class=\"pun\">.<\/span><span class=\"pln\">\r\n<\/span><span class=\"typ\">Stop<\/span><span class=\"pln\"> the program.<\/span><\/pre>\n<p>Fuente: <a href=\"http:\/\/programacion.net\/articulo\/los_10_lenguajes_de_programacion_mas_raros_del_mundo_1281\" target=\"_blank\">Programaci\u00f3n.net<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Los lenguajes de programaci\u00f3n se supone que son f\u00e1ciles de utilizar y aprender. Su sintaxis debe ser clara y comprensible, y sus implementaciones, r\u00e1pidas y libres de errores. A veces, los dise\u00f1adores de lenguajes de programaci\u00f3n crean un lenguaje que va en contra de estos principios, por temas de investigaci\u00f3n o por simple diversi\u00f3n. [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":540,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/posts\/539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/comments?post=539"}],"version-history":[{"count":1,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/posts\/539\/revisions"}],"predecessor-version":[{"id":542,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/posts\/539\/revisions\/542"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/media\/540"}],"wp:attachment":[{"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/media?parent=539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/categories?post=539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/possibleapp.com\/blog\/wp-json\/wp\/v2\/tags?post=539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}