Vamos conversar sobre Java?
Olá! Sejam bem-vindos à minha primeira publicação aqui no TabNews. Para falar a verdade, não sei se vou manter uma consistência aqui, pois ainda estou aprendendo como funciona a plataforma 100%. Enfim, vamos ao assunto que é Java.
Para começar a falar sobre Java, tenho que mencionar o início dos meus estudos em programação. Inicialmente, tentei aprender PHP, mas fracassei ao tentar compreender variáveis. Depois, experimentei C e me perdi diante das inúmeras linguagens disponíveis: C, C++, e C#. Desisti e, um ano depois, decidi aprender a criar sites. Comecei estudando HTML e CSS, e tudo estava indo bem até chegar o momento de aprender JavaScript. Foi aí que tudo desandou. Era o ponto em que realmente começaria a aprender a programar, pois até então, lidava apenas com marcação de texto e não conseguia entender a lógica por trás. No entanto, de alguma forma, ao longo do percurso, aprendi a sintaxe de programação, variáveis, arrays, etc. Hoje em dia, não me lembro como consegui, mas até então era apenas isso - conhecimento básico de HTML, CSS e sintaxe.
Após terminar a escola, fiquei perdido sem saber o que fazer. Foi então que decidi ingressar em um curso técnico para aprimorar meus conhecimentos e entrar no mercado de trabalho de forma mais rápida do que na faculdade. Além disso, não sou fã do método de ensino da faculdade para programação. Atualmente, estou no Senai, no primeiro semestre.
No Senai, me deparei com uma situação interessante. Meu professor de lógica decidiu começar ensinando por meio da pseudo linguagem Portugol, o que considero válido, embora haja discordâncias. Por algum motivo, eu estava um pouco à frente e compreendia bem tudo o que era ensinado. Decidi, então, aplicar tudo o que ele passava usando a linguagem C. Surpreendentemente, me adaptei facilmente e gostei muito da linguagem. Conversando com amigos que estão um semestre à frente, descobri que a próxima linguagem seria C e, em seguida, Java.
Meu amigo Daniel, uma excelente pessoa e um ótimo amigo que trabalha no Senai, me deu o seguinte conselho:
"Patrick, comece a estudar Java."
Ouvi prontamente o conselho dele e mergulhei em um curso sobre Java no YouTube. Parei o curso na etapa de sintaxe, não porque não entendi, mas porque já havia compreendido o suficiente para iniciar meu próprio projeto e aplicar o que aprendi.
Meu projeto pessoal começou com a ideia do meu futuro TCC, mas minha equipe não apoiou muito. Eles ainda não estão interessados em estudar Java, então decidi começar sozinho. Aprendi aos poucos como a linguagem funcionava, refiz o projeto várias vezes e, pela primeira vez, comecei a utilizar a orientação a objetos para organizar melhor o código. Recentemente, finalizei o projeto, que está no GitHub (um projeto simples). Durante a criação do código, enfrentei alguns problemas. O primeiro foi a organização, que consegui resolver usando POO. O segundo foi o armazenamento de dados. Inicialmente, utilizei uma pasta com arquivos txt para armazenar os dados, o que me atrapalhava quando programava em um computador diferente do meu. Decidi, então, aprender sobre banco de dados.
Aprendi sobre banco de dados de maneira superficial, mas rápida e eficiente o suficiente para criar minhas tabelas, colunas e armazenar os dados necessários (agora estou me aprofundando mais, pois preciso usar chaves estrangeiras, fazer heranças de tabelas, etc.). Tentei implementar um banco de dados no meu projeto e, para minha surpresa, consegui. Enfim, finalizei meu projeto.
Percebi que gosto de aprender programação na prática, criando projetos pessoais e aplicando os conhecimentos que já tenho. Quando surge uma dificuldade, um problema ou uma vontade de implementar uma funcionalidade, vou atrás, aprendo e coloco em prática.
Sobre Java, muitos dizem que é uma linguagem difícil. Eu não a considero difícil, talvez porque seja difícil se adaptar à sua sintaxe, mas como foi a minha primeira linguagem, não senti muita dificuldade.
Agora estou iniciando um novo projeto. Ele consiste em criar um sistema de cadastro e login, dividido em duas partes: uma para o "Vendedor" e outra para o "Cliente". Será um programa para vendas e compras de produtos. Pesquisando algo semelhante, lembrei do TabNews e pensei que haveria mais publicações relacionadas a Java. No entanto, não encontrei muita coisa, daí o título: "Vamos conversar sobre Java?" É um convite a todos do TabNews para darem mais atenção a essa linguagem incrível. Inclusive, gostaria de fazer um questionamento: essa falta de publicações é devido ao fato de ser uma linguagem mais "chata" de se lidar ou porque existem outras linguagens "superiores" a Java?
Enfim, termino minha primeira publicação aqui. Peço desculpas pela falta de organização nesta publicação, não parei para ver como as pessoas organizam as publicações ainda. Espero que tenham gostado e espero fazer isso mais vezes.
(Link do projeto no GitHub: https://github.com/gsPatrick/CalculatorNN) (Link da minha conta do GitHub: https://github.com/gsPatrick)
"Essa falta de publicações é devido ao fato de ser uma linguagem mais "chata" de se lidar ou porque existem outras linguagens "superiores" a Java?"
Java é uma excelente linguagem, não é perfeita mas está longe de ser ruim. Vem evoluindo mesmo que a passos lentos, seja por estimulos da MS Foundation estar investindo pesado no C# (lá ele) ou Jetbrains no Kotlin (o maior potencial concorrente do Java na plataforma da JVM), a Oracle resolveu tomar jeito e trazer features legais a linguagem, principalmente nessa nova LTS.
Não sou poliglota em linguagens de programação então posso estar errôneamente enganado mas, foi se inventado um mito de "melhores linguagens de programação" ou "melhores linguagens para iniciantes" nessa geração, como se houvesse o meio técnico/científico de como chegar a essas afirmações e geralmente nessas listas as linguagens de script sempre estarão rankeadas no top um.
Entretanto, isso não quer dizer que a popularidade de linguagens como Java e C# sejam menores por serem "chatas ou verbosas", pelo contrário, existe uma comunidade gigante por trás delas (lá ele de novo) bem como C++, Rust, Go etc. Mas sim que existe um marketing absurdo em algumas linguagens como Javascript/Typescript e Python por exemplo o que acaba levando a galera mais jovem para elas (e coincidentemente vai ter alguém usando elas para vender alguma coisa pra você, haha).
Ou seja, não é que existe linguagem melhor ou pior é só questão de focar naquilo que gosta e não se deixar levar por vários assentos de foguete que existe por aí! 😊
Com o boom! de I.A., redes neurais, robótica, mobile, startups etc. os iniciantes estão se dedicando a Python, Flutter e Node.js.
Node.js Imagine usar a mesma linguagem no back-end e front-end, essa é para mim a maior vantagem do Node.js, isso desbancou o PHP e o Java.
Flutter (plataforma mobile) Não entendo nada, ainda não descobri o motivo das pessoas usá-lo, nos meus aplicativos web eu uso Bootstrap no front-end, sempre funcionou com qualquer dispositivo, PC, tablet, smartphone seja android / iOS (Apple), um colega do ex-trabalho usava Flutter e reclamava que não tinha um Mac para compilar e um amigo meu queria fazer um projeto envolvendo blockchain, queria um programador web, porém estava insistindo no Flutter.
Python No momento não programo em Python, mas está no meu radar, eu gosto muito de linguagens de script, uma que eu uso no meu cotidiano é a Autohotkey. As startups acredito que impulsionaram bem o Python, projetos pequenos, feitos rapidamente e modernos usando I.A., redes neurais, visão computacional, etc. Python desbancou Lua também.
Eu passei por algo parecido, mas eu estou aprendendo C# em vez de java e quando tive dificuldades na linguagem de programação, eu fiz o Curso CS50 de Harvard. É gratuito e te ensina toda a base de programação com scratch, depois migra pra C, depois python e no modulo final, Javascript, HTML e CSS.
No meu caso, eu "fugi" do JS por conta da alta concorrencia. Infelizmente os vendedores de curso de vire dev em 6 meses inflou demais o mercado front. Agora tem milhares de pessoas que sabem o basico de HTML, CSS e JS e se aplicando nas vagas achando que só isso é necessário para ganhar 5/10k por mês. Se balançar uma arvore é perigoso cair um dev react.
Isso junta de que eu sempre segui a lógica de se tem muita gente indo na mesma direção a disputa é maior e se tem um lugar onde não querem ir, há menos disputas, mais vagas e maior sálario. Esse é o caso do Java. Eu nunca vi um javeiro de alto nível sem emprego.
E Java é uma linguagem robusta, que está em sistemas gigantescos que é muito dificil de ser migrado para outra tecnologia, então vai precisar de pessoas para realizar manutenção. Eu particularmente acho Java um excelente caminho. Se eu não tivesse me apaixonado por C# com certeza teria ido de Java. Afinal são irmãs, praticamente kkk
E sobre o Node. Isso é uma opinião particular, não uma regra. Mas eu penso assim: Node "todo mundo" sabe, então o que te faz ser diferente das milhares de pessoas que se candidatam nas vagas? O esforço para voce se destacar seria com certeza maior do que em Java com Spring Boot. E mais uma vez, se tu se torna um dev Java de alto nivel, dificilmente fica desempregado. Claro, isso tudo é só opinião minha, pode estar de fora da realidade e também nada impede de voce aprender Node por curiosidade! E também se voce trabalhar com Java também vai ter que aprender Angular, Vue ou React porque a maioria das vagas são sempre full stack Java. Então de uma forma ou de outra não tem como fugir do Javascript e da para reaproveitar o conhecimento no Node.
Então, existem linguagens que são melhores para determinada tarefa. Quando Java foi criada, a intensão era sercross platform para aplicações desktop e embarcadas, wue prometia ser o próximo boom. A ideia foi um sucesso (obviamente com rios de dinheiro em marketing). Hoje vejo-a como algo, apesar das evoluções, ultrapassado. A presença de null, o forte apego a orientação a objetos, logo aos problemas desse paradigma, como também a palperima experiência de desenvolvimento, fora ser uma grande comilona de recursos. Acho Rust uma linguagem bem mais completa para nossos dias e, junto com Elixir, fazem uma dupla infernal para desenvolvimento Web.
Os Java fanboys vão me fusilar, mas, depois que comecei a aprender Kotlin pensei: agora Java vai morrer de vez.