Entrada Principal

Propósitos e Historia de Uranium4Linux


1. Facilitar la creación, distribución y la actualización de paquetes de mods para minecraft.

2. Estandarizar la forma en la que se distribuyen los paquetes de mods, teniendo una misma estructura.

Historia

La idea de Uranium4Linux fue el poder compartir pack de mods de minecraft con mis amigos de forma sencilla ya que para pasar los mods y toda la configuración teníamos que comprimir los .jar, la carpeta "config/", mirar si los mods son compatibles con la version de minecraft, etc. Entonces fue cuando se me ocurrió la idea de un programa que facilitara todo esto, que con un simple archivo pudiera descargar y actualizar los mods y que dándole un directorio root de Minecraft pudiera obtener un archivo modpack para compartir.

La idea parecía sencilla, con un simple scrip de python se podría comprimir todo y meterlo en un zip. El problema de esta idea es que el archivo resultante es muy pesado, y nosotros necesitábamos un archivo liviano para poder compartirlo por Discord fácilmente (no se pueden compartir archivos de mas de 3Mb).

Por que Rust ?

Rust es mi lenguaje favorito actualmente. Lo descubrí hace un par de años mientras veía videos en YouTube sobre nuevos lenguajes de programación como Go, Kotlin, etc. Rust me llamo la atención porque prometía la solución a los errores de memoria con su sistema de manejo de memoria OBRM (Ownership Based Resource Management). Además la forma en la que solucionaba los principales problemas de memoria no necesita de un Garbage Collector como en Java o C#, el propio compilador se encarga de chequear que el código que hayas escrito es "memory safe" y que cumple con todas las reglas de Rust para que sea seguro.

También me pareció muy interesante que sea un lenguaje a bajo nivel, pero que su sintaxis sea muy similar a la de otros de mas alto nivel. En Rustlang es bastante común la concatenación de métodos, por ejemplo:

mods_to_update
.into_iter()
.for_each(|m| updated_modpack.push_mod(m));


El código de arriba es como se escribía un for loop en Rust pero de forma idiomática. No hace falta escribir un for tradicional que se escribiría en C, C++, Java, etc. En Rust mediante los métodos que se nos ofrecen podemos escribir este tipo de código. Lo mejor es que tiene 0 abstraction cost, es decir, el código que vemos arriba al compilarse generaría el mismo código que si escribiéramos un for loop tradicional.

Por esto y porque es un lenguaje Open Source decidí usarlo para Uranium4Linu. Tal vez no sea el lenguaje mas indicado para este proyecto pero es el lenguaje que me gusta. 

 

MORE DEVELOPMENT IS REQUIRED

Comentarios

Entradas populares de este blog

Curse, Murmur y 2

Crab Crab Crab, I'm gonna step on the Crab