Olá desenvolvedores, tudo bem com vocês? No post anterior, “JAVA: CONHEÇA ESTA PODEROSA PLATAFORMA” começamos uma conversa sobre o Java. Apresentarei a vocês as principais características e algumas curiosidades acerca da linguagem. Por exemplo, você sabe de onde se originou o nome Java?
VÍDEO AULA – LINGUAGEM JAVA E SUAS CARACTERÍSTICAS.
Quando a equipe liderada por Patrick Naugthon, Sun Fellow e James Gosling, tentou registrar sua criação, o nome escolhido, OaK (carvalho), já estava registrado. E nós agradecemos, você consegue se imaginar programando em OaK, sim, este foi o nome escolhido originalmente.
Assim, como OaK estava indisponível, escolheram “Java”. O é uma referência a origem da terra do café servido na cafeteria local da cidade. Café este muito apreciado pela equipe de programadores do time de Gosling e companhia. Agora a logo do Java faz total sentido, não é verdade?
Enfim, o Java foi criado em 1991. Mas foi de fato apresentado pela Sun Microsystems em 1995, aproveitando uma oportunidade surgida na época, na Web. A linguagem chegou provendo interatividade onde existia apenas conteúdos sendo exibidos em páginas estáticas. Não há dúvida de que a tecnologia foi muito bem recebida na época, e ainda hoje é um grande sucesso.
Assim sendo, sobre o sucesso do Java, Yolande Poirier – blogueira que escreve sobre tecnologias e projetos em Java, palestrante internacional e do JavaOne Rockstar. Aliás, uma curiosidade sobre Poirier é que ela gerencia uma rede de mais de 350.000 desenvolvedoras. Enfim, o fato é que ela foi assertiva ao afirmar: “poucas linguagens de programação ainda mantém a popularidade mesmo após 20 anos”.
Com efeito, o sucesso e a popularidade atribuídos a linguagem estão diretamente relacionados com as principais características da plataforma. A plataforma Java foi construída a partir da missão amplamente incorporada ao ecossistema que a cerva. “Write Once, Run Anywhere” – Escreva uma vez, execute em qualquer lugar.
JAVA: O FUTURO AQUI E AGORA
A investidora e fundadora da G2 Capital, Camila Farani, afirmou, “negócios não morrem porque se movem rápido. Eles morrem porque se movem devagar”.
Rapidez, esta é a tônica que dita o desenvolvimento de qualquer produto nos dias atuais. Velocidade, esta é a maior demanda das empresas. E também é uma exigência cada vez mais crescente o acesso a dados em alta velocidade, serviços seguros, robustos e escaláveis. T tudo isso pra ontem.
No âmbito da programação, tais exigências, suscitam por um ambiente de desenvolvimento de alto nível. Este ambiente deve possibilitar a satisfação dessas cobranças. E em outras palavras, sem complexidade, sem perder qualidade e com alto grau de desempenho e compatibilidade com as mais diversas plataformas.
Ainda bem que este futuro já existe – a plataforma Java de linguagem de programação. Nas palavras do próprio Gosling e Henry McGilton, Java é uma linguagem orientada objetos, mas ainda simples, possui um ciclo de desenvolvimento rápido, visto que é interpretada, e isto significa que você apenas compila e executa.
Os sistemas e aplicativos desenvolvidos em Java podem ser executados em diferentes sistemas operacionais e arquiteturas de hardware. Permite também o desenvolvimento de sistemas robustos. E de aplicativos gráficos interativos com alto desempenho porque possui multithreading integrada à linguagem de programação e à plataforma em tempo de execução.
E aqui entre nós, desenvolver e manter a alta performance é um desafio constante. O desenvolvimento de aplicações que consumam o mínimo possível de recurso de máquina e que podem ser executados em qualquer plataforma, é igualmente desafiador. E esta é uma das propostas do Java.
Resumindo, a linguagem de programação Java é caracterizada por ser simples, orientada a objetos, distribuída, multithread, dinâmica, arquitetura neutra, portátil, alta performance, robusta e segura. Então vamos lá, vamos conhecer de perto algumas dessas características.
LINGUAGEM JAVA: 10 PRINCIPAIS CARACTERÍSTICAS
Ao final da leitura, você será capaz de entender porque o Java é considerado uma linguagem poderosa. E porque ela está presente em todo lugar, ou em pelo menos 3 bilhões de dispositivos. E não para por aqui, são mais de 25 bilhões de Java Cards vendidos.
O Java Cards é uma plataforma. Ela permite que elementos seguros, como cartões inteligentes e outros chips de segurança resistentes a violações, hospedem aplicativos que empregam tecnologia Java.
Mas vamos ao que interessa, as principais caraterísticas do Java:
SUPORTE A ORIENTAÇÃO A OBJETOS
A linguagem Java é capaz de representar em termos de código, tudo o que existe no mundo real. Assim, podemos dizer que ela interpreta tudo a sua volta como sendo um objeto. Isto é, a tecnologia de objetos tem como premissa a concentração na modelagem das características e comportamento dos objetos no mundo real.
Os críticos da linguagem ousam dizer que a orientação a objetos é apenas uma forma de organizar o código. E como bem disse Gosling e McGilton, embora tal afirmação não seja uma inverdade, tão pouco conta toda a história. E isso porque você pode obter resultados com técnicas de programação orientada a objetos que não pode com técnicas processuais.
Gosling cita ainda uma característica importante que distingue os objetos de procedimentos e funções comuns. Esta característica é a possibilidade de poder criar objetos em um único local e recuperá-lo em outro local.
Para ser considerada orientada a objetos uma linguagem precisa necessariamente conter quatro características: encapsulamento, polimorfismo, herança e ligação dinâmica.
PORTABILIDADE
A portabilidade é uma caraterística que acompanha o Java desde o primeiro instante da sua criação. Em linhas gerais significa que um sistema desenvolvido em Java poderá ser executado em qualquer sistema e/ou hardware. Lembra da missão do Java, “Write Once, Run Anywhere”.
O próprio ambiente Java é facilmente transportável para novas arquiteturas e sistemas operacionais.
SEGURANÇA
A medida em que ganha escala a internet necessita quase que de forma imediata de um ambiente seguro.
Assim, partindo de tal necessidade e da ideia de que nada é confiável, o Java que segue permanecendo de acordo com este preceito. Buscou meios de manter seu compilador e o sistema em tempo de execução seguros da criação de códigos subversivos.
Esta é uma característica peculiar do Java. A plataforma está preparada para enfrentar os desafios de distribuir software dinamicamente pela rede. E isso, a partir da implementação de várias camadas de defesa contra códigos potencialmente incorretos.
É também por esta característica em particular que o Java é usado pelas maiores empresas do mundo. E se a linguagem não é a principal dentro do ecossistema das gigantes da tecnologia. É certo que ela está presente em algum ambiente ou em alguma funcionalidade. Entre as muitas companhias que usam o Java podemos citar, Google, Amazon, Pinterest, Uber, Spotfy, Banco do Brasil.
LINGUAGEM SIMPLES
Quando falam da simplicidade da linguagem, os seus criadores citam um fragmento do romance de ficção científica. The Rolling Stones de Robert A. Heinlein, onde o autor comenta:
Toda tecnologia passa por três estágios: primeiro, um dispositivo grosseiramente simples e bastante insatisfatório; segundo um grupo enormemente complicado de dispositivos projetados para superar as deficiências do original e, assim, obter um desempenho satisfatório por meio de um compromisso extremamente complexo; terceiro, um projeto final apropriado
A citação serviu de pano de fundo para a comparação da linguagem Java com C/C++. Visto que a primeira ganhou sua simplicidade com a remoção sistemática de recursos de seus antecessores C/C++. Sendo então, a busca pela simplicidade um dos principais objetivos do Java.
Uma forma de explicar a simplicidade do Java é por meio do tradicional e mais simples exemplo, o “Olá Mundo”, vejamos:
E é só o que precisaremos para dizer “olá” ao mundo. O exemplo começa com a declaração de uma classe chamada OlaMundo. Dentro desta classe existe um método de execução, o main. Este método, por sua vez carrega um método para exibir uma String, que neste caso é a saída do programa.
E o método principal faz isso invocando o método público println. Tal método imprime qualquer argumento passado para ele e adiciona uma nova linha à saída. Podemos dizer que este método está contido no método out. O out é do tipo PrintStream da classe final System que é definida no pacote java.lang, e que executa operações de saída.
Em linhas gerais, System.out representa o fluxo de saída padrão, ou seja, permite imprimir uma String, no console (terminal).
ALTA PERFORMANCE
Este é um assunto amplamente discutido nas redes e quase sempre com ideias equivocadas a respeito do desempenho da linguagem Java. É óbvio, que se você não souber o que está fazendo, não há linguagem que possa salvá-lo. Os recursos estão disponíveis, a documentação é vasta, agora cabe ao programador a capacidade de explorar ou não o poder da performance da linguagem.
Enquanto programador, cabe a você escrever seus códigos pensando em performance. A linguagem Java faz a sua parte, oferecendo uma prototipagem rápida e sem medo. Visto que o garbage collection, por exemplo, remove a responsabilidade do gerenciamento de memória dos ombros do programador.
Enfim, com o Java não é possível apenas criar aplicações de alto desempenho. Mas com todos os recursos da plataforma, o alto desempenho se torna uma característica estendida também ao programador.
DINAMISMO
O Java é organizado de tal forma que qualquer coisa pode ser criada e removida de forma muito dinâmica, rotinas podem ser implementadas a todo momento. Mas o que realmente a torna uma linguagem dinâmica é a sua natureza portátil e interpretada, projetada para se adaptar aos ambientes em evolução.
INTERPRETADA
Ser uma linguagem interpretada significa que ela faz uso do que chamamos de máquina virtual. E é justamente esta máquina virtual, a JVM – Java Virtual Machine, a responsável pela portabilidade das aplicações escritas na linguagem.
Esta já mencionada portabilidade significa que mesmo que a aplicação tenha sido desenvolvida em um ambiente Windows, ela irá rodar tranquilamente em um ambiente Linux.
Assim, depois que você tiver o interpretador da linguagem Java e o suporte em tempo de execução disponíveis em uma determinada plataforma, por exemplo, no Linux, poderá executar qualquer aplicativo da linguagem Java de qualquer lugar. sempre assumindo que o aplicativo específico da linguagem Java seja gravado de maneira portátil.
Entenda, A JVM não entende código Java e não gera código de máquina, em vez disso ela gera um código especifico chamado bytecode – um código independente. Este código é gerado pelo compilador Java (javac) e será traduzido pela Virtual Machine para o código de cada máquina em questão.
DISTRIBUÍDO
O Java é uma tecnologia Open Source, criado pela Sun MicroSystems, empresa comprada pela Oracle. A Oracle é hoje a principal mantenedora da linguagem. Basta baixar a ferramenta e começar a desenvolver.
INDEPENDENTE DA PLATAFORMA
Acredito que seja o que mais repetimos aqui, a portabilidade do Java. Uma aplicação desenvolvida nesta plataforma, pode ser migrada facilmente para uma ampla variedade de sistemas de computadores. E pode ser utilizada em uma grande variedade de arquiteturas de hardware. E em uma grande variedade de arquiteturas de sistemas operacionais.
Ela não depende de uma plataforma exclusiva, ou de plataforma A ou B. Ou seja, uma aplicação escrita em Java simplesmente pode ser executada em qualquer lugar.
MULTITHREAD
Em primeiro lugar vamos entender o que é thread. A documentação do Java nos diz que podemos definir threads como uma determinada função de biblioteca implementada de tal maneira que pode ser executada por vários threads simultâneos de execução. OK, mas nós acreditamos que há um jeito mais simples de defini-las
Grosso modo threads são tarefas, processos que um dado programa executa, é uma forma de dividir a si mesmo em uma ou mais tarefas e realizá-las de forma concorrente. Agora mesmo uma thread está sendo executada no seu computador.
Lembre-se, o nosso contexto é o de programação e estamos desenhando um cenário para que seja de fácil assimilação por todos. Assim, a multithread é a maneira de obter simultaneidade rápida e leve em um único espaço de processo.
JAVA EM POUCAS PALAVRAS
Que desafio hein, resumir em poucas palavras tudo o que aprendemos hoje sobre o Java. E talvez algo que não falamos é que apesar de poderosa, é uma linguagem de fácil aprendizagem. Isto é, se você começar hoje, com dedicação e empenho, logo estará escrevendo seus códigos, e apresentando ao mundo suas aplicações.
O Java pode fazer muito mais por nós, e nos permite fazer mais, escrevendo menos código, sem dependência de plataformas. Escreva uma vez, execute em qualquer lugar.
E podemos aproveitar todo o poder da linguagem usufruindo de ferramentas de desenvolvimento que fornecem todo o suporte necessário. Suporte para compilar, executar, monitorar, depurar e documentar nossos sistemas. As APIs são um sabor a parte, o Java oferece uma ampla variedade de classes úteis prontas para usarmos.
Tecnologias de implementação, kits de ferramentas da interface do usuário, bibliotecas de integração, entre outros recursos.
Ufa!!! Espero que tenham gostado, e que os tenha influenciado só um pouquinho a abraçar o Java de uma vez por todas.
LEITURA RECOMENDADA: Saiba mais sobre o Java. , “CONSTANTES E VARIÁVEIS”, “OPERADORES E SEUS TIPOS EM JAVA”, “ESTRUTURAS DE DECISÃO EM JAVA”, “ESTRUTURAS DE REPETIÇÃO”.
Aprenda mais sobre a lógica com Java.
Curso de programação para você
Selecionei os cursos on-line para você se preparar e abrir as portas para as vagas de programação. Conheça cada um dos cursos nos links oficiais abaixo.
🙂
Curso Profissional + Certificado + Acesso Vilatício + Suporte.
Full-Stack Web Java EE
Mais de 900 aulas em PrimeFaces, JSF, Spring, Hibernate, JPA, Ireport, CDI e muitos mais. Se torne Full-Stack Java Web.
Lógica de Programação
Para se tornar um programador e resolver problemas complexos a sua lógica de programação deve ser a melhor de todas..