ATPS: As principais características da plataforma .NET e do linguagem C #.
Seminário: ATPS: As principais características da plataforma .NET e do linguagem C #.. Pesquise 862.000+ trabalhos acadêmicosPor: didiedirlei • 25/11/2013 • Seminário • 1.897 Palavras (8 Páginas) • 561 Visualizações
Passo 1 (Aluno)
Ler o capítulo do livro-texto e complementares sobre as principais características da plataforma .NET e da linguagem C#. A pesquisa sobre a plataforma deve abordar quais as ferramentas podem ser utilizadas para o desenvolvimento e possíveis licenças de uso.
A Plataforma Microsoft .NET e uma plataforma de desenvolvimento multilinguagem composta por um grande conjunto de bibliotecas - para manipulação de banco de dados, processamento de XML, interface gráfica com o usuário, desenvolvimento Web, etc. - e um ambiente de execução - o Common LanguageRuntime, ou CLR.
A CLR pode ser definida como uma máquina virtual orientada a pilha, responsável por traduzir código escrito em Common IntermediateLanguage - CIL - para instruções nativas - específicas do processador. Essa tradução e executada sob demanda por meio de compilação Just In Time (JIT). Portanto, quando dizemos “compilar a linguagem X para a Plataforma .NET” queremos dizer “construir um compilador de X capaz de gerar código CIL”. Por “orientada a pilha” queremos dizer que as instruções da maquina podem empilhar operandos em uma pilha de avaliação, executar operações sobre esses operandos, empilhar os resultados dessas operações, mover operandos da pilha para variáveis e vice- versa.
A CLR possui varias outras funções como segurança de código, gerenciamento de memória através de coleta automática de lixo (“garbagecollection”), gerenciamento de processos e threads e vários outros serviços, de uma forma independente de linguagem.
Um outro exemplo de maquina virtual e a Java Virtual Machine (JVM) [LY99], que ja foi utilizada como alvo por algumas implementações de linguagens funcionais. Porem, a JVM não e uma plataforma ideal para linguagens funcionais devido a alguns fatores:
• e projetada especialmente para suportar as características de Java [GJSB00], por¬tanto suportando essencialmente linguagens orientadas a objeto;
• não suporta tail-calls - um mecanismo de invocação de função que não armazena “stack frames”, comumente utilizado para a implementação eficiente de linguagens funcionais;
• não suporta nenhum tipo de ponteiro para funções ou outras características de mais baixo nível que, apesar de nao serem essenciais, podem ser extremamente uteis para a compilação eficiente de linguagens funcionais.
Por outro lado, a Plataforma .NET, apesar do seu maior foco em orientação a obje¬tos, foi projetada para suportar vários paradigmas de programação. Alem disso, ela su¬porta tail-calls e ponteiros para função “seguros” (type-safe) através dos delegates. Finalmente, .NET oferece outras características não encontradas na Plataforma Java, tais como versionamento e inter-operabilidade com outras linguagens.
Outras características:
• .net é uma nova plataforma para o desenvolvimento moderno, orientado-objeto é um gerenciador de aplicações.
• Completamente funcional podem ser desenvolvidas aplicações .net usando qualquer linguagem de programação que mira o runtime .net.
• .net provê uma plataforma que contem uma classe de biblioteca de linguagem-comum.
• .net suporta a criação de software com componentes de alto-descrição
• .net introduz um modo novo para desenvolver aplicações Windows
• .net provê um novo modo para desenvolver aplicações Web que usam o ASP.net
• As classes de ADO.net proveem uma nova arquitetura desconectada para dados que acessam a Internet.
• .net suporta a criação de uma plataforma XML Web services usando padrões como SOAP (SimpleObject Access Protocol) and WSDL (Web Service DescriptionLanguage).
• .net provê uma nova arquitetura para o desenvolvimento de objetos remotos
• .net traz muitas tecnologias do Windows e técnicas obsoletas.
• Assim o .net é grande, e requer um novo começo para desenvolvedores que trabalham com Plataformas e ferramentas da Microsoft.
C# (C Sharp) é uma linguagem de programação orientada a objetos, desenvolvida pela Microsoft como parte da plataforma .NET, explicada anteriormente. A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação.
Esta linguagem é muito utilizada no .NET por ter sido criada praticamente do zero para funcionar nesta nova plataforma, sem preocupações de compatibilidade com código existente. O compilador C# foi o primeiro a ser desenvolvido, e a maior parte das classes da plataforma foram desenvolvidas nesta linguagem.
As principais características do C# são (HARVEY et al., 2000):
Suporte a ponteiros através da palavra reservada Unsafe (código não-seguro), que é obrigatório.
Coletor de lixo: processo usado para a manutenção de memória. Com este recurso, é possível recuperar a zona de memória que um programa já não utiliza.
Não existe herança múltipla, ou seja, cada classe só pode herdar apenas uma outra classe e não mais do que uma, no entanto é possível simular herança múltipla utilizando interfaces.
Suporta sobrecarga de métodos e de operadores.
Suporte a polimorfismo: a capacidade de usar um operador ou uma função de diferentes maneiras, assim fornecendo diferentes significados de acordo com o contexto.
Tratamento de exceções: O tratamento de exceção é um mecanismo desenvolvido para lidar com a ocorrência de algumas condições (chamadas exceções) que alteram o funcionamento normal do fluxo de um programa de computador.
O código é organizado num conjunto de espaços de nomes que agrupam as classes com funções semelhantes. Ao contrário das outras linguagens de programação, nenhuma implementação de C# atualmente inclui qualquer conjunto de bibliotecas de classes ou funções. Mesmo assim, esta linguagem está muito vinculada a plataforma .NET, da qual obtém as suas classes ou funções de execução.
Passo 2 (Equipe)
Elaborar uma tabela com pelo menos cinco diferenças entre a linguagem C# e a linguagem Java.
JAVA C#
Java não programa propriedades nem sobrecarga de operadores. Mas C# sim
Java não programa
...