parte E.pdf

5
Faça uma descrição de no mínimo 10 linhas sobre cada uma das seguintes linguagens: JAVA, C#, C++, Eiffel e Smalltalk. JAVA Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling , na empresa Sun Microsystems . Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um bytecode que é executado por uma máquina virtual. A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não sua única linguagem. É uma linguagem de programação multiplataforma, com uma sintaxe parecida com o C++, porém 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 código Java em comandos que o sistema operacional possa executar. C# - O C# é uma linguagem de programação visual dirigida por eventos e totalmente orientada a objetos criada pela Microsoft, faz parte da sua plataforma .Net.. Permite um novo grau de intercâmbio entre linguagens (componentes de software de diferentes linguagens podem interagir). Os desenvolvedores podem empacotar até software antigo, para trabalhar com novos programas C#. Além disso, os aplicativos C# podem interagir pela Internet usando padrões do setor, como SOAP (protocolo de acesso a objetos simples) e XML (linguagem de marcação extensível). O C# tem raízes em C, C++ e Java, adaptando os melhores recursos de cada linguagem e acrescentando novas capacidades próprias. Ele fornece os recursos que são mais importantes para os programadores, como programação orientada a objetos,strings, elementos gráficos, componentes de interface com o usuário gráfica (GUI), tratamento de exceções, múltiplas linhas de execução, multimídia (áudio, imagens, animação e vídeo), 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 computação distribuída. C++ C++ é uma linguagem de programação multi-paradigma e de uso geral. A linguagem é considerada de médio nível, pois combina características de linguagens de alto e baixo níveis. Desde os anos 1990 é uma das linguagens comerciais mais populares, sendo bastante usada também na academia por seu grande desempenho e base de utilizadores. Novas características foram adicionadas com o tempo, como funções virtuais, sobrecarga de operadores, herança múltipla, gabaritos e tratamento de exceções. C++ é desenvolvido para ser uma linguagem tipada estaticamente e de propósito geral que é tão eficiente e portátil quanto o C. C++ é desenvolvido para suportar múltiplos paradigmas.

Transcript of parte E.pdf

  • 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