Blog / ¿Qué onda Ubuntu?

¿Qué onda Ubuntu?

Ubuntu es más liviano. Con Ubuntu tu vida va a ser mejor. Ubuntu cura el Covid. Ubuntu esto, Ubuntu aquello. Pues no.

tl;dr

Windows es un auto de caja automática. En la mayoría de los casos que conozco, un auto lleno de mugre por dentro y por fuera. Un auto repleto de programas que instalás, andá a saber por qué, y con 400 archivos en el escritorio.

Cuando programás necesitás tunear, ajustar, instalar y hacer muchas cositas para que tu código corra y compile. ¿Por qué? Porque codear es manipular la compu de una forma muy “manual” y, además, porque tu código muy probablemente termine ejecutándose en un servidor web o en un teléfono con Android (ambos Linux). Ubuntu es una de las tantas formas en que viene Linux. Es gratuito y es de las más amigables para instalar y usar.


¿Qué es Ubuntu?

Ubuntu es un sistema operativo, o sea, es el programa que hace que tu computadora funcione y puedas crear archivos, conectarte a internet e instalar programas. Android es un sistema operativo, iOS (el de los iPhones) y MacOS (el de las mac) también lo son. Casi todos se dedican a lo mismo, pero la historia cambia un poco a la hora de programar.

Cuando programás instalás programas raros, como intérpretes y compiladores (que leen tu código y lo ejecutan), empezás a usar puertos y procesos (como cuando corrés un servidor web en tu compu), ejecutás comandos para comunicarte con la máquina de otra forma, entre muchas cosas que no son exclusivamente codear.

También, necesitás que todos los recursos disponibles en tu compu (memoria RAM y procesador) estén ocupados en tu código. Lo más común cuando codeas es que tu editor esté revisando todo el tiempo el código que escribís, buscando errores e informándotelos. A su vez, lo compila para que vayas viendo cómo queda tu programa. Todos estos procesos consumen muchos recursos y, si tenés demasiadas cosas raras corriendo en tu máquina, vas a sentir todo lento y trabado.

Entonces, ¿por qué Ubuntu? Yo creo que el problema en realidad es Windows, que históricamente estuvo pensado para que sea muy fácil de usar para todo el mundo y muy difícil de tunear o de entender qué hace. En Linux eso por lo general no pasa porque es un sistema operativo simple y concreto, que hace lo que le digas. Por ese motivo, también es complejo para lxs civiles, porque en Windows para configurar algo llegás haciendo click por aquí y por allá y en Linux tenés, seguramente, un comando y modificás un valor en un archivo.

Enviar a imprimir todos los archivos de una carpeta en Linux.

En definitiva, Linux es un sistema operativo que se deja tunear y toquetear, que tiene menos pavadas dando vueltas y es, seguramente, el lugar donde tu programa termine corriendo.

Por su parte, Ubuntu es una de las versiones más amigables de Linux, pero no es la única, hoy en día hay muchísimas distribuciones de este sistema operativo (https://lubuntu.net/, https://linuxmint.com/, https://lxle.net/).

Dependiendo de qué tipo de camino estés emprendiendo, te voy a dar la explicación corta de por qué para mí es mejor que uses Ubuntu u otra distribución de Linux, en vez de Windows.

Web Frontend

Salvo que abras un archivo.js con Chrome, que es lo que hacés cuando estás aprendiendo, siempre vas a terminar usando NPM e instalando dependencias (como React).

El problema de Windows es que todo eso de instalar dependencias y usar comandos funciona raro, ya que la forma de manejar los archivos en ese sistema operativo es súper distinta a lo que sucede en Linux.

A Windows simplemente le faltan cosas. Sin mencionar la Terminal, que en Windows apesta y te lleva a usar cosas como git-bash, que zafa pero no se compara con una terminal de verdad.

Backend

Cuando hablamos de desarrollo del lado del servidor, es más fácil decidirse a usar Ubuntu. Tu app hecha en Python, Node.js, Ruby o Go va a ir a parar a un server con Linux. Tu base de datos va a correr en un server en Amazon que corra alguna versión de Linux. Y si todavía no trataste de correr varios procesos en paralelo y usar distintos puertos, te invito a hacerlo en Windows y sufrir por no entender qué está pasando.

Y además, vuelvo a insistir, la terminal de Windows apesta. Cualquiera de ellas.

Por otra parte:

Mobile Apps

En el desarrollo de aplicaciones móviles para Android quizás no existan tantas diferencias, ya que el ambiente donde corrés tu app es una máquina virtual, por lo tanto, da lo mismo el sistema operativo que uses.

Sin embargo, tenés que saber que para programar para los sistemas operativos de Apple (MacOS y iOS) es necesario una Mac. No hay forma de instalar y correr el ambiente de desarrollo fuera de estas computadoras. En este caso, quizás la conveniencia pase por tener tu ambiente lleno de virus y tu ambiente de trabajo, separados.

Juegos

En cuanto al desarrollo de videojuegos, no sé tanto sobre los beneficios o desventajas de usar Ubuntu, pero por lo que vi de personas que hacen esto, los sistemas operativos que reinan son Windows y Mac. Linux ni existe.

Uso de sistemas operativos sin contar servidores - https://gs.statcounter.com/os-market-share

Mi experiencia

Cuando empecé a jugar con código, mi compu tenía Windows Millenium. Linux me parecía complicado y eso de los comandos, un lío. Pasaron los años y me fui dando cuenta de que todos los ejemplos y soluciones a problemas que tenía estaban pensados para Linux. Me pasé a Linux y mi vida cambió, algunas cosas se complicaron y otras se resolvieron.

Después de unos años vi a alguien usando una Mac y me fascinó. Me di cuenta de que en las conferencias de tecnología cuando la cámara apuntaba al público muchas compus eran Macs. Me compré una y entendí por qué son tan caras. Simplemente funcionan, ya sea para correr un container de Docker o para editar videos. Además, si me paro a trabajar al lado de alguien con Linux nuestras máquinas funcionan muy parecido.

De todas formas, creo que eventualmente las computadoras de escritorio van a ser herramientas para las personas que codeamos, el resto de lxs usuarixs van a utilizar tablets con Android o iOS (con o sin teclado) y todxs, al fin, emplearemos Linux de alguna u otra forma.

Si no tenés problemas trabajando con Windows, quedate con Windows. Si se te empieza a complicar bajate Ubuntu, metelo en un pendrive e instalalo en una partición separada. Hay miles de tutoriales que te enseñan a hacerlo. Es fácil. Vas a tener Windows y Linux en tu máquina y vas a poder tener tu Ubuntu libre de basura y solo con lo necesario para trabajar.

De esta manera, en algún punto de tu vida tu “Windows”, donde descargás pavadas y tenés miles de archivos en el escritorio, se va a ir ordenando, ya que vas a ser más consciente de lo que pasa en tu compu cuando instalás algo o creás un archivo.

Ya sabés cuáles son algunas de las razones por las que te recomiendo usar Ubuntu para crear tu espacio de trabajo. Ahora vos tenés que tomar la decisión que te parezca mejor para el camino que querés transitar. De todas formas, nada es definitivo, seguramente cambies muchas veces la forma de trabajar durante tu carrera.