Post on 19-Oct-2015
Faa uma descrio de no mnimo 10 linhas sobre cada uma das seguintes linguagens: JAVA, C#, C++, Eiffel e Smalltalk.
JAVA
Java uma linguagem de programao orientada a objeto desenvolvida na dcada de 90 por
uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems.
Diferentemente das linguagens convencionais, que so compiladas para cdigo nativo, a
linguagem Java compilada para um bytecode que executado por uma mquina virtual. A
linguagem de programao Java a linguagem convencional da Plataforma Java, mas no sua
nica linguagem.
uma linguagem de programao multiplataforma, com uma sintaxe parecida com o C++,
porm com bibliotecas diferentes. Os programas Java podem ser executados em qualquer
sistema operacional, desde que a Java Virtual Machine esteja instalada. Este programa
converte o cdigo Java em comandos que o sistema operacional possa executar.
C# -
O C# uma linguagem de programao visual dirigida por eventos e totalmente orientada a
objetos criada pela Microsoft, faz parte da sua plataforma .Net.. Permite um novo grau de
intercmbio entre linguagens (componentes de software de diferentes linguagens podem
interagir). Os desenvolvedores podem empacotar at software antigo, para trabalhar com
novos programas C#. Alm disso, os aplicativos C# podem interagir pela Internet usando
padres do setor, como SOAP (protocolo de acesso a objetos simples) e XML (linguagem de
marcao extensvel).
O C# tem razes em C, C++ e Java, adaptando os melhores recursos de cada linguagem e
acrescentando novas capacidades prprias. Ele fornece os recursos que so mais importantes
para os programadores, como programao orientada a objetos,strings, elementos grficos,
componentes de interface com o usurio grfica (GUI), tratamento de excees, mltiplas
linhas de execuo, multimdia (udio, imagens, animao e vdeo), processamento de
arquivos, estruturas de dados pr-empacotadas, processamento de banco de dados, redes
cliente/servidor com base na Internet e na World Wide Web e computao distribuda.
C++
C++ uma linguagem de programao multi-paradigma e de uso geral. A linguagem
considerada de mdio nvel, pois combina caractersticas de linguagens de alto e baixo nveis.
Desde os anos 1990 uma das linguagens comerciais mais populares, sendo bastante usada
tambm na academia por seu grande desempenho e base de utilizadores.
Novas caractersticas foram adicionadas com o tempo, como funes virtuais, sobrecarga de
operadores, herana mltipla, gabaritos e tratamento de excees.
C++ desenvolvido para ser uma linguagem tipada estaticamente e de propsito geral que
to eficiente e porttil quanto o C.
C++ desenvolvido para suportar mltiplos paradigmas.
C++ desenvolvido para fornecer ao programador escolhas, mesmo que seja possvel ao
programador escolher a opo errada.
C++ desenvolvido para ser o mais compatvel com C possvel, fornecendo transies
simples para cdigo C.
C++ evita fornecer facilidades que so especficas a certas plataformas ou a certos grupos
de desenvolvedores.
C++ no exige overhead para facilidades que no so utilizadas.
C++ desenvolvido para ser utilizado mesmo sem um ambiente de desenvolvimento
sofisticado.
Eiffel
Eiffel uma linguagem de programao puramente orientada a objeto, que implementa as
teorias sobre a orientao a objeto de Bertrand Meyer.
Sua sintaxe similar ao PASCAL e ALGOL. Algumas de suas caractersticas so: projeto por
contrato, heranas multiplas, overload de operador e classes genricas. Entende-se por projeto
por contrato como uma forma de explicitar as condies de uso dos componentes (mdulos) de
programas e os resultados dos mesmos, estabelecendo prs e ps-condies que devem ser
satisfeitas. Eiffel tem um tipo nico de dados - todos os tipos so classes - ento possvel
criar subclasses de classes bsicas como a classe "INTEGER". A linguagem se prope a ser
de uso geral, podendo ser usada para desenvolvimento de aplicaes financeiras, indstria,
sistemas de telecomunicaes, etc. Eiffel no case-sensitive. Alm disso, o uso de um
smbolo de fim-de-instruao opcional e deixado a critrio do programador. Muitos
programadores em Eiffel optam por omitir o ponto-e-vrgula exceto quando colocam mais de
uma instruo numa linha. O fato dela nao ser case-sensitive favorece bastante a sua
redigibilidade.
Eiffel tem apenas seis instrues de execuao bsicas:
Atribuio
Criao de um objeto
Chamada de rotina
Condicional
Iterao
Escolha (case)
Ao contrrio de muitas outras linguagens O.O., Eiffel no permite modificar campos de objetos
que no sejam do objeto atual. O mesmo ocorre com variveis locais da rotina atual. Qualquer
modificao em outros objetos devem ser feitas atravs de seus respectivos mtodos.
Compiladores para a linguagem Eiffel podem ser encontrados para diversos sistemas
operacionais e plataformas de hardware, destacando-se as seguintes: PC: DOS, OS/2,
Windows 3.1, Windows 95, Windows NT, PC Unix(Interactive, SCO, and ESIX), Nextstep,
Linux.
Smalltalk -
Smalltalk-80, ou simplesmente Smalltalk, uma linguagem de programao orientada a
objeto dinamicamente tipada.
Em Smalltalk tudo objeto: os nmeros, as classes, os mtodos, blocos de cdigo, etc. No h
tipos primitivos, ao contrrio de outras linguagens orientadas a objeto; strings, nmeros e
caracteres so implementados como classes em Smalltalk, por isso esta linguagem
considerada puramente orientada a objetos. Tecnicamente, todo elemento de Smalltalk um
objeto de primeira ordem.
Os programadores definem classes de objetos em suas aplicaes para imitar (ou simular) o
mundo real. Estas classes de objeto so organizadas hierarquicamente, de modo que seja
possvel fazer novos objetos com caractersticas de outros objetos, com poucas mudanas.
Smalltalk relativamente fcil de aprender comparado a linguagens como C++ e ADA. O
cdigo-fonte Smalltalk fcil de ler, o que o torna a linguagem de programao ideal para
iniciantes.
Apresente a estrutura bsica de cdigo em cada linguagem para cada um dos conceitos listados no quadro.
JAVA C# C++ Eiffel Smalltalk
Encapsulamento
Em um processo de encapsulamento no Java os atributos das classes so do tipo private. Para acessar esses tipos de modificadores, necessrio criar mtodos setters e getters.
Por entendimento os mtodos setters servem para alterar a informao de uma propriedade de um objeto. E os mtodos getters para retornar o valor dessa propriedade.
No C#, podemos implementar o encapsulamento de duas formas: atravs de mtodos que acessam e atualizam os valores dos campos e atravs de propriedades (que a forma recomendada). Neste artigo veremos as duas abordagens.
Herana Simples
Em Java temos o conceito de herana simples, onde permite que uma Sub Classe s posso herdar de apenas uma Super Classe. Porm uma Sub Classe poder herdar de uma outra Sub Classe criando assim uma herana em cadeia.
C# uma liguagem totalmente orientada a objetos, desta forma, ela permite a implementao de todos os princpios de orientao a objetos, como a Herana, explicada anteriormente.
A implementao da herana em C# se d atravs do operador dois-pontos (:), que deve ser utilizado aps o nome da classe especializada que est sendo criada.
Herana Mltipla
O Java no permite Herana Mltipla, por conta de gerar alguns problemas, porm permite que voc implemente
Assim como o Java o C# no permite o uso de Herana Multipla, porm isso pode ser contornado
varias Interfaces. utilizando interfaces.
Interface Interface de Java um recurso que permite especificar os servios de uma classe. Uma interface declara: - mtodos pblicos sem definio de corpo (mtodos no pode ser estticos); - campos pblicos, estticos e finais.
Na linguagem C# a
sintaxe usada para
indicar a utilizao de
uma interface colocar
dois pontos aps o nome
da classe concreta que
vai implementar a
interface seguido do
nome da interface. Ex:
Produto : Iteste
(Produto = classe
concreta Iteste =
interface)
Polimorfismo Especificamente em Java, polimorfismo se encontra no fato de podemos modificar totalmente o cdigo de um mtodo herdado de uma classe diferente, ou seja, sobrescrevemos o mtodo da classe pai.
Portanto, polimorfismo est intimamente ligado a herana de classes.
Um pequeno exemplo para simplificar essa caracterstica segue abaixo:
-Classe 1 possui 2 mtodos:
mtodoA() e mtodoB().
-Classe 2 herda a classe 1.
-Classe 2 reescreve todo o
mtodoA() que pertence a classe
1.
Em C#, diferentemente de outras linguagens, como Java, para implementar uma interface em alguma classe usa-se a mesma tcnica que a usada para estender, usando-se dois pontos e o nome da interface (caso haja necessidade de mais de uma interface, a vrgula deve ser usada).
Sobrecarga Sobrecarga no Java um identificador ou operador sobrecarregado quando pode ser utilizado para designar duas ou mais operaes distintas. utilizado para realizar a operao de soma entre valores numricos e para realizar concatenao de strings.
A forma de implementao da sobrecarga em C# idntica ao ocorrido em Java, apenas redeclarando os mtodos e mudando seus parmetros
Classificao Dinmica
Programas escritos na
linguagem Java podem fazer
Alocao Dinmica de Memria.
Alocar dinamicamente a
memria significa que
aquantidade de memria usada
por um programa pode ser
definida durante a execuo do
programa. Em Java, o operador
New usado para alocar
memria dinamicamente. Este
operador usado para
instanciarobjetos e para criar
arrays
JAVA
Encapsulamento
Herana Simples
Herana Mltipla
Interface
Polimorfismo
Sobrecarga
Classificao Dinmica