Inicio > Linux, Software Libre > Linux, ¿la plataforma de desarrollo software del futuro?

Linux, ¿la plataforma de desarrollo software del futuro?

Últimamente, muchos desarrolladores están cuestionándose en qué plataforma realizar sus proyectos (véase aquí).
La razón puede ser el revuelo que está ocasionando la consolidación de
Linux, el crecimiento en usuarios de Mac, el fracaso de Windows
Vista…Cada día más desarrolladores enfocan el desarrollo hacia un
software multiplataforma. Todo esto me ha incitado a escribir este
artículo donde pretendo expresar de la forma más objetiva posible qué
plataforma (tanto Sistema Operativo como de programación) son las que
pueden triunfar.

Por motivos de sencillez, he elegido Windows,
Linux, Macintosh y Solaris como Sistemas Operativos, además de ser los
más populares. Además, personalmente creo que son las plataformas más
aptas para desempeñar esta importante tarea.

Windows

Windows
no solo es el sistema operativo más usado, sino que también es el que
más desarrolladores y software tiene. Es todo un gigante entre los
sistemas operativos, un emperador si lo queréis ver así. Pero por
supuesto, eso no significa que sea el mejor sistema operativo (SO).
Opiniones personales aparte, Windows es una muy buena plataforma para
distribuir tu software porque el número de clientes potenciales es
realmente elevado (En torno al 93%
(datos de Mayo de 2007) de los ordenadores de todo el mundo usan
Windows). Por lo tanto, es una plataforma que aunque no nos guste (a
los linuxeros), hemos de tener muy en cuenta.


Además, Microsoft ha creado una plataforma realmente muy buena para programar, todo hay que decirlo. Hablo de .NET. Negar que es muy buena, es engañarse a un mismo. Existe un port (Mono) de .NET para Linux,Mac, Solaris y más SO’s basados en UNIX gracias a que Microsoft liberó el código (parcialmente).

La plataforma .NET es realmente muy buena porque es capaz de abstraer gran cantidad de lenguajes (C#, Visual Basic, Delphi (Object Pascal), C++, J#, Perl, Python, Fortran y Cobol.NET). Además dispones de muy buena documentación en msdn.
Ahora bien, la gran pega que tiene es que sólo el núcleo de .NET fue lo
que liberó Microsoft. Es decir, que uno puede hacer un programa para
consola que sea totalmente multiplataforma. El problema es que se
supone que nosotros queremos hacer un programa que no solo sea
multiplataforma sino que también sea accesible para muchos usuarios,
así que tendremos que usar GUI’s. Y aquí está el problema. Microsoft no
quiere/interesa liberar esta parte de .NET porque supondría liberar
buena parte de Windows. Entonces, proyectos como Mono tienen que usar
GTK# para dibujar las GUI’s. Ventaja, que estas si que son libres y
multiplataforma. Inconvenientes, que no están todo lo bien documentadas
que uno querría. Y no solo eso, sino que además siempre que uno
desarrolle en .NET bajo Mono, irá por detrás de Microsoft. Pese a eso,
es una muy buena alternativa.

Además de .NET, otras plataformas muy buenas para Windows son Java (Swing para las GUI’s), Gtk/Gtk+ (C/C++) y Qt4 (C++).

GNU/Linux

Linux
es un SO que está viviendo sus mejores momentos desde que fuera creado
en 1991. El que este sistema operativo venga preinstalado en
computadoras de DELL y Lenovo (Asia) está ayudando muy positivamente a
que se consolide como un gran competidor a Windows. Además, es muy
estable, gratuito (si no se compra versiones de pago) y libre. Linux se
está convirtiendo en una perfecta plataforma para programar, véase .NET
(gracias a Mono) , Java y Gtk/Gtk+ o Qt(sobre todo gracias a su última
versión, Qt4 como ya hablamos con anterioridad en el blog).
Y es que personalmete, como usuario de KDE, creo que Qt4 es una
plataforma ideal, no solo por la eficiencia sino por el soporte de
bindings para Java y C#. Además, esta última revisión ha mejorado de
forma muy notable la potencia en gráficos (además de estar muy bien
documentada). No puedo hablar igual de Gtk (lo siento para los
Gnomeros).

Java sigue siendo el líder de los lenguajes al ser el más usuado.
Y en Linux no iba a ser menos. Java por supuesto que también es una muy
buena alternativa multiplataforma, ya no solo por estar muy instaurado
sino porque la documentación es buena y sus bibliotecas muy completas.
Eso sí, el inconveniente que plantea es la eficiencia. Pero sí que es
una opción muy buena desarrollar software multiplataforma.

Macintosh

El
sistema operativo de la manzana está viviendo unos momentos dorados. Y
eso también se nota en que cada vez hay más aplicaciones para Mac OS X.
Lógicamente esto también se nota en el interés mayor por parte de los
desarrolladores. Por eso, también analizaré este sistema operativo como
plataforma para desarrollo software. Las ventajas que aporta respecto a
Windows es una robusted mucho mayor. Ahora bien, también es un sistema
de pago (como Windows) con la pega de que a día de hoy sólo funciona
“oficialmente” bajo hardware de Apple. No sabemos si con Mac OS X 10.5
Leopard, Apple permitirá su instalación en todos los x86, aunque con
casi toda seguridad no.

Con la nueva versión de Qt4, ya no hay
problema para usar estas librerías en Macintosh (al igual que en
Windows). También puedes usar Gtk, pero como dije antes, no las
considero una alternativa real puesto que para desarrollar software
serio hay que convencer a muchos desarrolladores, y eso se hace con una
API potente y bien documentada. .NET está disponible gracias a Mono.
Por supuesto que Java también, pero aquí sí que hay un problema. Apple
se encarga de revisar/optimizar Java para Mac, por lo que en Macintosh,
la versión oficial es la 1.5 (en Windows, Linux y Solaris la versión
actual es 1.6).



Sola
ris

Finalmente
hablaremos de Solaris, el sistema de Sun. Ya en 2005 fue liberado su
código fuente. Sun está haciendo grandes esfuerzos para robarle terreno
a Linux y afianzar la posición de Solaris. Las grandes ventajas que
aporta este sistema operativo frente a Linux es que Java es el núcleo
de todo. Está perfectamente integrado este lenguaje en el sistema. Por
supuesto que podemos programar también en .NET, en C++ con QT y también
con Gtk.

El problema que le encuentro a Solaris es que aunque se
están haciendo grandes esfuerzos en aumentar el soporte hardware,
todavía falta tiempo para que el número de drivers sea más grande.

Conclusión

Después
de este análisis de los diferentes sistemas operativos, he de destacar
algo que hasta ahora no había tenido en cuenta. La virtualización.
Tanto Windows, como Linux, Mac y Solaris disponen de software de
virtualización de sistemas operativos. Así que en esta parcela no se
decidirá qué sistema es mejor para convertirse en la plataforma de
desarrollo software del futuro.

Personalmente, yo me decantaría
por Linux si se trabaja bajo un hardware probado (como los PC’s de
DELL). ¿Las razones? Seguridad, robusted, gran variedad de bibliotecas
de programación multiplataforma. Probablemente sea la plataforma del
futuro. Ahora bien, si se pretende programa exclusivamente en Java no
olvidaría a Solaris. Las razones por las cuáles no opto por Windows y
Mac creo que son previsibles. Sistemas de pago, cerrados y que a día de
hoy aportan poco más de lo que disponemos en la comunidad Open Source.

Y aconsejo, pónganse las pilas con Qt4, que va a seguramente va a dar mucho de qué hablar. Y vosotros, ¿qué haríais?

He de agradecer de forma notoria a mi amigo Antonio,
porque sino fuera por las largas discusiones que he tenido con él sobre
temas como éste, quizás no me hubiera ni cuestionado escribir este
humilde artículo de opinión de un pobrecito hablador (😉 ).

Fuente: linuxandcomputerscience.blogspot.com

Powered by ScribeFire.

Categorías:Linux, Software Libre
  1. noviembre 6, 2007 a las 12:19 am

    jodinesss!!!!!!

    en este mundo también existe BSD amigo😀

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: