¿Programar con emojis?
Los emojis son realmente utiles en algunos casos, pueden añadir emociones a nuestros mensajes para que su verdadero significado no pase desapercibido, pero ¿deberiamos usarlos para programar?
Emojicode es un lenguaje de programación de codigo abierto que usa emojis en lugar de palabras reservadas, y puede no ser el lenguaje de programación adecuade para tu siguiente proyecto, pero si te interesa saber como funciona un compilador deberías ver su código fuente.
Hemos realizado compiladores previamente para proyectos escolares, pero ninguno tan genial y original como este, realmente vale la pena probar.
Como puedes ver en este extracto, la bandera a cuadros representa el inicio de nuestro programa, como la función principal o el main de nuestro programa, el emoji de uvas representaríá un { y la sandía el } en cualquier otro lenguaje para agrupar los bloques de código, el emoji feliz es el equivalente a un print, el emoji de ABC representa una cadena de caracteres y el emoji de exclamación significa que finalizamos de enlistar argumentos para nuestra función, como un parentesis de cierre.
¿Un poco sobrecomplicado? definitivamente, pero divertido! y puedes aprender mucho, al no ser tan fácil de leer necesitas realmente comprender lo que estás haciendo y si te interesa saber como funcionan los compiladores, esta es una excelente oportunidad para entender y pensar sobre como funciona el analisis sintactico (Si te interesan los compiladores lee este post de Gustavo Padilla).
Ahora veamos un poco mas, hice este pequeño programa para calcular un promedio con varias calificaciones dadas por el usuario, intenta decifrarlo antes de la explicación:
🏁 🍇
0.0➡️🖍🆕 finalgrade
🎞🐇💻❗️➡️🖍🆕 grades
🐨grades 0❗️
🔂 grade grades 🍇
finalgrade⬅️➕🍺💯grade❗️
🍉
📏grades❓ ➡️ ngrades
finalgrade⬅️➗💯ngrades❗️
😀🔤Final grade: 🧲🔡finalgrade❗️🧲🔤❗️
🍉
Aquí el código explicado:
🏁 🍇
💭 Inicializamos finalgrade como 0.0 (el .0 para especificarlo como un numero de punto flotante)
0.0➡️🖍🆕 finalgrade
💭 Obtenemos los argumentos de la consola
🎞🐇💻❗️➡️🖍🆕 grades
💭 Borramos el primer argumento de la lista (./hello)
🐨grades 0❗️
💭 Por cada calificación en la lista de calificaciones...
🔂 grade grades 🍇
💭 Convertimos la calificación a float y la sumamos a la calificación final
finalgrade⬅️➕🍺💯grade❗️
🍉
💭 Obtenemos la longitud de la lista y la ponemos en ngrades
📏grades❓ ➡️ ngrades
💭 Divide la suma de calificaciones entre el numero de ellas
finalgrade⬅️➗💯ngrades❗️
💭 Imprimimos como string!
😀🔤Final grade: 🧲🔡finalgrade❗️🧲🔤❗️
🍉
Creo que los comentarios ayudan mucho a entender este codigo desastroso, excepto por un par de cosas:
🎞🐇💻 El emoji de laptop es el objeto del sistema operativo, el conejo es como un punto para acceder a sus metodos y el 🎞 es el metodo que nos da los argumentos.
🍺 El emoji de cerveza se usa cuando trabajarás con un valor opcional que puede fallar, en este caso convertimos los argumentos a numeros flotantes así que si el usuario usa una cadena como argumento, el código entrará en panico, para evitar esto se deben checar los valores con ifs primero.
🧲 El emoji del imán se usa para interpolar valores en una cadena, como el f”{value}”
en python.
Emojicode:
😀🔤Final grade: 🧲🔡finalgrade❗️🧲🔤❗️
Python:
print(f”Final grade: {str(finalgrade)}”)
Para compilarlo solo debes excribir en la linea de comando emojicodec
+ el nombre de tu archivo y generará 2 archivos, como un compilador de C, y siguiendo la misma lógica, lo corres con ./nombredearchivo
justo como un programa compilado de C.
Output:
Aprende de compiladores leyendo el código fuente de emojicode!
Cover Photo by Domingo Alvarez E on Unsplash