Paul Graham sobre Java e linguagens de programação "hackers" (2001)

Paul Graham sobre Java e linguagens de programação "hackers" (2001)

Este ensaio surgiu de conversas que tive com vários desenvolvedores sobre o tema preconceito contra Java. Esta não é uma crítica ao Java, mas sim um exemplo claro do “radar hacker”.

Com o tempo, os hackers desenvolvem um faro para tecnologias boas ou ruins. Achei que seria interessante tentar delinear as razões pelas quais considero o Java questionável.

Alguns que o leram consideraram-no uma tentativa notável de escrever sobre algo que nunca havia sido escrito antes. Outros avisaram que eu estava escrevendo sobre coisas sobre as quais nada sabia. Então, por precaução, gostaria de esclarecer que não estou escrevendo sobre Java (com o qual nunca trabalhei), mas sobre “radar hacker” (sobre o qual tenho pensado muito).

A expressão “não julgue um livro pela capa” surgiu na época em que os livros eram vendidos em capas de papelão em branco que o comprador encadernava ao seu gosto. Naquela época, não era possível distinguir um livro pela capa. Desde então, porém, a indústria editorial avançou muito, e os editores modernos não medem esforços para garantir que a capa diga muito.

Passei muito tempo em livrarias e acho que aprendi a entender tudo o que os editores querem me dizer, e provavelmente um pouco mais. A maior parte do tempo que passei fora das livrarias foi gasto em frente às telas dos computadores, e suponho que aprendi, até certo ponto, a julgar a tecnologia pelas capas. Pode ser uma sorte cega, mas consegui evitar algumas tecnologias que se revelaram muito más.

Uma dessas tecnologias acabou sendo Java para mim. Não escrevi um único programa em Java e apenas dei uma olhada rápida na documentação, mas tenho a sensação de que ela não está destinada a se tornar uma linguagem de muito sucesso. Posso estar errado: fazer previsões sobre tecnologia é um negócio perigoso. E ainda assim, como uma prova da época, eis por que não gosto de Java:

  1. Entusiasmo excessivo. Estas normas não necessitam de ser impostas. Ninguém tentou promover C, Unix ou HTML. Os verdadeiros padrões são estabelecidos muito antes de a maioria das pessoas sequer ouvir falar deles. No radar de um hacker, Perl parece nada menos que Java devido apenas aos seus méritos.
  2. Java não tem objetivos altos. Na descrição original de Java, Gosling afirma explicitamente que Java foi projetado para ser fácil para programadores acostumados com C. Ele foi projetado para ser outro C++:C com algumas ideias emprestadas de linguagens mais avançadas. Assim como os criadores de sitcoms, fast food ou passeios turísticos, os criadores de Java projetaram conscientemente um produto para pessoas que não eram tão inteligentes quanto eles. Historicamente, linguagens projetadas para uso de outras pessoas falharam: Cobol, PL/1, Pascal, Ada, C++. Os de sucesso, porém, foram aqueles que os próprios criadores desenvolveram: C, Perl, Smalltalk, Lisp.
  3. Motivos ocultos. Alguém disse uma vez que o mundo seria um lugar melhor se as pessoas apenas escrevessem livros quando tivessem algo a dizer, em vez de escreverem quando tivessem vontade de escrever um livro. Da mesma forma, a razão pela qual continuamos ouvindo falar de Java não é porque eles estão tentando nos dizer algo sobre linguagens de programação. Ouvimos falar do Java como parte do plano da Sun para enfrentar a Microsoft.
  4. Ninguém a ama. Os programadores C, Perl, Python, Smalltalk ou Lisp são apaixonados por suas linguagens. Nunca ouvi ninguém declarar seu amor por Java.
  5. As pessoas são forçadas a usá-lo. Muitas pessoas que conheço que usam Java o fazem por necessidade. Eles acham que isso lhes proporcionará financiamento, ou que atrairá os clientes, ou que é uma decisão gerencial. Estas são pessoas inteligentes; se a tecnologia fosse boa, eles a usariam voluntariamente.
  6. Este é um prato de muitos chefs. As melhores linguagens de programação foram desenvolvidas por equipes pequenas. Java é conduzido por comitê. Se for uma linguagem de sucesso, será a primeira vez na história que um comitê criará tal linguagem.
  7. Ela é burocrática. Pelo pouco que sei sobre Java, parece que existem muitos protocolos para fazer qualquer coisa. Línguas realmente boas não são assim. Eles permitem que você faça o que quiser e não fique no seu caminho.
  8. Exagero artificial. Agora a Sun está tentando fingir que o Java é conduzido pela comunidade, que é um projeto de código aberto como Perl ou Python. E ainda assim, o desenvolvimento é controlado por uma grande empresa. Portanto, a linguagem corre o risco de se tornar a mesma miséria que sai das entranhas de uma grande empresa.
  9. Ele foi criado para grandes organizações. As grandes empresas têm objetivos diferentes com os hackers. As empresas precisam de linguagens que tenham reputação de serem adequadas para grandes equipes de programadores medíocres. Idiomas com características como os limitadores de velocidade dos caminhões U-Haul, alertando os tolos contra causar muitos danos. Os hackers não gostam de linguagens que falam mal deles. Os hackers precisam de poder. Historicamente, as linguagens criadas para grandes organizações (PL/1, Ada) perderam, enquanto as linguagens criadas por hackers (C, Perl) venceram. Motivo: o hacker juvenil de hoje é o CTO de amanhã.
  10. As pessoas erradas gostam dela. Os programadores que mais admiro geralmente não são loucos por Java. Quem gosta dela? Ternos, aqueles que não veem diferença entre as linguagens, mas ouvem constantemente falar de Java na imprensa; programadores em grandes empresas, obcecados em encontrar algo melhor até mesmo do que C++; estudantes de pré-graduação onívoros que adorarão qualquer coisa que lhes garanta um emprego (ou acabe em um exame). As opiniões dessas pessoas mudam com a direção do vento.
  11. O pai dela está passando por momentos difíceis. O modelo de negócios da Sun está sob ataque em duas frentes. Os processadores Intel baratos usados ​​em computadores desktop tornaram-se rápidos o suficiente para servidores. E o FreeBSD parece estar se tornando um sistema operacional de servidor tão bom quanto o Solaris. A publicidade da Sun implica que você precisará de servidores Sun para aplicativos de nível de produção. Se isso fosse verdade, o Yahoo seria o primeiro na fila para comprar a Sun. Mas quando trabalhei lá, eles usavam servidores Intel e FreeBSD. Isso é um bom presságio para o futuro da Sun. E se a Sun cair, o Java também poderá estar em apuros.
  12. Amor ao Ministério da Defesa. O Departamento de Defesa incentiva os desenvolvedores a usar Java. E este parece ser o pior sinal de todos. O Departamento de Defesa faz um excelente (embora caro) trabalho de proteção do país, eles adoram planos, procedimentos e protocolos. A cultura deles é completamente oposta à cultura hacker; quando se trata de software, eles tendem a fazer apostas erradas. A última linguagem de programação pela qual o Departamento de Defesa se apaixonou foi Ada.

Observe que esta 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 dele. Só estou tentando explicar por que não estou interessado em aprender Java.

Pode parecer precipitado descartar uma linguagem sem sequer tentar programá-la. Mas é com isso que todos os programadores têm que lidar. Existem muitas tecnologias para explorar todas elas. Você tem que aprender a julgar por sinais externos se valerá a pena o seu tempo. Com a mesma pressa, descartei Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware e CORBA — entre outros. Eles simplesmente não me atraíram.

Talvez eu esteja errado no caso do Java. Talvez uma linguagem promovida por uma grande empresa para competir com outra, desenvolvida por um comitê para as massas, com muito entusiasmo e amada pelo Departamento de Defesa, acabe, no entanto, por ser uma linguagem elegante, bonita e poderosa que terei prazer em programa em. Talvez. Mas é muito duvidoso.

Obrigado pela tradução: Denis Mitropolsky

PS

Fonte: habr.com

Adicionar um comentário