Paul Graham sobre Java e as Linguagens de Programação Hacker (2001)

imagem

Este ensaio foi o desenvolvimento de conversas com vários desenvolvedores sobre o tópico Java tendencioso. Isso não é uma crítica ao Java, mas um exemplo claro de um "radar hacker".

Com o tempo, os hackers desenvolvem um senso de boa ou má tecnologia. Suponho que possa ser interessante tentar explicar as razões pelas quais o Java me parece dúbio.

Alguém que leu o considerou uma tentativa notável de escrever sobre algo que ninguém havia escrito antes. Outros avisaram que eu estava escrevendo sobre coisas nas quais não entendi nada. Por isso, gostaria de esclarecer que não estou escrevendo sobre Java (com o qual nunca trabalhei), mas sobre o "radar hacker" (sobre o qual pensei muito).


A expressão “não julgue um livro pela capa” surgiu no momento em que os livros eram vendidos em capas de papelão em branco, que o comprador vinculava ao seu gosto. Naqueles dias, você não podia dizer nada sobre o livro pela capa. Desde então, no entanto, a publicação avançou muito, e os editores modernos estão se esforçando muito para que a capa possa contar muito.

Passei muito tempo nas livrarias e acho que aprendi a entender tudo o que os editores querem me dizer, e talvez algo mais. Na maioria das vezes, passava do lado de fora das livrarias, na frente das telas de computadores e acredito que aprendi como, até certo ponto, julgar as tecnologias pelas capas. Isso pode ser uma sorte cega, mas consegui evitar várias tecnologias que se mostraram realmente ruins.

Uma dessas tecnologias acabou sendo Java para mim. Não escrevi um único programa em Java e me limitei a um estudo superficial da documentação, mas sinto que ela não estava destinada a se tornar uma linguagem muito bem-sucedida. Eu posso estar errado - fazer previsões sobre a tecnologia é um negócio perigoso. E, no entanto, um tipo de evidência da época é por que eu não gosto de Java:

  1. Entusiasmo excessivo. Esses padrões não precisam ser impostos. Ninguém tentou promover C, Unix ou HTML. Padrões verdadeiros são estabelecidos muito antes de a maioria das pessoas ouvir sobre eles. No radar de um hacker, o Perl parece nada menos que o Java devido apenas aos seus méritos.
  2. Tags Java baixas. Na descrição original do Java, Gosling diz explicitamente que o Java foi criado para não causar problemas aos programadores acostumados a C. Ele foi projetado para ser o próximo C ++: C, com algumas idéias emprestadas de linguagens mais avançadas. Como criadores de comédias, fast food ou viagens, os criadores de Java desenvolveram deliberadamente um produto para pessoas que não são tão inteligentes quanto são. Historicamente, as linguagens desenvolvidas para uso por outras pessoas não tiveram êxito: Kobol, PL / 1, Pascal, Ada, C ++. Contudo, o sucesso acabou sendo aqueles que os criadores desenvolveram para si: C, Perl, Smalltalk, Lisp.
  3. Motivos ocultos. Alguém disse uma vez que o mundo seria um lugar melhor se as pessoas escrevessem livros apenas quando tivessem algo a dizer, em vez de escrever quando quisessem escrever um livro. Da mesma forma, a razão pela qual ouvimos sobre Java o tempo todo não é porque eles estão tentando nos dizer algo sobre linguagens de programação. Ouvimos falar de Java como parte do plano de rivalidade da Sun da Microsoft.
  4. Ninguém a ama. Os programadores C, Perl, Python, Smalltalk ou Lisp estão apaixonados por seus idiomas. Eu nunca ouvi alguém declarar seu amor pelo Java.
  5. As pessoas são forçadas a usá-lo. Muitas das pessoas que conheço e uso Java fazem o que é necessário. Eles acreditam que isso lhes permitirá receber financiamento, ou acham que os clientes vão gostar ou se trata de uma decisão da gerência. Essas são pessoas inteligentes; se a tecnologia fosse boa, eles a usariam voluntariamente.
  6. Este é o prato de muitos cozinheiros. As melhores linguagens de programação foram desenvolvidas por pequenas equipes. Java é gerenciado por um comitê. Se for um idioma de sucesso, será a primeira vez na história quando o comitê criar esse idioma.
  7. Ela é burocrática. Pelo pouco que sei sobre Java, parece que existem muitos protocolos para fazer alguma coisa. Línguas verdadeiramente boas não são assim. Eles permitem que você faça qualquer coisa e não fique no seu caminho.
  8. Sensação artificial. Agora, a Sun está tentando fingir que o Java é orientado pela comunidade, que é um projeto de código aberto, como Perl ou Python. E, no entanto, o desenvolvimento é controlado por uma grande empresa. Portanto, a linguagem corre o risco de ser tão aborrecida quanto qualquer coisa que sai das entranhas de uma grande empresa.
  9. Ele foi projetado para grandes organizações. Grandes empresas têm objetivos diferentes com os hackers. As empresas precisam de idiomas que sejam considerados adequados para grandes equipes de programadores medíocres. Idiomas com recursos como limitadores de velocidade em caminhões U-Haul que alertam os tolos de causar muito dano. Os hackers não gostam de idiomas que falam baixo para eles. Os hackers precisam de energia. Historicamente, os idiomas criados para grandes organizações (PL / 1, Ada) perderam, enquanto os idiomas criados por hackers (C, Perl) venceram. Razão: o hacker juvenil de hoje é o CTO de amanhã.
  10. Pessoas erradas como ela. Os programadores que eu mais admiro geralmente não estão entusiasmados com o Java. De quem ela gosta? Trajes, aqueles que não vêem a diferença entre as línguas, mas ouvem constantemente sobre Java na imprensa; programadores de grandes empresas, cativados pela idéia de encontrar algo melhor do que C ++; universitários onívoros que gostarão de tudo que lhes permita conseguir um emprego (ou estarão no exame). A opinião dessas pessoas muda com a direção do vento.
  11. Os pais dela têm dificuldade. O modelo de negócios da Sun está sendo atacado de duas frentes. Os processadores Intel baratos usados ​​em computadores de mesa tornaram-se rápidos o suficiente para servidores. E o FreeBSD parece estar obtendo um SO de servidor tão bom quanto o Solaris. Na sua publicidade, a Sun implica que você precisará de servidores da Sun para aplicativos industriais. Se isso fosse verdade, o Yahoo seria o primeiro a comprar a Sun. Mas quando eu trabalhei lá, os servidores Intel e FreeBSD foram usados ​​lá. Isso promete um futuro sombrio para a Sun. E se a Sun se pôr, posso resolver o problema em baixo e em Java.
  12. Amor ao Ministério da Defesa. O Departamento de Defesa incentiva os desenvolvedores a usar Java. E parece o pior sinal de todos. O Ministério da Defesa realiza um excelente trabalho (embora não seja barato) para proteger o país; eles adoram planos, procedimentos e protocolos. A cultura deles é completamente oposta ao hacker; em matéria de software, eles tendem a fazer apostas erradas. A última linguagem de programação pela qual o Departamento de Defesa se apaixonou foi Ada.

Lembre-se de que isso não é uma crítica ao Java, mas uma crítica à sua capa. Não conheço Java o suficiente para gostar ou não. Estou apenas tentando explicar por que não estou tentando aprender Java.

Descartar um idioma sem sequer tentar programar, pode parecer apressado. Mas é isso que todos os programadores precisam fazer. Existem muitas tecnologias para aprender todas elas. Você precisa aprender a julgar por sinais externos se valerá a pena. Com a mesma pressa, larguei Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET, VMS, Novell Netware e CORBA - entre outros. Eles simplesmente não gostaram.

Talvez no caso de Java eu ​​esteja enganado. Talvez a linguagem promovida por uma grande empresa com o objetivo de confrontar outra, desenvolvida pelo comitê em grande parte, com hype e amada pelo Ministério da Defesa, no entanto, se torne uma linguagem elegante, bonita e poderosa na qual terei prazer em programar. Possivelmente. Mas é muito duvidoso.

Obrigado pela tradução: Denis Mitropolsky

PS


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


All Articles