¿Programamos adaptándonos al dispositivo?

por:

La idea que inspira este artículo es un pequeño desarrollo, que estoy realizando para nuestras Raspberry Pi y que espero que pronto os lo pueda contar en esta comunidad. Todo surge mirando las alternativas que hay ya creadas por otros autores, de sistemas de monitorización, de nuestras pequeñas placas.

Programación adaptada al dispositivo

Cuando uno piensa en programar, una de las cosas que debería tener muy presente, es el dispositivo que está desplegando nuestra solución. Por ejemplo:

  • En ordenadores de consumo, deberíamos maximizar el rendimiento aunque esto suponga que la aplicación tenga un consumo mayor.
  • En dispositivos móviles deberíamos maximizar la eficiencia y adaptarnos a las características de cada uno para evitar consumos innecesarios.

Esto me lleva a preguntar, cuando nos ponemos a programar, ¿programamos adaptándonos al dispositivo? y la respuesta en muchos casos es negativa.

En el caso que nos ocupa, hay varios sistemas ya programados de monitorización y cuando uno los prueba, se da cuenta que consumen entre un 10-15% de la CPU de nuestras Raspbery Pi. Hay que decir que nuestra placa, no es lo que se dice potente y sus recursos son limitados, así que se debería prestar un cuidado especial en evitar consumos superfluos.

Programación poco adaptada a la Raspberry Pi

Programar adaptado al dispositvo debería ser nuestro deber

Como bien decíamos, esta placa no cuenta con los recursos de un ordenador de escritorio (incluso hay móviles con más potencia que ella), pero entonces, por qué hacemos cosas como:

  • Usar software con gran cantidad de dependencias para utilizar una mínima parte. Por ejemplo, si necesito enviar una página web, por qué no creamos nosotros el socket y enviamos la información, en lugar de instalar todo un servidor de páginas web como Apache para enviar 10kb.
  • Usar lenguajes no adaptados a nuestra máquina. Soy un gran aficionado a la programación en Java, pero sinceramente, es un lenguaje no compilado. Es esto bueno para nuestra máquina. Creo que la respuesta está clara.
  • Usar tecnologías muy novedosas, por el hecho de serlo. Últimamente veo muchos proyectos para nuestra máquina que dependen de Node.js. Sí Node.js es muy bonito y novedoso, pero seguramente no es lo que nuestra máquina necesita.

La costumbre, la causa de nuestros problemas

Seguramente estos problemas que comentamos, sean originados por la costumbre. Simplemente los programadores al final nos acostumbramos a usar un IDE, un par de tecnologías y es ahí donde nos sentimos cómodos. Así que todos nuestros desarrollos los hacemos en base a ello. Muchas veces intentando adaptar el desarrollo a aquello en lo que nos sentimos cómodos, sin pensar en que quizás deberíamos ser nosotros los que nos adaptamos a las máquinas.

 

Un llamamiento a la programación eficiente

Imagen que ilustra como programar adaptandos al dispositivo

Desde Somos Binarios, me gustaría realizar un pequeño llamamiento a la programación eficiente. Actualmente muchos tenemos 4 núcleos, 8Gb de RAM y un SSD. Pero parece que hemos olvidado los tiempos, en que con 1Gb de RAM uno se apañaba para ejecutar el sistema operativo y aquel juego del momento, con el que pasábamos las tardes.

Puede que para los ordenadores de escritorio, ya no haga falta estar muy pendiente de la búsqueda de soluciones eficientes. Pero todavía quedan dispositivos, como las Raspberry Pi que necesitan de un trato especial, para que podamos tener nuestro reproductor de películas, el sistema de archivos compartidos y nuestro monitor de recursos, al mismo tiempo.

 

¿Tu eres de los que programa eficientemente? ¿Revisas el dispositivo para el cual programas o usas siempre tus herramientas habituales? Esperamos vuestras respuestas.

Deja una Respuesta