Buscar

Trabalho de Programação (Linguagens C++ & C#)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

REPÚBLICA DE ANGOLA
UNIVERSIDADE ÓSCAR RIBAS
CURSO DE INFORMÁTICA E TELECOMUNICAÇÕES
Impor tância das linguagens de programação C# e C++.
Docente
________________________
REPÚBLICA DE ANGOLA
UNIVERSIDADE ÓSCAR RIBAS
CURSO DE INFORMÁTICA E TELECOMUNICAÇÕES
Impor tância das linguagens de programação C# e C++.
Nome: Edilson FerreiraAbano
Nº de estudante: 20190016
Turma: A
Sala: A
Curso: Engenharia Informática eComunicação
Turno: Manhã
Índice
1. Objectivos …………..……………………………………………… 1
2. Justificação ………………………………………………………… 2
3. Introdução ………………………………………….……….……… 3
4. História …………………….……………………….……………… 4
4.1 Linguagem c++…………………………………………………… 4
4.1.1 Características ……………….………………………………….. 5
4.1.2 Críticas da linguagem c++ …..………………………………….. 6
4.1.3 Ambiente da linguagem ………………..……………………….. 6
4.1.4 Apresentação da linguagem c++ …..…………..…………….….. 7
4.2 Linguagem c#……………………………..……………………….. 8
4.2.1 Características da linguagem c# ….………………….………….. 9
4.1.2 Apresentação da linguagem c# ….….…..……………………….. 9
5. Áreas de aplicação …………………………………………………. 10
6. Importância ………………………………………………………… 11
7. Vantagens e Desvantagens …………………………………………. 12-13
8. Diferenças e Semelhanças …………………………………………. 14-15
9. Conclusão ………………………………………………………….. 16
10. Sugestões ……………………………….………………………….. 17
11. Anexos ..…………………………………………………………… 18
12. Referências Bibliográficas ..……………………………………….. 19
1
Objectivo
Este trabalho tem como objectivo ajudar o leitor a conhecer a Impor tância das
linguagens de programação c# e c++.
Saber sobre a história das mesmas, seus fundadores e criadores.
2
Justificação
Espero que após a leitura deste trabalho o leitor possa escolher uma das linguagens de
programação e passe a saber mais sobre as mesmas.
3
Introdução
C++ (em português: lê-se "cê mais mais", em inglês lê-se see plus plus) é uma
linguagem de programação compilada multi-paradigma (seu suporte inclui linguagem
imperativa, orientada a objetos e genérica) e de uso geral. 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.
Bjarne Stroustrup desenvolveu o C++ (originalmente com o nome C with Classes, que
significa C com classes em português) em 1983 no Bell Labs como um adicional à
linguagem C. 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. Após a
padronização ISO realizada em 1998 e a posterior revisão realizada em 2003, uma nova
versão da especificação da linguagem foi lançada em dezembro de 2014, conhecida
informalmente como C++17.
C# é uma linguagem de programação, multiparadigma, de tipagem forte, desenvolvida
pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi
baseada no C++ mas inclui muitas influências de outras linguagens de programação, como
Object Pascal e, principalmente, Java. O código fonte é compilado para Common
Intermediate Language (CIL) que é interpretado pela máquina virtual Common Language
Runtime (CLR). C# é uma das linguagens projetadas para funcionar na Common Language
Infrastructure da plataforma .NET Framework.
Pensava-se que o nome "C#" viria duma sobreposição de quatro símbolos +, dando a
impressão de ++++, uma alusão à continuação do C++. Entretanto, a cerquilha de "C#" se
refere ao sinal musical sustenido (♯, em inglês: sharp), que aumenta em meio tom uma nota
musical.
Porém, devido a limitações técnicas (fontes padrões, navegadores, etc) e o fato do
símbolo não estar presente nos teclados, o cardinal (#) foi escolhido para ser usado no nome
escrito. Essa convenção é refletida no ECMA-334 C# Language Specification, a
especificação técnica da linguagem. Entretanto, em determinados lugares, como em
propagandas e capas de livros, é usado o símbolo de sustenido.
https://pt.wikipedia.org/wiki/L%C3%ADngua_portuguesa
https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesa
https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_compilada
https://pt.wikipedia.org/wiki/Paradigma_de_programa%C3%A7%C3%A3o
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperativa
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_objetos
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_gen%C3%A9rica
https://pt.wikipedia.org/wiki/Anos_1990%22%20%5Co%20%22Anos%201990
https://pt.wikipedia.org/wiki/Academia%22%20%5Co%20%22Academia
https://pt.wikipedia.org/wiki/Bjarne_Stroustrup%22%20%5Co%20%22Bjarne%20Stroustrup
https://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/1983%22%20%5Co%20%221983
https://pt.wikipedia.org/wiki/Bell_Labs%22%20%5Co%20%22Bell%20Labs
https://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Operadores_em_C_e_C++%22%20%5Co%20%22Operadores%20em%20C%20e%20C++
https://pt.wikipedia.org/wiki/Heran%C3%A7a_m%C3%BAltipla
https://pt.wikipedia.org/wiki/Tratamento_de_exce%C3%A7%C3%B5es
https://pt.wikipedia.org/wiki/Organiza%C3%A7%C3%A3o_Internacional_para_Padroniza%C3%A7%C3%A3o
https://pt.wikipedia.org/wiki/1998%22%20%5Co%20%221998
https://pt.wikipedia.org/wiki/2003%22%20%5Co%20%222003
https://pt.wikipedia.org/wiki/2014%22%20%5Co%20%222014
https://pt.wikipedia.org/wiki/C++17%22%20%5Co%20%22C++17
https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o
https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_multiparadigma
https://pt.wikipedia.org/wiki/Tipo_de_dado%22%20%5Co%20%22Tipo%20de%20dado
https://pt.wikipedia.org/wiki/Microsoft%22%20%5Co%20%22Microsoft
https://pt.wikipedia.org/wiki/Microsoft_.NET%22%20%5Co%20%22Microsoft%20.NET
https://pt.wikipedia.org/wiki/C++%22%20%5Co%20%22C++
https://pt.wikipedia.org/wiki/Object_Pascal%22%20%5Co%20%22Object%20Pascal
https://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Common_Intermediate_Language%22%20%5Co%20%22Common%20Intermediate%20Language
https://pt.wikipedia.org/wiki/Common_Intermediate_Language%22%20%5Co%20%22Common%20Intermediate%20Language
https://pt.wikipedia.org/wiki/Common_Language_Runtime%22%20%5Co%20%22Common%20Language%20Runtime
https://pt.wikipedia.org/wiki/Common_Language_Runtime%22%20%5Co%20%22Common%20Language%20Runtime
https://pt.wikipedia.org/wiki/Infraestrutura_de_linguagem_comum%22%20%5Co%20%22
https://pt.wikipedia.org/wiki/Infraestrutura_de_linguagem_comum%22%20%5Co%20%22
https://pt.wikipedia.org/wiki/Microsoft_.NET%22%20%5Co%20%22Microsoft%20.NET
https://pt.wikipedia.org/wiki/+%22%20%5Co%20%22+
https://pt.wikipedia.org/wiki/C++%22%20%5Co%20%22C++
https://pt.wikipedia.org/wiki/Cerquilha%22%20%5Co%20%22Cerquilha
https://pt.wikipedia.org/wiki/Sustenido%22%20%5Co%20%22Sustenido
https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesa
https://pt.wikipedia.org/wiki/Nota_musical%22%20%5Co%20%22Nota%20musical
https://pt.wikipedia.org/wiki/Nota_musical%22%20%5Co%20%22Nota%20musical
https://pt.wikipedia.org/wiki/Navegador_(inform%C3%A1tica)
4
A linguagem C++, foi inicialmente desenvolvido por Bjarne Stroustrup dos Bell Labs,
durante a década de 1980 com o objetivo implementar uma versão distribuída do núcleo
Unix. Como o Unix era escrito em C, deveria-se manter a compatibilidade, ainda que
adicionando novos recursos. Alguns dos desafios incluíam simular a infraestrutura da
comunicação entre processos num sistema distribuído ou de memória compartilhada e
escrever drivers para tal sistema. Stroustrup percebeu que a linguagem Simula 67 possuía
características bastante úteis para o desenvolvimento de software, mas que era muito lenta
para uso prático. Por outro lado, a linguagem BCPL era rápida, mas possuía demasiado
baixo nível, dificultando sua utilização no desenvolvimento de aplicações. A partir de sua
experiência de doutorado, começou a acrescentar elementos do Simula 67 no C,
especialmente os recursos de criação e manipulação de objetos. O C foi escolhido como
base de desenvolvimento danova linguagem pois possuía uma proposta de uso genérico,
era rápido e também portável para diversas plataformas. Algumas outras linguagens que
também serviram de inspiração para o cientista da computação foram ALGOL 68, Ada,
CLU e ML.
Ainda em 1983 o nome da linguagem foi alterado de C with Classes para C++. Antes
implementada usando um pré-processador, a linguagem passou a exigir um compilador
próprio, escrito pelo próprio Stroustrup. Novas características foram adicionadas, como
funções virtuais, sobrecarga de operadores e funções, referências, constantes,
gerenciamento manual de memória, melhorias na verificação de tipo de dado e estilo de
comentário de código de uma linha (//). Em 1985 foi lançada a primeira edição do livro The
C++ Programming Language, contendo referências para a utilização da linguagem, já que
ainda não era uma norma oficial. A primeira versão comercial foi lançada em outubro do
mesmo ano. Em 1989 a segunda versão foi lançada, contendo novas características como
herança múltipla, classes abstratas, métodos estáticos, métodos constantes e membros
protegidos, incrementando o suporte a orientação a objeto. Em 1990 foi lançado o livro The
Annotated C++ Reference Manual, que tornou-se base para o futuro padrão. Outras adições
na linguagem incluem gabaritos, tratamento de exceções, espaço de nomes, conversão
segura de tipo de dado e o tipo booleano.
Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do
tempo. Sua primeira adição foi a biblioteca de E/S, e posteriormente a Standard Template
Library (STL); ambas tornaram-se algumas das principais funcionalidades que
distanciaram a linguagem em relação a C. Criada primordialmente na HP por Alexander
Stepanov no início da década de 1990 para explorar os potenciais da programação genérica,
a STL foi apresentada a um comitê unificado ANSI e ISO em 1993 à convite de Andrew
Koenig. Após uma proposta formal na reunião do ano seguinte, a biblioteca recebe o aval
do comitê.
Depois de anos de trabalho, o mesmo comitê ANSI/ISO padronizou o C++ em 1998
(ISO/IEC 14882:1998). Após alguns anos foram reportados defeitos e imprecisões no
documento, e uma correção foi lançada em 2003.
Por muito tempo, o C++ foi encarado como um superconjunto do C. Entretanto, em
1999 o novo padrão ISO para a linguagem C tornou as duas linguagens ainda mais
diferentes entre si. Devido a essas incompatibilidades, muitas empresas que desenvolvem
compiladores não oferecem suporte à versão mais recente da linguagem C.
Pode-se dizer que C++ foi a única linguagem entre tantas outras que obteve sucesso
como uma sucessora à linguagem C, inclusive servindo de inspiração para outras
linguagens como Java, a IDL de CORBA e C#.
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1980
https://pt.wikipedia.org/wiki/N%C3%BAcleo_(inform%C3%A1tica)
https://pt.wikipedia.org/wiki/Unix%22%20%5Co%20%22Unix
https://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o_entre_processos
https://pt.wikipedia.org/wiki/Sistema_distribu%C3%ADdo
https://pt.wikipedia.org/wiki/Mem%C3%B3ria_compartilhada
https://pt.wikipedia.org/wiki/Driver_de_dispositivo%22%20%5Co%20%22Driver%20de%20dispositivo
https://pt.wikipedia.org/wiki/Simula_67%22%20%5Co%20%22Simula%2067
https://pt.wikipedia.org/wiki/Desenvolvimento_de_software%22%20%5Co%20%22Desenvolvimento%20de%20software
https://pt.wikipedia.org/wiki/BCPL%22%20%5Co%20%22BCPL
https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_de_baixo_n%C3%ADvel
https://pt.wikipedia.org/wiki/Software_aplicativo%22%20%5Co%20%22Software%20aplicativo
https://pt.wikipedia.org/wiki/Doutoramento%22%20%5Co%20%22Doutoramento
https://pt.wikipedia.org/wiki/Objeto_(inform%C3%A1tica)
https://pt.wikipedia.org/wiki/Plataforma_(inform%C3%A1tica)
https://pt.wikipedia.org/wiki/Cientista_da_computa%C3%A7%C3%A3o
https://pt.wikipedia.org/wiki/ALGOL_68%22%20%5Co%20%22ALGOL%2068
https://pt.wikipedia.org/wiki/Ada_(linguagem_de_programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/CLU_(linguagem_de_programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/ML_(linguagem_de_programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/1983%22%20%5Co%20%221983
https://pt.wikipedia.org/wiki/Pr%C3%A9-processador
https://pt.wikipedia.org/wiki/Operador%22%20%5Co%20%22Operador
https://pt.wikipedia.org/wiki/Refer%C3%AAncia_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Constante_(programa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Gerenciamento_de_mem%C3%B3ria
https://pt.wikipedia.org/wiki/Tipo_de_dado%22%20%5Co%20%22Tipo%20de%20dado
https://pt.wikipedia.org/wiki/1985%22%20%5Co%20%221985
https://pt.wikipedia.org/wiki/1989%22%20%5Co%20%221989
https://pt.wikipedia.org/wiki/Heran%C3%A7a_m%C3%BAltipla
https://pt.wikipedia.org/wiki/1990%22%20%5Co%20%221990
https://pt.wikipedia.org/wiki/Espa%C3%A7o_de_nomes
https://pt.wikipedia.org/wiki/Booleano%22%20%5Co%20%22Booleano
https://pt.wikipedia.org/wiki/Biblioteca_padr%C3%A3o_do_C++
https://pt.wikipedia.org/wiki/E/S%22%20%5Co%20%22E/S
https://pt.wikipedia.org/wiki/Standard_Template_Library%22%20%5Co%20%22Standard%20Template%20Library
https://pt.wikipedia.org/wiki/Standard_Template_Library%22%20%5Co%20%22Standard%20Template%20Library
https://pt.wikipedia.org/wiki/Hewlett-Packard%22%20%5Co%20%22Hewlett-Packard
https://pt.wikipedia.org/wiki/Alexander_Stepanov%22%20%5Co%20%22Alexander%20Stepanov
https://pt.wikipedia.org/wiki/Alexander_Stepanov%22%20%5Co%20%22Alexander%20Stepanov
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1990
https://pt.wikipedia.org/wiki/ANSI%22%20%5Co%20%22ANSI
https://pt.wikipedia.org/wiki/ISO%22%20%5Co%20%22ISO
https://pt.wikipedia.org/wiki/1993%22%20%5Co%20%221993
https://en.wikipedia.org/wiki/Andrew_Koenig_(programmer)%22%20%5Co%20%22en:Andrew%20Koenig%20(programmer)
https://en.wikipedia.org/wiki/Andrew_Koenig_(programmer)%22%20%5Co%20%22en:Andrew%20Koenig%20(programmer)
https://pt.wikipedia.org/wiki/1998%22%20%5Co%20%221998
https://pt.wikipedia.org/wiki/ISO/IEC_14882%22%20%5Co%20%22ISO/IEC%2014882
https://pt.wikipedia.org/wiki/2003%22%20%5Co%20%222003
https://pt.wikipedia.org/wiki/1999%22%20%5Co%20%221999
https://pt.wikipedia.org/wiki/Compilador%22%20%5Co%20%22Compilador
https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_Java
https://pt.wikipedia.org/wiki/Linguagem_de_descri%C3%A7%C3%A3o_de_interface
https://pt.wikipedia.org/wiki/CORBA%22%20%5Co%20%22CORBA
https://pt.wikipedia.org/wiki/C_Sharp%22%20%5Co%20%22C%20Sharp
5
Caracter ísticas do C++.
C++ pode ser visto como uma linguagem procedimental tradicional com alguns construtores
adicionais. Começando pelo C, alguns construtores para programação orientada a objetos e para
melhorar a sintaxe procedimental foram acrescentados.
Um programa bem escrito em C++ irá refletir elementos tanto do estilo de programação
orientada a objetos como programação procedimental clássica. Isto porque o C++ é na verdade uma
linguagem extensível já que podemos definir novos tipos de tal maneira que eles agem de mesmo
modo que os tipos pré-definidos que fazem parte da linguagem padrão.
Abaixo estão listados itens que caracterizam a linguagem C++:
• Programação Orientada à Objetos: A possibilidade de utilizar programação orientada a
objetos permite ao programador projetar aplicações de um ponto de vista mais parecido com
comunicação entre objetos que de uma seqüência estruturada de código. Alem disso, permite
a reusabilidade de código de uma forma mais lógica e produtiva. A linguagem foi
desenvolvida com o cuidado de prover atributos Orientados à Objeto para a linguagem C
sem comprometer a eficiência;
• Portabilidade: Pode-se praticamente compilar o mesmo código C++ em qualquer tipo de
computador e sistema operacional sem fazer grandes mudanças. C++ é uma das mais usadas
e portadas linguagens de programação;
• Brevidade: Código escrito em C++ é muito menor em comparação com outras linguagens,
desde o uso de caracteres especiais e preferidos antes de palavras chave, evitando esforço;
• ProgramaçãoModular: Um corpo de aplicação em C++ pode ser feita de vários arquivos de
código que serão compilados separadamente e “linkados” juntos. Economizando tempo, pois
não é necessário recompilar toda a aplicação quando se faz uma mudança simples, mas
apenas aquele arquivo que a contem. Alem do mais, esta característica permite C++ ligar
com código produzido em outras linguagens como o Assembler ou C;
• Compatibilidade com C: Qualquer código escrito em C pode ser facilmente incluído em um
programa C++ sem fazer grandes mudanças;
• Velocidade: O código resultante de uma compilação C++ é muito eficiente, devido a sua
dualidade de linguagem de Alto e Baixo nível e do tamanho reduzido da linguagem em si;
• Não há um "dono" da linguagem. Há vários compiladores e sistemas operacionais que
utilizam o padrão C/C++ ANSI. Isto significa na prática que esta linguagem tem inúmeros
patrocinadores, famosos e anônimos. Isto mantém o suporte sempre muito atualizado e
disponível pela internet.
• C++ é desenvolvido para fornecer ao programador múltiplas escolhas, mesmo que seja
possível ao programador escolher a opção errada.
6
Criticas
" C faz com que dar um tiro no pé seja fácil; C++ torna isso mais difícil, mas quando nós o
fazemos arrebentamos com a perna toda. " - Bjarne Stroustrup
A linguagem é por vezes criticada como sendo muito complicada e, portanto, difícil de dominar
completamente, porque ele inclui a maior parte da linguagem de programação C como um
subconjunto. C++ também herda muitas das críticas feitas ao C.
Outras críticas relacionam-se à ausência de funcionalidades, como a falta de facilidades
multithreading "nativas" -- recurso presente em alguns outros idiomas como, por exemplo, Ada, C#
e Java. O atual padrão C++11 resolve este problema, adicionando suporte para concorrência direta
com a linguagem, mas no momento isto só é possível usando chamadas do sistema operacional ou
bibliotecas de terceiros.
C++ também é por vezes comparada desfavoravelmente com linguagens como Eiffel, Java ou
Smalltalk por permitir aos programadores "misturar e combinar" estilos de programação declarativa,
funcional, genérico, modular, e processuais com programação orientada a objetos, ao invés de
estritamente impor um estilo único, embora C++ seja intencionalmente uma linguagem multi-
paradigma.
Um artigo satírico amplamente distribuído apresenta uma suposta entrevista com Bjarne
Stroustrup em 1998 que seria publicada na revista Computer, editada pela IEEE Computer Society.
Nela haveria a confissão de que C++ foi deliberadamente concebida para ser complexa e difícil,
com o intuito de eliminar programadores amadores e elevar os salários dos poucos programadores
capazes de dominar a linguagem. A seção FAQ do site pessoal Stroustrup contém uma negação e
um link para a entrevista real.
Outro ponto de crítica é a característica de herança múltipla, cujo uso descuidado produz uma
codificação confusa e de manutenção difícil. Um exemplo é o problema conhecido como Diamond
problem.
Ambiente da Linguagem
O C++ pode ser chamado de linguagem compilada, ou seja, além de escrever o código, é
necessário um outro software que possa entender esse código e traduzí-lo para uma sintaxe que o
computador possa interpretar denominado Código de Máquina.
É necessário um editor de texto puro (como o Bloco de Notas) e um compilador para o
desenvolvimento de aplicativos na linguagem C++, nesse caso quando o programador digitar o
código-fonte o mesmo deve ser salvo com a extensão .CPP ao invés de .TXT, em seguida o
índividuo deve abrir o prompt digitar o comando de compilação do compilador instalado (por
exemplo no compilador Borland C++Builder 3.0 o respectivo comando de compilação é bcc32)
seguido pelo nome do arquivo salvo.CPP, ou então o programador pode optar por utilizar um
Ambiente de Desenvolvimento Integrado (IDE - Integrated Development Environment) para
otimizar o desenvolvimento de suas aplicações.
https://en.wikipedia.org/wiki/IEEE_Computer
https://en.wikipedia.org/wiki/Diamond_problem
https://en.wikipedia.org/wiki/Diamond_problem
7
Apresentação da linguagem c++
Sintaxe da linguagem c++:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
cout<<“Olá Mundo”<<endl;
return 0;
}
Os comandos de entrada e saída em C++ são: Cout e cin.
8
A linguagem C#, faz parte do conjunto de ferramentas oferecidas na plataforma .NET e
surge como uma linguagem simples, robusta, orientada a objetos, fortemente tipada e
altamente escalável a fim de permitir que uma mesma aplicação possa ser executada em
diversos dispositivos de hardware, independentemente destes serem PCs, handhelds ou
qualquer outro dispositivo móvel.
O avanço das ferramentas de programação e dos dispositivos eletrônicos inteligentes,
criou problemas e novas exigências. As novas versões de componentes compartilhados
eram incompatíveis com o software antigo. Os desenvolvedores reconheceram a
necessidade de software que fosse acessível para qualquer um e disponível por meio de
praticamente qualquer tipo de dispositivo. Para tratar dessas necessidades, a Microsoft
anunciou sua iniciativa .NET e a linguagem de programação C#.
Durante o desenvolvimento da plataforma .NET, as bibliotecas foram escritas
originalmente numa linguagem chamada Simple Managed C (SMC), que tinha um
compilador próprio. Mas, em Janeiro de 1999, uma equipe de desenvolvimento foi formada
por Anders Hejlsberg, que fora escolhido pela Microsoft para desenvolver a linguagem. Dá-
se início à criação da linguagem chamada Cool. Um pouco mais tarde, em 2000, o projeto
.NET era apresentado ao público na Professional Developers Conference (PDC), e a
linguagem Cool fora renomeada e apresentada como C#.
A criação da linguagem, embora tenha sido feita por vários programadores, é atribuída
principalmente a Anders, hoje um Distinguished Engineer na Microsoft. Ele fora o
arquiteto de alguns compiladores da Borland, e entre suas criações mais conhecidas estão o
Turbo Pascal e o Delphi.
A Microsoft submeteu o C# à ECMA para uma padronização formal. Em Dezembro de
2001 a associação liberou a especificação ECMA-334 Especificação da Linguagem C#. Em
2003 tornou-se um padrão ISO (ISO/IEC 23270). Há algumas implementações em
desenvolvimento, destacando-se a Mono, implementação open source da Novell, o dotGNU
e o Portable.NET, implementações da Free Software Foundation, e o BDS 2008,
implementação da CodeGear.
Caracter ísticas do C#
• Orientada a Objetos
• Não há variáveis ou funções globais. Todos os métodos e atributos devem ser declarados
dentro de classes. Atributos e métodos estáticos de classes públicas podem servir como
substitutos para variáveis e métodos globais.
• Apontadores • Em C#, apontadores só podem ser usados dentro de blocos especificamente
marcados como inseguros. Programas com código inseguro precisam das permissões
apropriadas para serem executados.
• Memória Gerenciada • Em C# a memória não precisa ser explicitamente liberada. Ao invés
disso ela é automaticamente gerenciada por meio do Garbage Collector (coletor de lixo), que
constantemente percore a memória alocada para verificar se ela ainda é necessária,
eliminando assim o risco de vazamentos de memória.
• Tipagem Forte
https://pt.wikipedia.org/wiki/Biblioteca_(computa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Anders_Hejlsberg%22%20%5Co%20%22Anders%20Hejlsberg
https://pt.wikipedia.org/wiki/Microsoft%22%20%5Co%20%22Microsoft
https://pt.wikipedia.org/wiki/Borland%22%20%5Co%20%22Borland
https://pt.wikipedia.org/wiki/Turbo_Pascal%22%20%5Co%20%22Turbo%20Pascal
https://pt.wikipedia.org/wiki/Embarcadero_Delphi%22%20%5Co%20%22Embarcadero%20Delphi
https://pt.wikipedia.org/wiki/Microsoft%22%20%5Co%20%22Microsoft
https://pt.wikipedia.org/wiki/ECMA%22%20%5Co%20%22ECMA
https://pt.wikipedia.org/wiki/Padr%C3%A3o
https://pt.wikipedia.org/wiki/2001%22%20%5Co%20%222001
https://pt.wikipedia.org/wiki/2003%22%20%5Co%20%222003
https://pt.wikipedia.org/wiki/Organiza%C3%A7%C3%A3o_Internacional_para_Padroniza%C3%A7%C3%A3o
https://pt.wikipedia.org/wiki/Mono_(projeto)%22%20%5Co%20%22Mono%20(projeto)https://pt.wikipedia.org/wiki/Open_source%22%20%5Co%20%22Open%20source
https://pt.wikipedia.org/w/index.php?title=Novell_(empresa)&action=edit&redlink=1
https://pt.wikipedia.org/wiki/DotGNU%22%20%5Co%20%22DotGNU
https://pt.wikipedia.org/w/index.php?title=Portable.NET&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Free_Software_Foundation%22%20%5Co%20%22Free%20Software%20Foundation
https://pt.wikipedia.org/wiki/BDS%22%20%5Co%20%22BDS
https://pt.wikipedia.org/wiki/CodeGear%22%20%5Co%20%22CodeGear
9
• C# é mais fortemente tipada do que C++: as única conversões implícitas por default são
aquelas que são consideradas seguras, como por exemplo o armazenamento de um inteiro
em um tipo de dados maior ou a conversão de um tipo derivado para um tipo base. Não há
conversão implícita entre booleanos e inteiros.
Apresentação da linguagem c#:
Sintaxe da linguagem c#:
Using system;
Using system.collections.generic;
Using system linq;
Using system text;
namespace Trabalho
{
class program
{
static void main (string [] args)
{
console.writeline (“Olá Mundo”);
console.readline();
}
}
}
Os comandos de entrada e saída em c# são: Console.write, Console.writeline e o console.readline
10
Áreas de Aplicações
Como todos sabem, a linguagem C# é aplicado ao desenvolvimento de páginas
dinâmicas para WEB, programação comercial e desenvolvimento de sistemas em Windows.
Assim como C e C++, C# é uma linguagem para programadores. É também uma
linguagem preferencial para se programar em .NET. Outro fato não mencionado é de que
C# serviu de base para criação de outras linguagens, tais como, Cω, J# e Nemerle.
http://pt.wikipedia.org/wiki/C%C3%8F%E2%80%B0
http://pt.wikipedia.org/w/index.php?title=Nemerle&action=edit
11
Impor tância
A linguagem de programação C++ foi a programação orientada à objetos pois, possibilita ao
programador projetar aplicações de um ponto de vista mais parecido, com comunicação entre
objetos. O programador pode programar tanto em alto nível como em baixo nível, entre outras
coisas. Porém, devido à semelhança que possui com a linguagem de programação C, herdou os seus
problemas de entendimento de sintaxe.
C++ foi escolhida por possuir uma proposta de uso genérico, ser rápido e portável para diversas
plataformas e também por apresentar grandes possibilidades para a metaprogramação e
programação genérica.
12
Vantagens e Desvantagens
Vantagens do C#
• Maior interatividade com os internautas;
• Recursos do ambiente windows;
• Programação orientada a objetos;
• Não é preciso registrar componentes;
• Uso de eventos nos controles;
• Validação de dados;
• Manipular bancos de dados desconectados;
• Tratamento de erros;
• COM, COM+ e DCOM (tecnologias comerciais);
• SOAP / XML (tecnologias de interação com outras plataformas);
• Roda em qualquer plataforma;
• Roda em qualquer browser;
• Instalação de arquivos.
Desvantagens do C#
• Os programas e componentes antigos devem ser reescritos;
• Difícil aprendizado para programadores mais ortodoxos;
• Não é uma linguagem de médio nível.
Vantagens do C++
• Produção de código o quanto mais eficiente possível;
• Possibilidade em programação de alto e baixo nível;
• Alta flexibilidade, portabilidade e consistência;
• Adequado para grandes projetos;
• Não está sob o domínio de uma empresa (em contraste do Java — Sun ou Visual Basic —
Microsoft);
• Padronização pela ISO;
• Grandes possibilidades para a metaprogramação e programação genérica;
• Compatibilidade com C, resultando em vasta base de códigos.
Desvantagens do C++
• Compatibilidade com o C, herdou os problemas de entendimento de sintaxe do mesmo;
13
• Os compiladores atuais nem sempre produzem o código mais otimizado, tanto em
velocidade quando tamanho do código;
• Grande período para o aprendizado;
• A biblioteca padrão não cobre áreas importantes da programação, como threads, conexões
TCP/IP, interface gráfica e manipulação de sistemas de arquivos, o que implica a
necessidade de criação de bibliotecas próprias para tal, que pecam em portabilidade;
• Devido à grande flexibilidade no desenvolvimento, é recomendado o uso de padrões de
programação mais amplamente que em outras linguagens.
14
Diferenças e Semelhanças
Semelhanças
A declaração de variáveis é feita da mesma maneira;
Os operadores aritméticos e as suas funções são representados da mesma
maneira;
As exceções em C# não são Verificadas (assim como em C++);
As estruturas de Decisão e a estrutura de seleção possuem as mesma sintaxes,
nas duas linguagens;
As estruturas de Repetição também possuem a mesma sintaxe em ambas as
linguagens.
Diferenças
• C++ não possui modelos (templates), mas C# 2.0 possui genéricos (generics);
• A nivel da sintaxe, o c# não permite parâmetros do modo sem tipo de dado;
• C++ é uma evolução orientado a objetos da linguagem C enquanto C# é a linguagem de
programação usada nas tecnologias .net da Microsoft
•
• Os genéricos C# não oferecem a mesma flexibilidade que os modelos C++. Por exemplo, não é
possível chamar os operadores aritméticos em uma classe genérica C#, embora seja possível
chamar operadores definidos pelo usuário.
• O C# não permite parâmetros de modelo sem tipo, como template C<int i> {}.
• O C# não dá suporte à especialização explícita ou seja, uma implementação personalizada de
um modelo para um tipo específico.
• O C# não dá suporte à especialização parcial: uma implementação personalizada para um
subconjunto dos argumentos de tipo.
• O C# não permite que o parâmetro de tipo a ser usado como a classe base para o tipo genérico.
15
• O C# não permite que os parâmetros de tipo tenham tipos padrão.
• No C#, um parâmetro de tipo genérico não pode ser genérico, embora os tipos construídos
possam ser usados como genéricos. O C++ permite parâmetros de modelo.
• O C++ permite o código que pode não ser válido para todos os parâmetros de tipo no modelo,
que é então verificado para o tipo específico usado como o parâmetro de tipo. O C# requer código
em uma classe a ser gravada de forma que ele funcionará com qualquer tipo que satisfaça as
restrições. Por exemplo, em C++ é possível escrever uma função que usa os operadores
aritméticos + e - em objetos do parâmetro de tipo, que produzirá um erro no momento da
instanciação do modelo com um tipo que não dá suporte a esses operadores. O C# não permite
isso. Os únicos constructos da linguagem permitidos são os que podem ser deduzidos das
restrições.
16
Conclusão
Com base no que foi apresentado as linguagens (c# e c++), são linguagens muito
importantes em programação, para o desenvolvimento de aplicativos e não só.
Essas linguagens podem também ser usadas também no desenvolvimento de páginas
dinâmicas web, porém também são muito usadas no desenvolvimento de sistema em
windows e criação de aplicativos.
17
Sugestões
18
Anexos
BJARNE STROUSTRUP -
DESENVOLVEDORDA LINGUAGEMDE
PROGRAMAçãO C++.
ANDERS HEJLSBERG - CRIADORDO C#.
ALEXANDER STEPANOV - PROGRAMADOR
https://pt.wikipedia.org/wiki/Bjarne_Stroustrup%22%20%5Co%20%22Bjarne%20Stroustrup
https://pt.wikipedia.org/wiki/Alexander_Stepanov%22%20%5Co%20%22Alexander%20Stepanov
19
Referências Bibliográficas
https://pt.wikipedia.org/wiki/C_Sharp
https://pt.wikipedia.org/wiki/C%2B%2B
https://www.infoescola.com/informatica/c-sharp/
https://www.infoescola.com/informatica/cpp/
https://www.devmedia.com.br /introducao-a-linguagem-csharp/27711
AulasCs(1Bim).pdf
http://www.cenapad.unicamp.br /servicos/treinamentos/apostilas/apostila_C.pdf
http://informatica.hsw.uol.com.br /programacao-em-c.htm
http://www.tiexper t.net/programacao/c/introducao-c.php
http://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)#Fer ramen
tas_de_programa.C3.A7.C3.A3o
http://pt.wikibooks.org/wiki/Programar_em_C/Hist%C3%B3ria_da_linguagem_C#Desenv
olvimentos_iniciais
http://pt.wikipedia.org/wiki/C%2B%2B
http://www.dca.ufrn.br /~xamd/dca0800/apostila_C.pdf
http://www6.ufrgs.br /engcar t/PDASR/linguagens.html#3
http://www.ime.usp.br /~ueda/ldoc/notas-c.html
http://www.numaboa.com.br /informatica/tutos/chttp://www.xmarks.com/site/www.global.estgp.pt/engenhar ia/Alunos/eSebentas/Tutor iais/c.
htm
http://paginas.fe.up.pt/~jms/SUC/AulaLab3.pdf
http://www.tiexper t.net/programacao/algor itmo/lista-compiladores-c.php
http://www2.research.att.com/~bs/iso_release.html
http://www.cplusplus.com/info/history/
http://www2.research.att.com/~bs/
http://harmful.cat-v.org/software/c++/I_did_it_for_you_all
http://en.wikipedia.org/wiki/C%2B%2B#cite_note-42
http://es.wikipedia.org/wiki/C%2B%2B
http://www.dca.ufrn.br /~xamd/dca0800/apostila_C.pdf
http://www.youtube.com/watch?v=YYm4tzuSCy0
https://www.infoescola.com/informatica/c-sharp/
https://www.devmedia.com.br/introducao-a-linguagem-csharp/27711
http://www.cenapad.unicamp.br/servicos/treinamentos/apostilas/apostila_C.pdf
http://informatica.hsw.uol.com.br/programacao-em-c.htm
http://www.tiexpert.net/programacao/c/introducao-c.php
https://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)#Ferramentas_de_programa.C3.A7.C3.A3o
https://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)#Ferramentas_de_programa.C3.A7.C3.A3o
https://pt.wikibooks.org/wiki/Programar_em_C/Hist%C3%B3ria_da_linguagem_C#Desenvolvimentos_iniciais
https://pt.wikibooks.org/wiki/Programar_em_C/Hist%C3%B3ria_da_linguagem_C#Desenvolvimentos_iniciais
https://pt.wikipedia.org/wiki/C%2B%2B
http://www.dca.ufrn.br/~xamd/dca0800/apostila_C.pdf
http://www6.ufrgs.br/engcart/PDASR/linguagens.html#3
http://www.ime.usp.br/~ueda/ldoc/notas-c.html
http://www.numaboa.com.br/informatica/tutos/c
http://www.xmarks.com/site/www.global.estgp.pt/engenharia/Alunos/eSebentas/Tutoriais/c.htm
http://www.xmarks.com/site/www.global.estgp.pt/engenharia/Alunos/eSebentas/Tutoriais/c.htm
http://paginas.fe.up.pt/~jms/SUC/AulaLab3.pdf
http://www.tiexpert.net/programacao/algoritmo/lista-compiladores-c.php
http://www2.research.att.com/~bs/iso_release.html
http://www.cplusplus.com/info/history/
http://www2.research.att.com/~bs/
http://harmful.cat-v.org/software/c++/I_did_it_for_you_all
https://en.wikipedia.org/wiki/C%2B%2B#cite_note-42
https://es.wikipedia.org/wiki/C%2B%2B
http://www.dca.ufrn.br/~xamd/dca0800/apostila_C.pdf
https://www.youtube.com/watch?v=YYm4tzuSCy0

Continue navegando