La web 99 Bottles of Beer surgió en 1994 (hace ya más de veinte años) de la mano de un tal Tim Robinson. En aquella época, Robinson consiguió recolectar 224 códigos en cuatro años, y todo a partir de una lista de correo humorística donde alguien envió la letra completa, desde 99 botellas hasta 1 botella. Aquel suceso hacía que se consumiera un ancho de banda excesivo en el Internet precámbrico de aquella época, y alguien respondió a aquel mensaje con seis simples líneas en BASIC que realizaban la misma función. Las siguientes.
Comentarios
99 bugs en mi código.
99 bugs en mi código.
Elijo uno, lo resuelvo y tomo otro.
127 bugs en mi código.
#10 Seguro que va un RND en alguna parte
#10
Esto lo implemento yo cualquier fin de semana, y sin escribir una sola línea de código.
#14 Que compilador? Si eres capaz de escribir eso, el código máquina es tú lengua nativa!
#16 acabo de crear, en lo que veía un capítulo de black mirror, un compilador Malbolge, pero lo creé también en Malbolge y no encuentro compilador para el .... Bah! Al rato lo rehago en código máquina...
#18 Un compilador que no se puede compilar a si mismo es una vergüenza de compilador. Como crees que hizo el que escribió el primero?
El código en Malbolge tiene la extensión del kernel de Linux para hacer un puñetero bucle!
#1
#1 Pero es que además no funciona. Tiene una errata en la línea 109.
Donde pone "[[pYnsrqSiRgPNNLLJfedFEZCA]["
Debería ser "[[pYnsrqSiRgPLNLLJfedFEZCA]["
#4 Tu también te diste cuenta?
#5 bah! Seguro os lo detectó el compilador!
#1 casi ocupa tanto como la canción completa...
Me inquieta que el código (al menos el de Basic, no he indagado en los otros 1499) no diferencie entre "botellas" y "botella" (para cuando solo quede una); solo sería necesario considerar la posibilidad de que X=1 para poner el texto en singular.
#7 pero ya no serían 6 líneas?
#9 Se puede conseguir.
Eliminamos la línea 10, que no aporta proceso. Gano una línea.
Juntamos las líneas 40 y 50 (la 30 no, para tener salto). Gano una línea.
En dos líneas líneas se puede poner el texto correcto cuando acabe la secuencia de X entre 99 y 2.
#9 se puede quitar la primera
Buenas noticias para los pythonistis: ¡El código funciona!
PD: es el único lenguaje del que sé algo.
#7 El código de Python sí diferencia entre plural y singular.
El de Java me ha dejado con el culo torcido. Literalmente. Casi equivalente a decir: "No tengo ni repajolera idea de programar Java" o "pero que cojones hace el tipo este".
#19 +1, creo que se podría hacer 1000 veces más fácil...
#21 Pero entonces ya no sería Java.
#23 Digo 1000 veces más fácil en Java. ¿A ti te parece que está optimizado?
#24 Hay versiones de Java imposibles de optimizar. El ”framework” de objetos ha evolucionado con los años, y créeme que no siempre ha sido en la dirección de poder crear un código elegante y reducido.
#19 Quien sabe programar no usa java.
"Hisashi Iizawa, programador de Malbolge, tardó 7 años en realizar un programa que muestre por pantalla la canción completa de 99 Bottles of Beer, compitiendo con varios programadores que intentaban hacer lo mismo (y a los que, por tanto, ganó por ser él el primero en lograrlo)"
Fuente: http://papeldeperiodico.com/2012/12/programa-malbolge/
No está el código en Cosmos. Habrá que subirlo.
Me ha hecho un mogollón de ilusión que me pusieran un positivo en mi comentario #17 ¿Algún programador Cosmos en la sala?@gobolino
#30 Lo dudo, pero podría ser De todas maneras, anímate y sube tu código a la web; sería un gran puntazo, la verdad....
#31 Hecho. Ya está subido.
Yo lo escibiré en mahou. Es el único lenguaje con el que se programar
Luego os quejáis de las cosas que llegan a portada
El de perl es magnífico. Pero me da un error. Alguien sabe cómo ejecutarlo?
Lo he copypasteado en un archivo y lo ejecuto así:
$ perl beer.pl
Eval-group not allowed at runtime, use re 'eval' in regex m/(? _{($;=($=|No)." bottle"."s"x!!--$=." of beer")." on the wall"">print+_,",.../ at beer.pl line 22.
#c-11" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2692837/order/11">#11 Añade al principio las 2 líneas:
#!/usr/bin/perl
use re 'eval'
#26 #28 Gracias. Ahora funciona
#11 O ejecuta:
perl -Mre=eval beer.pl