java vs .net

Hola !!
Desde hace tiempo me hago esta pequeña pregunta…

Que sera mejor….¿Java o .net?

Algunos  dicen que es mejor .net(lo curioso es que trabajan en una empresa certificada por microsoft) y en otros lados he oido que es mejor java y la verdad no se que sea lo mejor

En internet me he puestoa investigar y he encontrado lo siguiente:

Transportabilidad: la versión 3.0 de .Net sólo está disponible en el .Net framework (creo que en Mono [máquina virtual de .Net en GNU/Linux] sólo está disponible la 2.0). No hay transportabilidad real. Repito: NO hay TRANSPORTABILIDAD real con .Net, lo que indica que estarás “encadenado” a Windows de por vida (o confiar en el proyecto Mono).

Antigüedad: Java tiene bastantes años más que .Net, por lo que es más sencillo encontrar código por internet, manuales y tutoriales.

Licencias: la máquina virtual de Java openjdk tiene licencia libre, y la oficial de Sun tiene CDDL (licencia casi de open source). Hay muchas máquinas virtuales comerciales y libres; desde la de IBM (comercial) hasta las libres de kaffe o la de GNU. .Net es código cerrado totalmente.

Entornos de desarrollo: aunque Visual Studio 2005 es muy profesional, es sencillo y está en español, hay más entornos tanto para Linux como Windows para el lenguaje Java. Además, el sistema de plugins de Eclipse permite que este IDE vaya incrementando su funcionalidad cada vez más.

Eficiencia: creo que la máquina de Java es más eficiente que el CLR de .Net, pero no te puedo dar muchos enlaces.

Libería de clases: .Net contiene más lenguajes que la JVM de Sun; de hecho, ésta sólo tiene Boo y Java. Java tiene un mayor número de clases para usar que por ejemplo, C#, pero toda clase y método que esté en un lenguaje de la plataforma .Net está en los demás, luego en realidad la cantidad de clases es inmensa. Pienso que Java gana, pero tampoco tengo fuentes, sólo es mi opinión.

Sintaxis: considero horrible la sintaxis de C# (cada método o función suele empezar en mayúscula) aunque se puede programar en Visual Basic o C++ en .Net. Por lo demás, la sintaxis de Java me gusta más.

Características de los lenguajes de cada VM: igualados, aunque C# tiene algunas características interesantes, como por ejemplo las propiedades en las clases, diferenciar entre variables pasadas por referencia o variab les sólo de salida, el uso de “override” en los métodos para sobreescribirlos… En realidad son pequeños detalles, que facilitan un poco el leer código. Pienso que .Net es superior en programación web, pero… no es multiplataforma.

En definitiva, ambos son muy similares pero Java tiene una experiencia difícil de superar y éste último se puede ejecutar sin problemas en Windows, GNU/Linux y MacOS.

Bueno esto lo encontre  aqui

Tambien encontre lo siguiente:

La JVM es mas eficiente que la plataforma Mono. .NET Framework de Microsoft no son multiplataforma.

Java y .NET tienen aspectos similares y cosas diferentes. Java es un lenguaje que se compila para correr en una maquina virtual JVM. Esta maquina virtual corre en casi cualquier sistema operativo: Windows, Linux, UNIX, Solaris, hasta en dispositivos mobiles. Es realmente fantastico ya que el mismo proyecto ya compilado como archivo .class o mejor .jar correra en cualquier otro sistema operativo sin ningun tipo de recompilacion. Basta con que des el archivo .jar y ya tienes una aplicacion completamente distribuitble. Incluso ademas si la combinas con las librerias SQLite puedes tienes en un tiro una aplicacion con base de datos totalmente portable y que se ejecutara en cualquier sistema operativo.

.NET no es multiplataforma y eso es algo que es importante resaltar. Hay un proyecto llamado Mono que hace los programas compilados con .NET corran sobre Linux y UNIX pero te sere sincero, todavia hay muchos cuelgues (te lo digo por experiencia propia). Este proyecto Mono incluye un compilador (2 versiones: mcs para net 1.1 y gmcs para net 2.0) y una maquina virtual (llamada mono) y es organizado por Miguel de Icaza. Mono es una maquina virtual que emula al .NET y trata de emular a Java en ser multiplataforma. Pero el estado de Mono es a verdad incompleto sobre todo en el paquete Windows Forms que no esta completamente portado y es inestable. Recuerda que aqui hay mucho trabajo de ingenieria inversa y eso siempre sera muy lento.

.NET aporta funcionalidad en que es posible ejecutar e interoperar diversos fragmentos de código escritos en distintos lenguajes, esto es, si codigas en C# o VisualBasic o J# todos estos lenguajes serán convertidos al lenguaje intermediario MSIL(”Microsoft Intermediate Language”) a través de un compilador determinado, este lenguaje intermediario es el que ejecuta el .Net Framework, de esta manera su código escrito en más de 20 lenguajes podrá interoperar. El codigo compilado desde cualquier lenguaje es compilado para correr sobre una maquina virtual que es el .NET Framework.
Mono trata de implementar este .NET framework.

Entonces aunque ambas son maquinas virtuales, la JVM y la .NET Framework son diferentes tambien, una es multiplataforma y la otra es solo para Windows. Una diferencia mas es que JVM es desde hace poco open-source desde que Sun la libero, asi que ahora es controlada ahora en su desarrollo por la comunidad y .NET si es controlada completamente por Microsoft.

Personalmente te aconsejaria ir por Java, dado que .NET es una plataforma privativa y siempre en el fondo estaras amarrado a Microsoft. Para Java tienes entornos de desarrollo muy bueno como Netbeans y Eclipse (ambos corren en Windows, Linux, etc). Ademas paquetes con clases en Java hay a montones, que te permiten hacer casi cualquier cosa, incluso un compilador para tu propio lenguaje (clases JLex y Java CUP). Conexion para base de datos las tienes con JDBC que te permite conectarte a casi cualquier gestor de base de datos: Postgres (la mejor base de datos libre), MySQL (tiene defectos en respecto a relaciones por sus tablas de tipo ISAM), SQLite (la mejor opcion si quieres hacer una base de datos de un solo usuario igualito que Microsoft Access y gratis), Oracle (que tiene una edicion libre personal para Linux y Windows)

Yo he comparado la performance actual en Linux Ubuntu de una aplicacion de ordenamiento de burbuja midiendo tiempo promedio y usando en cada medida un vector de 100 elementos con datos al azar, usando para compilarla el compilador C++ libre GNU, el compilador Intel C++ para Linux (libre tambien y se puede descargar de Internet), el compilador Java 1.6 y finalmente el compilador de Mono gmcs (para .NET 2.0) y los resultados son con respecto a performance:
de mejor a mas lento
1. Intel C++ Compiler y GNU g++ (empate, promedio de 0.24s para el algoritmo, ambos compilan a codigo maquina, puse nivel de optimizacion -O2)
2. Java 1.6 (promedio 0.34s)
3. Mono (usando gmcs para compilar y mono para correr: promedio 0.43s)

Algo interesante, he probado los tiempos tambien en Windows y los tiempos en Linux y son practicamente iguales, lo que indica que la JVM es superior a Mono en ambos sistemas. No he podido probar con Visual C++ 2005 asi que no podria decir si en codigo nativo en Windows es superior o igual o inferior a Linux.

Si quieres aplicaciones que compilen a codigo nativo tanto en windows como en Linux hay ademas un framework para C++ que se llama wxWidgets. Se programan con un IDE para C++ que trabaja tanto en Windows como Linux que se llama Code::Blocks. Es muy bueno y puedes construir aplicaciones graficas en minutos. Personalmente lo uso cuando quiero que mis aplicaciones sean muy rapidas ya que no compila a ninguna maquina virtual. Las clases provistas por la wxWidgets se parecen muchisimo a las MFC (Microsoft Foundation Classes) del Visual C++ asi que aprenderlas es muy directo. Las librerias wxWidgets tambien son libres y el Code::Blocks tambien. Para aplicaciones multiplataforma que quieres que sean de alta velocidad te las recomendaria sobre las librerias GTK y sobre las Qt (Qt no son gratuitas en Windows)

Finalmente mi recomendacion para aplicaciones con rapido tiempo de desarrollo, multiplataforma pero de verdad (no como con Mono), y que no estaras dominado a la larga por las decisiones de Microsoft, entonces usa Java + Netbeans + Swing + (Postgres o SQLite). No tendras que pagar a nadie por las herramientas de desarrollo y correra en cualquier plataforma: Windows, Linux (Ubuntu) o UNIX (PC-BSD). No aconsejo MySQL al menos por ahora (ya que la tabla por defecto ISAM no hacepta llaves foraneas e integridad referencial, el nuevo tipo de tabla InnoDB si).

Ahora si quieren hacer una aplicacion con alta performance compilado a codigo nativo, recomendaria usar Code::Blocks Nightly Build + GNU Compiler + WxWidgets 2.8

Este es otro ejemplo de una discusión en internet:

Perdona el doble post pero es que no puedo evitar contestar al FUD (pero tranquilo, no todo lo que leo es FUD xD) que veo por acá:

No soy un fanatico del software libre, aunque si me parece que es la opcion mas decente con respecto al sistema operativo. El sistema operativo y herramientas basicas de programacion deberian ser libres. Otra cosa son los programas en si (alli en mi opinion si podriamos hacer negocio por propiedad intelectual).

Ya. Como yo hago negocio con los programas en sí pues si vale la propiedad intelectual; pero como no lo hago con un SO o con herramientas de programación pues entonces ahí sí ya lo decente es el software libre…

Y si me vas a venir con “no lo digo por eso, sino que es que el SO es más seguro si es de código abierto” entonces TODO debe ser de código abierto, nada debe ser cerrado o sino ya no es decente.

Miguel de Icaza ha declarado reiteradamente que las patentes necesarias para la aplicación de las normas ECMA – 334 (C #) y ECMA – 335 (CLI) están disponibles en Microsoft “RAND + Royalty Free”. Esto pareceria un permiso efectivo de uso de la patente abierta de C#, y motivaria mas usar Mono. Pero perdonen, yo aun he visto una declaración oficial de Microsoft que este aceptando este royalty free.

Icaza nunca ha dicho tal cosa. Lo que ha dicho es que ya hay un acuerdo con MS para que las patentes que hay sobre el .NET framework no puedan ser usadas en contra de la comunidad. Además, las patentes no recaen sobre las normas ECMA o la BCL sino sobre las APIs extras que MS ofrece en su framework

En serio, ¿por qué buena parte de la comunidad del software libre se ha dedicado al FUD en contra de Mono?

Incluso si aceptamos este RAND+Royalty Free para usar C#/CLI hay que tener un acuerdo de licencia con Microsoft. Microsoft a la larga puede obligar a cualquier empresa que desarrolle a tener licencias para usar C# (si queremos ser pesimistas, includo el escritorio Gnome si lo programaran en C#).

Repito, no hay patentes sobre lo que hay en las normas ECMA. Por otro lado, lo que MS podría hacer el día en que se acabe el contrato es pedir al proyecto Mono que quite lo que está bajo patentes, no que no puede usar C# o la BCL (en pocas palabras, Mono no tiene porque dejar de soportar C#, eso no tiene sentido alguno).

Que institucion o empresa de prestigio dicta o usa C# con Gtk, lo mas usado es Java o .NET pero no Gtk#. Ni siquiera puedes poner eso en tu CV.

FUD. No hay como saber quien usa o no usa Mono internamente.

Programar con Mono y GTK# nos lleva a Sharpdevelop o Monodevelop y ambos IDEs no estan a la altura de Netbeans o Eclipse (y ambos libres), asi que si por madurez y si uno opta por una aplicacion profesional y no solo para experimentos, recomiendo Java.

Confiaré en que lo que dices en ese párrafo es porque no usas hace tiempo Mono.

1. Para personas que se inician Java+Netbeans es directo para aprender (en universidades, institutos, etc). A ver si Mono+Gtk# lo es. O habra que ver si instituciones de entrenamiento con prestigio o empresas grandes se deciden a programar en Mono+Gtk# (algo experimental) en lugar de .NET+Windows Forms o Java+Swing? (lo harian?)

Mono y GTK# no es algo experimental. Lo otro es que solo porque no hay empresas grandes que salen a gritar a los cuatro vientos que usan Mono no es razón para no usarlo, eso es ridículo ¿Después que será?, ¿que no usaré LISP o D porque no hay empresas gritando que lo usan (estos dos lenguajes tienen su uso en la NASA, por ejemplo)?.

2. Hay montones (literalmente) de librerias de clases disponibles en Java. Muchas de ellas son open-source (parece que los fanaticos de Microsoft, decir open-source es como una vulgaridad).

¿Eh?, los fanáticos no odian el open source, eso no tiene sentido porque para ellos eso también supone una ventaja.

3. Java tiene un conjunto de APIs totalmente multiplataforma, incluso para GUIs, multimedia, graficos, 3D, voz, telefonia mobil, y todas las futuras APIs (muy faciles de usar) seguiran siendo multiplataforma (Windows, Linux, …) Mono no tiene estas APIs, asi que hablar de multiplataforma con Mono es inmaduro. Microsoft usara seguro Direct Sound en C# y eso no es ni a balas multiplataforma.

Pero que seguridad para soltar semenjante estupidez. NO es posible que Microsoft use Direct Sound en un lenguaje. Si te refeires a la API pues no es ningún problema, Mono si se le da la puta gana puede implementar cosas propias de sistemas tipo Unix como POSIX… ¡Oh!, ¡espera!, ¡¡YA LO HACE!!

Al igual que en Java (es más, que en cualquier lenguaje), si usas algo propio del SO pierdes lo multiplataforma. Obviamente, MS no busca eso y por eso le vale poco buscar tal cosa en su framework, pero Mono sí.

4. Swing esta muy bien diseñada y usa los patrones de diseño MVC, en lo que se cae completamente Windows Forms.

Vale, ahí tienes razón. Pero recuerda, por usar .NET no necesariamente tienes que usar Windows Forms para interfaces gráficas al igual que en Java puedes usar SWT, o al igual que en C++ puedes usar cosas como Qt.

5. Java es mucho mas utilizado a nivel de estudiantes de postgrado con base solida en programacion orientada a objetos (OOP).

¿Y eso en que supone una ventaja? Claro, tampoco es una desventaja :).

6. Aunque no esta reconocida por un estandar internacional, Java es open-source controlado por por Sun y los miembros del JCP (los cuales son muchos, entre ellos Intel, Google, Samsung, Redhat, sino mira
http://jcp.org/en/home/index
). C# es un estandar tipo ECMA pero aparte de Microsoft pocas otras empresas han decidido implementarlo. Sun ademas segrega mucho menos que Microsoft con respecto a sus productos.

¿Y para que tener multitud de implementaciones? Tenemos la de MS (solo para Windows), la de Mono (multiplataforma) y DotGNU, ¿que ventaja supone tener multitud de implementaciones?

7. Otra cosa: el estandar C#/CLI ECMA solo es un subconjunto del framework .NET. Habra que ver si Microsoft decidira si enviara para estandarizacion las futuras APIs de .NET. (LO HARA?Huh?)

¿Para qué si Mono ya da APIs hasta extras?, ¿o es que MS tiene que enviar a estandarizar cada API del framework para que se considere C# algo útil?

Como nota final: mira nomas lo que dice Chris Williams, director de desarrollo de productos de Microsoft, que ellos aceptan la pirateria para motivar que la gente se familiarize con Microsoft y de alli al ocurrir eso pueden presionar con las leyes y obtener ganancias solo si ven que sera rentable (que tactica tan noble no?)

Una tática que también usan empresas como IBM, Sun y Google, ¿que creías?, ¿que solo MS busca la rentabilidad?

Usad lo que os guste, pero no vengan con el FUD clásico de que Mono está en fase experimental y de que no se pueden hacer grandes aplicaciones con él. Tampoco vengáis con que el estándar (sí, el ECMA) de C# está lleno de patentes porque eso es mentira.

Una de las personas involucradas en la discusion anterior tambien escribio esto:

Hola

dare mi opinion desde la perspectiva de los entornos de desarrollo y de la experiencia de un usuario final.

soy usuario de windows (XP SP2)y he tenido la posibilidad de probar el desempeño de dos IDE’s:

Net-Beans 5.5(Java+Swing) y MS Visual Studio 2005 (C++/C#+.NET),

y puedo decir que VS 2005 es muy superior en lo k a tiempos de respuesta se refiere (code-completion, intellisense y class-view) , por lo menos en mi maquina (celeron 2.4 GHz, 256 RAM) frente a Net-Beans (me consumia el 98% de la CPU, frente a un 30% del VS), cuyos tiempos de respuesta eran del orden de los segundos.

desde una perspectiva de un usuario final de PC SIEMPRE evito las aplicaciones hechas en java por el simple motivo de que son horrosamente lentas en comparacion con una aplicacion nativa analoga (BitComet(C++) vs Azureus, Visual UML vs Visual Paradigm, etc.).

Como desarrollador, nunca voy a usar este lenguaje, ya que:

* Los programas hechos con el no aprovechan al 100% la maquina del usuario.

* Utilizo solo librerias Multiplataforma (OpenGL/AL, HawkNL, DevIL, y wxWidgets).

* Y por ultimo, me dedico a un campo en el que Java nunca tendrá lugar: Aplicaciones multimedia de alto rendimiento.

En mi experiencia como desarrollador, recomendaria usar Java solo si es la opcion mas adecuada para resolver un problema, y no por un simple capricho personal

El .NET framework es mil veces más rápido que la JVM de Sun, esa es una realidad que cada uno puede (y debería) probar.

Otra cosa es que el que .NET framework sea joven ha supuesto también una ventaja al framework y a C#. Por eso tenemos sobrecarga de operadores, tipos sin signo, pasar tipos primitivos por referencia a los métodos, etc.

Que MS tenga control sobre el framework tiene sus ventajas y sus inconvenientes. El inconveniente más claro es que MS decide sobre el Framework y tiene unas licencias demasiado cerradas; pero como ventaja es que puede hacer cualquier cambio sin necesidad de preguntar (como lo tiene que hacer Sun a través del JCM (aunque en realidad SUN cuando se le dé la puta gana puede eliminar eso)) lo que ha hecho posible que tengamos grandes cambios en el framework y en C# sin tener que preguntar (buscad acerca de LINQ, por poner un ejemplo).

Sobre el entorno de VS decir que su consumo de RAM es menor, y que también soporta ser extendido por medio de plug-ins los cuales pueden programados en cualquier lenguaje que use .NET y C++.

Lo de la sintaxis prefiero no tocarlo porque me parece algo demasiado subjetivo (eso de mayúsculas por lo menos yo no le veo problema).

Así que como ven, .NET también tiene sus ventajas e inconvenientes, pero los inconvenientes más bien son por cuestiones de licencia, no de problemas técnicos en sí.

Una cosa que tengo que aclarar es que Mono no intenta ser una implementación 100% fiel al framework de MS, sino que intenta ofrecer un framework que funcione en varias plataformas (incluye a Windows) usando las ventajas que hay detrás de .NET, por lo tanto no es un problema que no sea una implementación 100% fiel al framework de MS (así como en Java no se usa WPF, pues si se usa Mono es cuestión de tampoco usarlo, por poner un ejemplo) y por eso ofrece también APIs propias (Mono.Cairo, Mono.Cecil, Mono.Posix, GTK#, etc).

Dicho esto, eso no elimina lo que dije antes y es que el lenguaje (oigase bien, el lenguaje) tiene muchas ventajas sobre Java al ser más joven, y además .NET tiene varias ventajas como el CLR.

Para concluir, que cada quien use lo que quiera :), eso sí, recomiendo siempre tener en mente las ventajas de C#, Java y sus respectivos frameworks (y reitero, probad a fondo Mono, que para programar ofrece muchas cosas y no solo es un .NET a medias que intenta implementar el framework de MS).

Este es otro comentario:

En lo personal me gusta más .NET que JAVA. Por las siguientes razones:

1. MSDN: Documentación de toda la plataforma .NET. No hay issue en .NET que no conozca el MSDN.

2. .NET con saco y corbata: básicamente .NET es una plataforma mucho más costosa que JAVA. Pero desde el punto de vista de negocios, .NET fue desarrollado para personas con dinero, grandes negocios, empresas mundiales y al trabajar con este sector los proyectos son mucho más grandes, con más expectativa y mucho más difíciles. Es un reto.

3. Sistemas en una semana: .NET te ofrece tantas ventajas para que el trabajo sea más rápido y lo digo porque me toco hacer un sistema en una semana con todas las de la ley(Arquitectura SOA a N capas).

4. Soporte: Para Microsoft partners hay soporte para todos sus productos 24 horas al día 375 días al año. Es decir que el primer inconveniente con tu aplicación se puede solucionar con una llamada. Algo que no me gusta mucho de sistemas operativos libres es que no me dan ese soporte. A quién llamo cuando tengo problemas al instalar Linux UBUNTU? a nadie! en estos momentos la página esta caída! puede ser gratis y todo pero lo barato te puede salir caro.

5. Muchas otras cosas más: herramientas y frameworks como -> AJAX.NET, silverlight, Workflow , comunication, presentation y muchas cosas más!
Yo he trabajado con las dos tecnologías y la verdad me aburrí de JAVA por que cualquiera implementación en formularios desktop es lenta tenga 2 gb de ram en mi pc corre lento.
Ahora es mi opinión muy personal del tema. No tengo nada contra JAVA pero .NET me parece mucho más divertido.
Acuérdense que los caprichos no le importan al usuario final. No piensen en ustedes mismo, sino en su usuario.

impresora rebelde

jeje no hay mejor forma de explicar la gran comunicacion entre la impresora y la computadora

Reblog this post [with Zemanta]

frases geeks

Hola bueno aqui les dejo una recopilacion de las mejores frases geek

  1. Opensource: freedom
  2. La fe no mueve montañas, las construye
  3. La vida te dio un codigo fuente en blanco, tu escribes las lineas…
  4. la vida es como programar, tu escribes las lineas.
  5. Un ordenador es como el Dios del antiguo testamento: hace que todo se rija por un monton de reglas y además no tiene piedad.El ordenador nació para resolver problemas que antes no existianEl progreso se debe a hombres vagos en busca de formas más faciles de hacer las cosas.
  6. Cuál es el eslabón más débil de la cadena de seguridad en sistemas informáticos?. El usuario final.
  7. Utilizamos Open Source en nuestros servidores porque es una manera más de controlar nuestro propio destino. By DiBona (Google Admin)
  8. Amar es… borrar el Windows del disco de ella.
  9. Bienaventurados los Pesimistas. Por que hacen BACKUPS.
  10. En un principio el Universo por nosotros conocido, fue una versión beta.
  11. Dios es real (a no ser que esté declarado como integer).
  12. Algún día seré capaz de decirte que no te arreglo la computadora !!!
  13. Si no consigues encontrar el problema, seguro es el BIOS (Bichito Ignorante Operando Sistema).
  14. Computadora que es un carro, ¿Tiene un burro adelante?
  15. Si el Universo fuera un programa estaría hecho en C, y correría sobre un sistema GNU/LINUX (Aquí ya evoluciono del punto 5)
  16. Mouse no encontrado. ¿Usted tiene gato? (S/N)
  17. Si su Windows no le da problemas. ¡Reclame a Microsoft!
  18. HardWare: Todo Aquel Artefacto que Resive Nuestros Golpes y SoftWare de código cerrado: La Causa.
  19. Si debbuging es el proceso de eliminar errores, entonces la programación debe ser el proceso de crearlos.
  20. Hay dos formas de escribir programas sin errores. Sólo la tercera funciona.
  21. Amante: Versión shareware de esposa.
  22. Programa de código cerrado de una computadora: Extraña forma de vida que tiene la capacidad de transformar comandos en mensajes de error.
  23. Hay tontos que tontos parecen, hay tontos que tontos son, pero hay una clase peor de tontos que hacen parecer tontos a los que listos son.
  24. En un mundo sin fronteras, quien necesita puertas y ventanas?
  25. El software libre es como el sexo, es mejor cuando es gratis.
  26. Paz, Amor y Compilación del kernel…
  27. Windows : El único virus que soporta y daña todo tu trabajo (no importa la versión).
  28. Antes ciego que con vista (que con windows vista).
  29. Linux, el sistema operativo todoterreno!
  30. Aunque no lo crean existe M$ Linux… este nuevo OS esta basado en la una nueva licencia GPL(Gates Private License)
  31. Sabes que es amor cuando memorizas su numero de IP para saltar el DNS.
  32. Quien fuera programador para meterte una sentecia por SQL.
  33. Los errores poseen su valor, aunque sólo en alguna ocasión.
  34. La tecnología cambia, el talento no tanto.
  35. Dios perdona, Yo NO.
  36. El dinero no hace la felicidad, pero yo prefiero llorar en una ferrari.
  37. Ustedes son como Windows, cuando no saben que hacer se cuelgan y tengo que poner control + alt + del
  38. En un principio estaba el software propietario. Y se ideó el software libre, Algunos se quejaron porque era poco potente. Y se desarrollaron todas las herramientas GNU, Algunos se quejaron porque faltaba un núcleo. Y apareció Linux, Algunos se quejaron porque no era portable. Y se portó a decenas de arquitecturas, Algunos se quejaron porque no había soporte hardware. Y se programaron los drivers, Algunos se quejaron porque no había soporte. Y se fundaron Debian,Red Hat, SuSE, etcétera, Algunos se quejaron porque no era rentable. Y aparecieron las certificaciones y los planes de soporte basados en servicios, Algunos se quejaron porque era difícil. Y se desarrollaron Gnome y KDE, Algunos se quejaron porque había pocas aplicaciones. Y se programaron más de . aplicaciones en los repositorios públicos, Algunos se quejaron porque era lento. Y apareció el núcleo ., Algunos se quejaron porque no había compatibilidad. Y se programaron Wine y Cedega, Algunos se quejaron porque era feo. Y apareció Beryl, Entonces, ¿cuál será la próxima excusa para no usar software libre?
  39. Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.
  40. Los programadores de verdad no documentan sus programas. Si es difícil de codificar que sea difícil de entender.
  41. Todas las computadoras que usan Windows esperan a la misma velocidad y las que usan GNU/Linux acaban sus procesos más rápido.
  42. ¿Quién será el tal General Failure y por qué estará leyendo el disco duro? (del mensaje de error “General Failure reading disk C:”)
  43. ¿Sabes cuál es el secreto de Windows? Yo tampoco.
  44. El ordenador ha sido hasta ahora el producto más genial de la vagancia humana (slogan de IBM)
  45. Gran oferta: Hoy, con Windows XP regalamos dos botones de reset de repuesto.
  46. Instala Windows XP ó Vista ó dígase la versión que sea, y que la fuerza te acompañe.
  47. La diferencia entre WindowsXP y un virus, es que el virus es gratis.
  48. Windows XP es Multitarea: está preparado para que varios programas fallen simultáneamente.
  49. Los README son para los cobardes. Sé valiente. Ejecuta el programa.
  50. Una imagen vale más que mil palabras. Pero ocupa mucho más memoria.
  51. ¿Imaginan una versión de Windows que anuncie? “Ahora sin nuevas funcionalidades, ¡pero corre en el PC que ya tienes, consume la mitad de memoria, un cuarto de disco… y no se cae!”. Sí lo se, soñar es absolutamente gratis.
  52. Me gustaría cambiar el mundo, pero no me dan el codigo fuente.
  53. La programación es una carrera entre ingenieros tratando de hacer mejores y mas grandes programas resistentes a idiotas y el universo haciendo mejores y más grandes idiotas. Por ahora gana el universo.
  54. Mi software nunca tiene fallos, simplemente desarrolla características aleatorias.
  55. Las rosas son #ffa5f5 las violetas son #ad00bd.
  56. Abriste un editor de imágenes o creaste un archivo html y pusiste estos valores para comprobar que efectivamente fueran esos los colores.
  57. Eres el Kernel de mi Linux.
  58. Tus ojos brillan mas que mi torre de CDs.
  59. Eres el .gif que anima mi vida.
  60. Siempre estas en C:/Mi/Corazón. (para los linuxeros: /home/Mi/Corazón)
  61. Eres el Enter de mi vida.
  62. Si me dejas hago Alt-F4 a mi vida.
  63. Tú tienes la máxima prioridad en mi lista de procesos.
  64. Sin ti mi vida sería como una web sin CSS.
  65. Dime cómo te llamas y te agrego a favoritos (o en Marcadores, mejor)
  66. Eres la primera en Google al buscar mi corazón.
  67. Mi MacOSX tiene envidia de tu belleza.
    *
  68. Quisiera ser un Pendrive para tus USB.
  69. Eres el HTML de mi corazon.com.
  70. Me gustaria cambiar el mundo pero lamentablemente, no me dieron el codigo fuente.
  71. La caja decia “Requiere Win95 o superior. Asi que instale Linux.
  72. El fracaso no es una opcion. Viene embedido en Windows.
  73. Use lo mejor…
  74. Linux para Servidores
  75. Mac para graficos
  76. Palm para Mobilidad
  77. Windows para Solitario
  78. La Inteligencia Artificial no es rival para la Estupidez Natural.
  79. Ingrese cualquier numero primo de 11 digitos para continuar…
  80. MICROSOFT = Most Intelligent Customers Realize Our Software Only Fools Teenagers
  81. Windows ha detectado que no tiene conectado un teclado. Presione F9 para continuar…
  82. El codigo mas dificil de corregir es el que sabes que es imposible que tenga errores.
  83. UNIX es basicamente un sistema operativo simple, pero tenes que ser un genio para entender su simplicidad.
  84. “Una imagen vale mil palabras”, pero consume mil veces mas memoria.
  85. Sólo hay 10 tipos de personas: las que saben binario y las que no.
  86. Si no lo consigues a la primera, llámalo versión 1.0.
  87. Mi software nunca tiene fallos, simplemente desarrolla características aleatorias.
  88. Las rosas son #ff0000 las violetas son #0000ff.
  89. Las contraseñas son como la ropa interior: Nunca tienes que dejarlas donde la gente pueda verlas, tienes que cambiarlas regularmente y no tienes que dejarselas a extraños.
  90. El vaso no esta medio lleno o medio vacío. Simplemente es del doble del tamaño que debe ser.
  91. La gente dice que si pones un CD de WinXP al revés, escuchas voces satánicas. Pero eso no es nada! Si lo pones normal, te instala Windows.
  92. Quién necesita la biblioteca? Yo tengo Google!
  93. Alerta! Error del Usuario. Por favor remplácelo y presione una tecla para continuar.
  94. opensource:freedom
  95. cada dia sabemos as y entendemos menos.
  96. UNIX es basicamente un sistema operativo simple, pero tenes que ser un genio para entender su simplicida
  97. Windows XP -Ahora viene con cursos gratis del Manejo de Ira.
  98. “I’m not anti-social; I’m just not user friendly”

bueno yo creo que de todas estas éstas son las mejores 10…

1. There are 10 types of people in the world: those who understand binary, and those who don’t.

2. If at first you don’t succeed; call it version 1.0

3. Microsoft: “You’ve got questions. We’ve got dancing paperclips.”

4. 1f u c4n r34d th1s u r34lly n33d t0 g37 l41d

5. My pokemon bring all the nerds to the yard, and they’re like you wanna trade cards? Darn right, I wanna trade cards, I’ll trade this but not my charizard.

6. I’m not anti-social; I’m just not user friendly

7. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

8. I would love to change the world, but they won’t give me the source code

9. A computer lets you make more mistakes faster than any invention in human history – with the possible exceptions of handguns and tequila.

10. The box said ‘Requires Windows 95 or better’. So I installed LINUX.