24 de octubre de 2005

microsoft shell vs unix shell/python/perl

Ars technica ha publicado una guia bastante detallada de 13 páginas explicando que es MSH (el próximo shell de microsoft)

Le da mil vueltas a bash/ksh/zsh y derivados, por supuesto (no es dificil superar a una tecnología que lleva 30 años estancada, obsoleta en muchos aspectos y sin muchas expectativas de mejorar - bueno, zsh al menos como "shell interactivo" tiene cosas interesantes, pero bash siempre ha sido deprimente incluso comparandolo con otros shells unix), y entra a competir con python, perl & friends, e incluso parece integrarse con .NET.

En la comparación con estos últimos ya no se como saldrá, pero si que se puede decir una cosa: MSH es un shell, igual que bash, no un simple "interprete de scripts" que es lo que son python & perl (aunque se pueden usar en modo "interactivo", dejan mucho que desear como "shells de uso diario y administración del sistema", están diseñados para ser usados desde bash no para sustituirlo). Tal como yo lo veo, ahí está el problema: En unix, estamos acostumbrados a programar cosas en python y "ensamblarlas" a través de tuberias y construcciones de bash. Que no está mal, pero las tuberias no son la solucion a todo: cuando para conseguir los datos de algo en bash para cualquier cosa necesitas hacer "HAZME_EL_TERMINAL_MAS_GRANDE=100 dpkg -l | cut -d ' ' -f 3" está claro que algo falla. Sería fantastico si en bash pudiera hacer kudzu.probe() para extraer los datos del hardware instalado y manipular esos datos en la propia linea de comandos del sistema para administrar alguna cosa en vez de crear algun script que lo haga y ejecutarlo desde el shell con "python script.py"

Afortunadamente, hay alternativas. El problema, como siempre, es hacer que la gente las use, que sustituyan a bash por defecto como shell (y al que se le ocurra decir que "python es lento" que se pregunte primero si los scripts que usamos hoy están orientados a tareas de "alto rendimiento"), que puedas hacer de todo en ellas sin tener que recurrir a "ayudas de terceros", etc etc. En cualquier caso, un servidor va a hacer apt-get install ipython

No hay comentarios:

Publicar un comentario