Paul Graham sobre Java y los lenguajes de programación Hacker (2001)

imagen

Este ensayo fue el desarrollo de conversaciones con varios desarrolladores sobre el tema de Java sesgado. Esto no es una crítica de Java, sino un claro ejemplo de un "radar de piratas informáticos".

Con el tiempo, los piratas informáticos desarrollan un sentido de buena o mala tecnología. Supongo que podría ser interesante tratar de explicar las razones por las cuales Java me parece dudosa.

Alguien que lo leyó lo consideró como un notable intento de escribir sobre algo que nadie había escrito antes. Otros me advirtieron que estaba escribiendo sobre cosas en las que no entendía nada. Entonces, por si acaso, me gustaría aclarar que no estoy escribiendo sobre Java (con el que nunca he trabajado), sino sobre el "radar de los piratas informáticos" (que pensé mucho).


La expresión "no juzgues un libro por su portada" surgió en un momento en que los libros se vendían en cubiertas de cartón en blanco, que el comprador vinculaba a su gusto. En aquellos días, no podías decir nada sobre el libro por su portada. Desde entonces, sin embargo, la publicación ha avanzado mucho, y las editoriales modernas están haciendo un gran esfuerzo para que la portada pueda contar mucho.

Pasé mucho tiempo en librerías, y supongo que aprendí a entender todo lo que los editores quieren decirme, y tal vez algo más. La mayor parte del tiempo que pasé fuera de las librerías, pasé frente a las pantallas de las computadoras, y creo que aprendí, en cierta medida, cómo juzgar las tecnologías por sus portadas. Esto puede ser una suerte ciega, pero logré evitar varias tecnologías que resultaron ser realmente malas.

Una de estas tecnologías resultó ser Java para mí. No escribí un solo programa en Java, y me limité a un estudio superficial de la documentación, pero tengo la sensación de que no estaba destinada a convertirse en un lenguaje demasiado exitoso. Podría estar equivocado: hacer predicciones sobre la tecnología es un negocio peligroso. Y, sin embargo, una especie de evidencia de la época es por qué no me gusta Java:

  1. Excesivo entusiasmo. No es obligatorio imponer estas normas. Nadie ha tratado de promover C, Unix o HTML. Los verdaderos estándares se establecen mucho antes de que la mayoría de las personas se enteren de ellos. En el radar de un hacker, Perl no se ve menos que Java debido únicamente a sus ventajas.
  2. Etiquetas Java bajas. En la descripción original de Java, Gosling dice explícitamente que Java fue creado para no causar problemas a los programadores que están acostumbrados a C. Fue diseñado para ser el próximo C ++: C, con algunas ideas tomadas de lenguajes más avanzados. Como creadores de comedias de situación, comida rápida o recorridos de viaje, los creadores de Java desarrollaron deliberadamente un producto para personas que no son tan inteligentes como ellos. Históricamente, los lenguajes desarrollados para su uso por otras personas no han tenido éxito: Kobol, PL / 1, Pascal, Ada, C ++. Sin embargo, el éxito resultó ser el que los creadores desarrollaron para sí mismos: C, Perl, Smalltalk, Lisp.
  3. Motivos ocultos. Alguien dijo una vez que el mundo sería un lugar mejor si las personas escribieran libros solo cuando tenían algo que decir, en lugar de escribir cuando quieren escribir un libro. Del mismo modo, la razón por la que escuchamos sobre Java todo el tiempo no es porque están tratando de decirnos algo sobre los lenguajes de programación. Escuchamos acerca de Java como parte del plan de rivalidad de Sun con Microsoft.
  4. Nadie la ama. Los programadores de C, Perl, Python, Smalltalk o Lisp están enamorados de sus lenguajes. Nunca he escuchado a nadie declarar su amor por Java.
  5. La gente se ve obligada a usarlo. Muchas de las personas que conozco y uso Java hacen lo que necesito. Creen que esto les permitirá recibir financiamiento, o creen que a los clientes les gustará, o esta es una decisión de la gerencia. Estas son personas inteligentes; Si la tecnología fuera buena, la usarían voluntariamente.
  6. Este es el plato de muchos cocineros. Los mejores lenguajes de programación fueron desarrollados por pequeños equipos. Java es administrado por un comité. Si resulta ser un idioma exitoso, será la primera vez en la historia cuando el comité cree dicho idioma.
  7. Ella es burocrática. Por lo poco que sé sobre Java, parece que hay muchos protocolos para hacer algo. Los idiomas verdaderamente buenos no son así. Le permiten hacer cualquier cosa y no se interponen en su camino.
  8. Sensación artificial. Ahora Sun está tratando de fingir que Java está impulsado por la comunidad, que es un proyecto de código abierto, como Perl o Python. Y, sin embargo, el desarrollo está controlado por una gran empresa. Por lo tanto, el lenguaje corre el riesgo de ser tan miserable como cualquier cosa que salga de las entrañas de una gran empresa.
  9. Está diseñado para grandes organizaciones. Las grandes empresas tienen diferentes objetivos con los piratas informáticos. Las empresas necesitan idiomas que tengan fama de ser adecuados para grandes equipos de programadores mediocres. Idiomas con características como limitadores de velocidad en camiones U-Haul que advierten a los tontos de hacer demasiado daño. A los piratas informáticos no les gustan los idiomas que les hablan mal. Los hackers necesitan poder. Históricamente, los lenguajes creados para grandes organizaciones (PL / 1, Ada) perdieron, mientras que los lenguajes creados por hackers (C, Perl) ganaron. Motivo: el hacker juvenil de hoy es el CTO de mañana.
  10. Gente equivocada como ella. Los programadores que más admiro generalmente no están entusiasmados con Java. ¿A quién le gusta ella? Disfraces, aquellos que no ven la diferencia entre los idiomas, pero constantemente escuchan sobre Java en la prensa; programadores en grandes empresas, cautivados por la idea de encontrar algo mejor que incluso C ++; estudiantes universitarios omnívoros a quienes les gustará todo lo que les permitirá obtener un trabajo (o estarán en el examen). La opinión de estas personas cambia con la dirección del viento.
  11. Su padre tiene dificultades. El modelo de negocio de Sun está siendo atacado desde dos frentes. Los procesadores Intel baratos utilizados en las computadoras de escritorio se han vuelto lo suficientemente rápidos para los servidores. Y FreeBSD parece estar obteniendo un sistema operativo de servidor tan bueno como Solaris. En su publicidad, Sun implica que necesitará servidores Sun para aplicaciones industriales. Si eso fuera cierto, Yahoo sería el primero en alinearse para comprar Sun. Pero cuando trabajaba allí, los servidores de Intel y FreeBSD se usaban allí. Esto promete un futuro oscuro para Sun. Y si Sun cae, puedo llevar el problema al fondo y a Java.
  12. Amor del Ministerio de Defensa. El Departamento de Defensa alienta a los desarrolladores a usar Java. Y parece la peor señal de todas. El Ministerio de Defensa realiza un trabajo excelente (aunque no barato) para proteger el país; adoran los planes, procedimientos y protocolos. Su cultura es completamente opuesta al hacker; En materia de software, tienden a hacer las apuestas equivocadas. El último lenguaje de programación del que se enamoró el Departamento de Defensa fue Ada.

Tenga en cuenta que esto no es una crítica de Java, sino una crítica de su portada. No conozco Java lo suficientemente bien como para que me guste o no. Solo estoy tratando de explicar por qué no estoy tratando de aprender Java.

Descartar un idioma sin siquiera intentar programarlo puede parecer apresurado. Pero esto es lo que todos los programadores tienen que hacer. Hay demasiadas tecnologías para aprenderlas todas. Tienes que aprender a juzgar por signos externos si valdrá la pena tu tiempo. Con la misma prisa, abandoné Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET, VMS, Novell Netware y CORBA, entre otros. Simplemente no les gustó.

Quizás en el caso de Java me equivoque. Quizás el lenguaje promovido por una gran empresa con el fin de confrontar a otro, desarrollado por el comité para la mayoría, con exageración y amor por el Ministerio de Defensa, sin embargo, resulta ser un lenguaje ordenado, hermoso y poderoso en el que estaré encantado de programar. Posiblemente Pero es muy dudoso.

Gracias por la traducción: Denis Mitropolsky

PS


Source: https://habr.com/ru/post/484244/


All Articles