Aprenda Comigo: Java — Parte 2

Começando do começo: o website

Cléber Zavadniak
clebertech
10 min readMar 26, 2017

--

Sobre website, foi a melhor imagem “livre” que encontrei… :-P

Toda vez que eu quero aprender uma nova linguagem de programação eu procuro começar encontrando o website oficial da linguagem. É geralmente de lá que se pega o “feeling” da linguagem, além dos primeiros tutoriais e alguns exemplos práticos.

A verdade é que eu já conheço o site oficial do Java. Ele é frustrante e esquisito e, curiosamente, consegue explicitar bem a que a linguagem veio e que tipo de público ela agrada.

E quero explicar, aqui, por que eu acho o site oficial do Java esquisito, porque esse é daquele tipo de opinião que nem todos vão concordar (tipo… qualquer opinião). É como os programadores que usam Windows, que não percebem o quão bizarro é você, uma criatura que deveria dominar o software, que supostamente deveria tê-lo sob seu controle, perder este controle para o sistema operacional e ter todo o hardware sequestrado: “vish, agora não vai rolar fazer nada. O Windows está atualizando…”. Para mim isso é evidentemente esquisito. Para outros é algo completamente normal e há até quem defenda a ideia.

Meu método será simples: usarei como exemplos outros sites de outras linguagens de programação que surgiram mais ou menos na mesma época que a linguagem Java.

(Curiosidade: eu sempre escrevo “o Java”, assim como “o Python” e “o C”. Isso é porque eu não me refiro somente a “a linguagem Java”, mas a “o ecossistema Java”, que inclui o compilador, a máquina virtual, as aplicações relacionadas, etc.)

Erlang (1986)

Okay, Erlang é bem mais antigo que Java, mas achei relevante mostrar aqui seu website porque ele segue uma tendência um tanto diferente dos sites de linguagens modernas e, mesmo assim, é um site legal.

Em primeiro lugar, começa pelo que interessa: o logotipo da linguagem, depois “downloads” e “documentação”. Ótimo. Direto ao ponto: enquanto eu vou baixando o que preciso, eu vou lendo a introdução de algum tutorial.

Depois, o propósito ou principal uso da linguagem fica explícito: “construir sistemas soft real-time massivamente escaláveis”. E algo muito bacana: o link para download com o logo do Github do lado. Isso já deixa implícito que é um ecossistema open source. Ótimo. :-)

Abaixo, à direita, as respostas às duas perguntas óbvias que surgem na mente de quem chega no site pela primeira vez: “o que é Erlang?” e “o que é OTP?”.

Curiosamente, não vemos código algum, mas isso faz muito sentido: enquanto o ecossistema Erlang é simplesmente magnífico (e tem melhorado constantemente), a sintaxe da linguagem é um tanto… assustadora. Sério, não é para os fracos de estômago. Então, okay, vamos focar no que é muito bom (“sistemas soft real-time massivamente escaláveis”) e deixar para depois o que é “ruim” (a sintaxe).

No geral, se você está precisando construir um sistema soft real-time massivamente escalável, o website do Erlang parece bem convidativo.

Python (1991)

Sim, Python é mais velho que Java! (Java é de 1995). E o website segue uma tendência interessante, que é a de dar ênfase à sintaxe da linguagem. Basicamente, após o logotipo, o que mais chama a atenção é aquele snippet de código.

A ênfase geral é na rapidez: fácil e rápido de aprender e permite que você trabalhe rapidamente e mais eficientemente. Boa premissa, não?

Abaixo, o tutorial para iniciantes, depois os links para downloads, o site de documentação e até um link para se ver ou cadastrar vagas de emprego relacionadas à linguagem.

Ótimo: eu entro no site, já consigo ver (por cima) como é a linguagem, fico sabendo quais são as vantagens que ela promete entregar e facilmente consigo ler a documentação e aprender como, afinal, eu programo em Python.

Ruby (1995)

Eu tenho minhas implicâncias com a linguagem Ruby, mas uma coisa eu tenho que admitir: os caras sabem fazer coisas bonitas. Okay que, hoje, o site do Python me parece melhor, mas essa leveza do site do Ruby ainda é admirável e “refrescante”. (Mas esses links azuis com sublinhado bem que poderiam ir embora…)

Já de início, uma explicação do que é a linguagem. “Foco em simplicidade e produtividade”. Ao lado, um snippet de “olá, mundo”, que parece pouco expressivo e limitado para quem já trabalha com linguagens “mais inteligentes que formais”, mas para quem vem de um C ou Delphi ou Java é impressionante.

No menu à direita, uma opção de experimentar Ruby direto no navegador (legal!) e um tutorial para aprender-se o básico em 20 minutos (legal, legal!).

Ocaml (1996)

Eu gosto muito do site do OCaml e não sei explicar o motivo. Mas, okay, vamos à análise: a ênfase é na explicação do que a linguagem é. Um ponto a menos pelo termo “industrial strength”, na minha opinião, já que (1) é uma ênfase talvez desnecessária, que pode até afastar o “desenvolvedor ocasional” e (2) “a indústria” usa OCaml? Nunca vi na vida um anúncio de vaga para desenvolvedor OCaml…

Mas enfim…

Novamente, não se vê nada da sintaxe da linguagem e, novamente, faz sentido: ela não é assim muito atraente. Mas há um link muito fácil para exemplos de código, assim como para os tutoriais.

Okay: eu não faço ideia de como a sintaxe da linguagem é, mas já sei que ela suporta vários paradigmas de programação, que enfatiza seus “pacotes” (então devem ser muitos e variados, imagino) e, pelo menos, eu consigo, a partir dessa landing page, chegar muito facilmente a exemplos de código e tutoriais. E o site parece moderno e é visualmente bem agradável.

Não é o melhor exemplo, de fato. Mas o “feeling” é okay para mim.

Java (1995)

E chegou a vez do Java. Então pare um momento, lembre-se de como eram os websites das outras linguagens, respire fundo e tente mentalizar como é que eu imagino que poderia ser o site desta singular linguagem de programação.

Enquanto isso, vá ouvindo esta bela composição do Tobias Rauscher. (Aguarde passar dos 35 segundos. Vale a pena. ;-)

O cara é bom, né?

Mas vamos ao que interessa:

Minha reação:

Whaaaaaat?

A visão de um completo desinformado

Se eu realmente nunca tivesse ouvido falar de Java ou da Oracle, essa landing page estaria me transmitindo a seguinte mensagem:

Java é uma linguagem feita por amadores, criada em 1972 mas bastante moderna: ela roda até em processadores x86! Nós somos uma comunidade muito pequena, mas vivemos tentando parecer importantes. Vide nossos links estilo “banner”, no rodapé! Nós cometemos alguns deslizes na questão segurança, mas acredite: usar Java fará você feliz mesmo assim! (Ah, e não temos grana para pagar um designer profissional…)

Minha visão

Mas eu conheço Java e a Oracle. Logo, a primeira palavra que me vem à mente é: corporate.

Corporate. Com itálico e negrito toda vez.

Na busca por um gif que representasse tudo o que me vem à mente, este aqui certamente é o melhor em vários níveis:

Por que este gif é simplesmente o melhor

Olha como a vida é: cá estou eu dissertando sobre um gif animado no meio de um artigo sobre Java…

Começa pelo fato de representar nossa ideia mental natural de “corporate business”: pessoas de terno, com laptops e geralmente numa reunião “importantíssima”.

O que é dito nestas reuniões? Algo assim:

A certificação de metodologias nos auxiliam a lidar com o desafiador cenário globalizado e assume importantes posições no estabelecimento das novas proposições. A prática cotidiana prova que o aumento do diálogo entre os diferentes setores produtivos aponta para a melhoria contínua das condições financeiras e administrativas exigidas. Desta maneira, o desenvolvimento de distintas formas de atuação causa impacto direto na reavaliação das posturas dos órgãos dirigentes com relação às suas atribuições.

Yeah, right?

Depois vem o fato de a transição entre as fotos ser simplesmente a pior possível. É incômodo olhar por muito tempo para o tal gif! E a cereja do bolo é o fato de essa transição nos lembrar justamente das transições animadas de slides do Microsoft Power Point.

O cúmulo da perfeição, hã? ?

Mas perdoe-me por exigir tanto dos seus olhos cansados. Veja esses filhotinhos por uns segundos para recuperar o fôlego:

Admita: você paga caro em internet é pra ver isso.

De volta ao site

De novo, para refrescar a memória. ;-)

Primeiro ponto bizarro: stock photo. “Homem em vestimenta casual usa caças e laptop, ambos dos anos 90”.

O topo é um quadrado vermelho com efeito de sombra típico do começo dos anos 2000, assim como o botão estilo “glass”, de uma época um pouco posterior. O ícone do form de busca me lembra, não sei bem por que, “Internet Explorer 6 no Windows 95”.

O site não me diz o que é Java, apesar de haver um link para responder tal pergunta óbvia.

E a frase “Java mais você”? O que diabos isso quer dizer? Nem eu, que sei o que é esse tal de Java, consigo explicar!

No rodapé, “select language”, escrito em inglês (ou seja: no idioma selecionado atualmente). E se eu sou coreano e entrei no site em inglês por engano, como vou encontrar o seletor de idiomas??? Tente você encontrar, ocidental, numa tela assim:

(Mostre para seu colega que NÃO viu a imagem com o site em inglês.)

Sério, todos aprendemos a fazer isso direito circa 2000.

Ah, e a imagem principal tem variações:

Por que esse casal está tão feliz? O que eles estão olhando? Tem um Java na tela deles? Java é o nome deste homem? Eles estão sob efeito de Java? Java é um sentimento?

Se meu laptop (ou a minha pessoa) tem Java, eu fico proibido de usar mesas? (Sério, fique atualizando as imagens e repare na ausência agoniante de mesas ou escrivaninhas.)

Oh! São tantas indagações!

Ah, e antes mesmo de eu saber se Java é um sentimento, eu já ganho uma mensagem sobre segurança, o que me deixa com um sentimento de preocupação:

Hein? SE? Que significa SE?

Resumo das coisas que o site indica

1- Corporate

Java foi criado por pessoas que usam ternos, fazem muitas reuniões e gostam de Power Point. Como esse:

Not enough colors on this Power Point!

Então é bem provável que Java seja muito bem quisto por pessoas que usam ternos, fazem muitas reuniões e gostam de Power Point…

2- Corporate

Há pelo menos sete níveis hierárquicos dentro da Oracle, de forma que o fato óbvio que o site do Java tem um visual terrivelmente ultrapassado e que o conteúdo da landing page é paupérrimo jamais conseguirá chegar até um tomador de decisão que tenha capacidade de obrigar pessoas a mudarem isso. E, quando isso acontecer, provavelmente será montada uma equipe interna (com três níveis de hierarquia dentro dela, no mínimo) e o resultado será algo “menos pior”, mas não muito diferente, pois ninguém quer arriscar seu emprego numa mudança muito radical — ou ninguém tem a força de vontade de vender essa ideia para mais quatro níveis de hierarquia, o que significaria pelo menos vinte reuniões.

Filmagem rara do final da reunião de entrega do site do Java

3- Corporate

“Vamos mostrar fotos de pessoas felizes, mesmo entregando zero de conteúdo para justificar qualquer tipo de felicidade.”

(Como no comecinho desse século, lembram?)

Hein?

4- Corporate

Programadores? Você quer dizer aquelas… coisas do nível mais baixo da hierarquia, que não tem poder algum de tomada de decisão? Ha! Essa é boa. Vamos focar nos gerentes. Eles não entendem nada de desenvolvimento de software, mas são eles quem decidem quais tecnologias os desenvolvedores usarão. Mwahahahahaha!

5- Java não é bom para fazer websites

Porque, veja só, parece que Java não tem a capacidade de gerar um site com URLs decentes. Exemplos:

(Haha! A última, terminando em “.xml” é a melhor…)

Geralmente o site oficial de uma linguagem de programação serve de oportunidade para mostrar o que há de melhor nela. Eu sei bem que URLs semânticas são possíveis de se fazer nos N > 1000 frameworks web Java. Mas o fato de o site oficial não reparar nesse “detalhe” é um péssimo sinal.

Não é de propósito

Sério, se houvesse algo bem legal no site oficial do Java eu diria. Mas não há. Eu até queria ser mais positivo, e talvez eu seja quando estivermos analisando a linguagem em si, mas com relação a essa landing page do site, não tem como. Desculpaê.

What is Java?

Eu pretendia mostrar somente a landing page do site, mas não resisti e cliquei no “What is Java?”. Afinal, eu achei que sabia o que era, mas o site conseguiu me deixar na dúvida (sinto que isso é o efeito contrário do que deveria ser).

Pronto. Agora eu sei o que é Java. É algo está no coração do nosso estilo de vida digital.

Java é um sentimento!!!

E eu espero que seja um sentimento bom!

Até a próxima!

--

--