Executando verificação de segurança...
1

Por que é importante conhecer a história de uma determinada tecnologia?

Introdução

Vou começar este artigo com uma frase que sempre costumo dizer para todos aqueles que criticam ou não querem aprender uma linguagem por conta de sua dificuldade:

As linguagens de programação não servem para te agradar e nem para gerar concorrência. Cada uma delas nasceu em um momento onde existiu uma necessidade específica, e não foi encontrado nenhuma outra linguagem que suprisse aquilo de maneira suficiente.

Eu sempre tive um preconceito enorme com a linguagem Java, pois quando estava começando na área, lá no início da faculdade, ela era extremamente díficil para alguém que mal tinha tido contato com códigos antes, então assim que pude a abandonei e parti para o Python e posteriormente comecei a aprender sobre web (HTML, JS, CSS, e um iníciozinho de PHP).

Por fim, após algum tempo tomei gosto por PHP e me especializei, hoje trabalho principalmente com ele e seus frameworks, e como tenho algum interesse (mesmo que em forma de hobby) por gamedev, acabei pegando para aprender também um pouco de C# e outras linguagens que dependem de compilação.

Reviravolta

Enfim, anos depois, estive navegando aqui pelo TabNews e me deparei com um comentário falando sobre Java, e foi aí que me dei conta de que a linguagem se parece bastante com o que eu já estou acostumado, e ascendeu a vontade de dar uma segunda chance para a linguagem.

Decidi voltar a estudar sobre Java através de um professor pelo qual tenho extrema admiração, o senhor Gustavo Guanabara que todos aqui já devem conhecer.

O Guanabara tem o costume de, sempre que inicia um novo curso sobre algo, ele faz questão de explicar a história e a origem daquele algo, e isso fez eu enxergar o Java com outros olhos completamente diferentes do que aqueles que criticaram tanto a linguagem no começo dos estudos.

Propósito

Resumindo em poucas palavras o meu caso pessoal: O Java e eu temos uma característica muito forte em comum: Um grande interesse por comunicações entre dispositivos e interoperabilidade, ou em uma única palavra mais moderna: SmartHome!

Eu sempre tive um amor muito grande por casa conectada, atualmente estou transformando a minha aos poucos, e aprendendo mais sobre como isso funciona exatamente e como posso aprender a desenvolver para esse ramo também, e a história do Java é basicamente essa: Ele nasceu para tornar possível a interoperabilidade das aplicações, ou seja, o mesmo código compilado poderia rodar em qualquer plataforma desde que esta possua uma JVM com JRE em seu interior, e isso pode ser qualquer coisa, desde um computador, até um rádio de carro ou um relógio de pulso.

Encerramento

Como mencionei lá no começo do post, a linguagem veio com um propósito para suprir uma demanda que nenhuma outra linguagem da época era capaz de fazer em sua época. Ela mudou muito com o tempo, mas sempre carregando o mesmo objetivo.

E é por isso que eu acredito que, conhecer as origens e a história de uma determinada tecnologia, é crucial para o seu próprio desenvolvimento e aprendizado com ela, entender os motivos pelo qual ela existe, e como ela vai te ajudar a solucionar seus problemas.

Observação

O que mencionei sobre o Guanabara está anexado a fonte do post.

Carregando publicação patrocinada...
5

É necessário para entender melhor o que está usando, para tomar melhores decisões, demonstrar para si memso que está comprometido com aquilo, e que não está brincando. É o que eu semrpe falo, é questão de atitude, que é um conceito amplo demais para ser definido, mas podemos pegar alguns exemplos como este.

Mas tem que aprender bem, não só a criação, também a evolução. E precisa de informações mais detalhadas, porque pode-se criar a fake news por omissão. É muito comum e eu chamo isso de Sandoval Quaresma, porque a pessoa aprende só até a página 3. E esse é um dos maiores motivos de ter pessoas que evoluem bem e outras que ficam patinando. Em geral as pessoas não percebem acontecer.

Por causa da superficialidade, da ilusão que está aprendendo algo, tem muito mito por aí em toda a copmputação e outras áreas do conhecimento. Eu comprei vários deles porque boa parte dos mitos são tão repetidos que as pessoas passam considerar que são verdade, e até brigam com quem quebra a ilusão. Ainda tenho mitos certamente, espero ir eliminando tantos quanto posso, não é fácil. Minha única vantagem é que eu os procuro e mudo tanto quanto posso quando descubro a verdade. Nem sempre é fácil, principalmente se eu acreditei neles por décadas.

Mitos como Go foi criada pela Google ou Rust pela Mozilla, ou um monte de coisa errada sobre C#, ou mesmo Java, talvez mais pela evolução, e também sobre aspectos que não são mais válidos. Ou ainda não entendem se PHP melhorou ou piorou ao longo do tempo (quase todo mundo acredita nessa, apesar de alguma subjetividade).

C e C++ sempre foram e ainda são as melhores opções para rodar em hardware de nicho, restrito e ter interoperabilidade. Elas já não são, junto com Rust e algumas linguagens de menor visibilidade, compatível binariamente, sempre a única ou mesmo melhor opção, e ainda são ótimas para isso dando algumas vantagens que outras linguagen com nível um pouco acima não dão.

Onde uma linguagem de nível um pouco mais alto roda é provável que várias outras linguagens rodem também. Hoje tem lugar que C# roda e Java não. Java não tem uma característica intrínsica que permite rodar em qualquer plataforma, roda onde alguém trabalhou para rodar, igual a todas as outras linguagens. Todas as linguagens tem condições técnicas de rodar em qualquer lugar, a não ser que tenha muita restrição, mas aí só as linguagens de nível um pouco mais baixo atenderão a demanda.

Java hoje pode rodar sem JVM como conhecemos e exatamente o JRE que era fundamental antes (ainda tem algum runtime). Não sei bem como está a evolução disso porque não acompanho tudo de Java, e não sei se a qualidade está boa, mas existe.

Precisamos lidar com fatos, por completo. Isso faz parte do método científico tão necessário para qualificações técnicas. E a internet é a casa do capeta, e reproduz tanto o erro que passamos acreditar que é verdade. E achamos bolhas enormes para confirmar nossos vieses. E assim tomamos decisões erradas, algumas com poucas consequências ruins, outras desastrosas.

Obrigado pela postagem.

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1

Mas tem que aprender bem, não só a criação, também a evolução. E precisa de informações mais detalhadas, porque pode-se criar a fake news por omissão.

Cara, SIM! Isso foi exatamente o problema que ocorreu com o PHP, onde até a 5.0 ele tinha uma série de problemas que faziam juz às suas críticas, mas após a 7.0, a linguagem mudou completamente e está mais organizada, porém ainda tem gente que continua disseminando as origens dela como se fosse algo recente, muitas vezes desanimando a galera nova de querer aprender.

Java não tem uma característica intrínsica que permite rodar em qualquer plataforma, roda onde alguém trabalhou para rodar, igual a todas as outras linguagens.

Concordo completamente com você. Ela foi originada como um propósito de rodar em quase tudo, mas como mencionei no post também, tudo onde tem JVM/JRE ou pelo menos um preparo anterior para receber a linguagem, mas mesmo assim, com a proposta de escrever uma uma linguagem para múltiplos dispositivos de tipos e finalidades diferentes.

Muitíssimo obrigado pelo comentário riquíssimo em informações! Realmente ajudou muito mesmo!!