O que é Java?
Java é uma linguagem de programação de uso geral. Tem como recursos o suporte da programação baseado na orientação a objeto, procedural e paradigmas funcionais.
Muitas vezes pode-se ler a frase “Java é uma linguagem de programação orientada a objetos”. Isto significa que a linguagem Java tem recursos que suportam o paradigma de orientação a objetos.
Uma linguagem de programação não é orientada a objetos. É o paradigma que é orientado a objetos e uma linguagem de programação pode ter recursos que faz a implementação do paradigma de orientação a objetos ficar mais fácil.
Alguma vezes, programadores tem equívocos que todos os programas escritos em Java são sempre orientados a objetos. Java tem recursos que suportam os paradigmas procedurais e funcionais. Você pode escrever um programa em Java 100% procedural sem um pingo de orientação a objetos.
A versão inicial da plataforma Java foi construída em 1995 pela Sun Microsystems (que faz parte da Oracle Corporation desde janeiro de 2010). O desenvolvimento da linguagem de programação começou em 1991. Inicialmente, a linguagem foi chamada de Oak para ser utilizado em decodificadores de televisão.
Logo após o seu lançamento, o Java se tornou uma linguagem de programação muito popular. Um dos recursos mais importantes de sua popularidade foi o recurso WORA (write once, run anywhere) “escreve uma vez e execute em qualquer lugar”.
Esse recurso permite você escrever um programa Java uma vez e executar em qualquer plataforma. Por exemplo, você pode escrever e compilar um programa Java no UNIX e executar no Microsoft Windows, Macintosh ou na máquina UNIX sem modificar o código fonte.
WORA guarda a compilação do programa Java dentro de uma linguagem intermediária chamada bytecode. O formato da plataforma bytecode é independente.
Uma máquina virtual, chamada Java Virtual Machine (JVM), é utilizada para executar o bytecode para cada plataforma. Observe que a JVM é um programa implementado no software.
Não é uma máquina física é por essa razão é chamada de “máquina virtual”. O trabalho de uma JVM é transformar o bytecode em código executável de acordo com a plataforma que está sendo executado.
Esse recurso faz a plataforma Java independente. Isto quer dizer que o programa Java pode ser executado em várias plataformas sem nenhuma modificação. A seguir algumas características que estão por trás da popularidade do Java e aceitas na indústria do software:
Simplicidade
Ampla variedade de ambientes de uso
Robustez
Simplicidade pode ser uma palavra subjetiva neste contexto. O C++ foi uma linguagem de programação popular e poderosa amplamente utilizada na indústria de software até o Java ser produzido.
Se você foi um programador C++, o Java pode ser mais fácil para você aprender. O Java tem a sintaxe muito parecida com o C/C++, o qual foi de muita ajuda para os programadores C/C++ aprender a linguagem.
Melhor ainda, foram excluídos recursos confusos e difíceis de utilizar corretamente do C++ (contudo muito úteis). Por exemplo, o Java não tem ponteiros e múltiplas heranças, os quais estão presentes no C++.
Se você está aprendendo Java como sua primeira linguagem de programação, pode ser que não seja tão simples assim para você aprender. Porque como foi dito antes, a simplicidade do Java como qualquer outra linguagem de programação é muito subjetiva.
A linguagem Java e suas bibliotecas (vários pacotes contidos nas classes Java) tem crescido desde a sua primeira versão. Você precisa fazer um grande esforço para ser um bom programador Java.
Um programa desenvolvido em Java pode ser utilizado em diferentes ambientes. Você pode escrever programas em Java que podem ser utilizados no ambiente do cliente e servidor.
O uso mais popular do Java no seu início foi os applets, o qual foi depreciado (removido) do Java SE 9. Um applet é um programa Java embutido em uma página na internet, que utiliza o HyperText Markup Language (HTML), e mostra o resultado no navegador como o Microsoft Internet Explorer, Google Chrome etc.
O código applet é guardado no servidor, o download é feito pela a máquina cliente quando a página HTML tem uma referência para um applet e assim é executado.
O Java possui recursos que faz as aplicações serem mais fáceis de distribuir. Uma aplicação distribuída consiste em programas executados em diferentes máquinas conectadas por uma rede.
Java tem recursos que torna fácil o desenvolvimento de aplicações concorrentes. Uma aplicação concorrente tem múltiplas interações, threads executados em paralelo.
Robustez de um programa refere-se à habilidade de manipular o mínimo de situações inesperadas. Situações inesperadas são conhecidas como erro no programa.
O Java fornece vários recursos que tem robustez para checar erros durante a execução e produção do programa. A seguir apresento três diferentes tipos de erros que podem ocorrer em um programa Java.
Compile-time errors
Runtime errors
Logic errors
Erros de compile-time errors são conhecidos como erros de sintaxe. Eles são causados por uso incorreto da linguagem Java. Eles são detectados pelo o compilador Java.
Um programa com compile-time errors não compila para bytecode até os erros serem consertados. Esquecer um ponto e vírgula no fim de uma linha de programação, atribuir um valor fracionado como 10,23 para uma variável do tipo inteiro, são exemplos de compile-time errors.
Runtime errors acontece quando um programa é executado. Esse tipo de erro não é detectado pelo compilador porque um compilador não tem todas as informações necessárias para detectar o erro.
Java é uma linguagem altamente tipada e tem robustez na verificação dos tipos das variáveis durante a execução. Java tem mecanismos excelentes para manipular os erros durante a execução.
Quando um runtime error acontece no programa Java, a JVM lança uma exceção, a qual o programa pode capturar essa exceção e tratá-la. Por exemplo, dividir um número por zero (ex: 17/0) irá gerar um runtime error.
Java evita runtime errors críticos, tais como estouro de memória e vazamentos de memória, ele tem um mecanismo interno para alocação e desalocação automática de memória. O recurso que desaloca a memória é chamada de garbage collection.
Logic errors são os erros mais críticos de um programa e são difíceis de achar. Eles são introduzidos por um programador que implementou alguma funcionalidade incorretamente.
Esse tipo de erro não pode ser detectado pelo o compilador Java ou na sua execução. Esses erros são detectados por aplicações testadoras ou usuários que compara o estado atual da aplicação é diferente do que eles esperavam. Algumas vezes, alguns erros lógicos podem acontecer e nem serem notados.
Um erro de programação é conhecido com bug. O processo de encontrar e consertar bugs é conhecido como debugging. Todos os IDES modernos como o NetBeans, Eclipse, JDeveloper e IntelliJ IDEA fornece aos programadores uma ferramenta chamada debugger, a qual executa o programa passo a passo para conseguir achar o bug.
Debugging é uma atividade rotineira para os programadores. Se você quer ser um bom programador, você precisa aprender a utilizar os debuggers que acompanham as ferramentas de desenvolvimento que são utilizadas para desenvolver em Java.
Deixe um comentário