segunda-feira, 3 de março de 2008

1.0 - Introduction to C++

Professor de programação falou que deveríamos saber pelo menos três linguagens, já que HTML e CSS não contam(~.~), vou começar a estudar C++ e ... (três pontinhos aqui, ainda não me decidi).

Achei vários¹²³ sites que ensinam C++, mas achei esse aqui particulamente bom. Para uma melhor compreensão, estou traduzindo as partes importantes e complemento-as com textos da Wikipédia(wiki-addict @¬@). Para quem quizer compartilhar deste conhecimento, aí vai:

1.0 - Introdução à C/C++

História

C

A linguagem "C" foi desenvolvida em 1972 por Dennis Richies do Laboratório de Telefones Bell(Bell Labs), primeiramente como uma linguagem de programação para sistemas, ou seja, uma linguagem para escrever programas operacionais. Os principais objetivos de Richie eram criar uma linguagem minimalista que fosse fácil de compilar, permitisse acesso eficiente à memória, produzisse um código eficiente e que não precisasse de suporte extensivo. Apesar de ser uma linguagem de programação de alto nível com facilidades para o uso em baixo nível, foi desenvolvida para encorajar a programação independente de máquina e plataforma.

C acabou sendo tão eficiente e flexível que, em 1973, Ritchie e Ken Thompson reescreveram a maior parte do sistema operacional UNIX em C. A excelente portabilidade de C permitiu que o UNIX fosse recompilado em muitos tipos diferentes de computadores, acelerando sua adoção. C e UNIX tiveram seus destinos interligados, e parte da popularidade de C foi atada ao sucesso do UNIX como um SO.

C++

Bjarne Stroustrup desenvolveu o C++ (originalmente com o nome C with Classes) em 1979 na Bell Labs, como um adicional à linguagem C. Após a padronização ISO realizada em 1998 e a posterior revisão realizada em 2003, uma nova versão do padrão da linguagem está em desenvolvimento. Conhecida informalmente como C++0x, com lançamento previsto para antes de 2010.

Filosofia

A subjacente filosofia de design do C e C++ pode ser resumida como "Confie no Programador" - que é tanto maravilhosa, porque o compilador não ficará no seu caminho caso você tente fazer algo inortodoxo mas que faça sentido, quanto perigosa, porque o compilador não ficará no seu caminho caso você tente fazer algo que produzirá resultados inesperados. Essa é uma das principais razões porquê saber como NÃO codificar em C/C++ é importante.

Do livro "In The Design and Evolution of C++" (1994), de Bjarne Stroustrup:

  • C++ é desenvolvido para ser uma linguagem tipada estaticamente e de proposta geral que é tão eficiente e portável quanto o C.
  • C++ é desenvolvido para suportar múltiplos paradigmas.
  • C++ é desenvolvido para fornecer ao programador escolhas, mesmo que seja possível ao programador escolher a opção errada.
  • C++ é desenvolvido para ser o quanto mais compatível com C possível, fornecendo transições simples para código C.
  • C++ evita fornecer facilidades que são específicas a certas plataformas ou a certos grupos de desenvolvedores.
  • C++ não exige overhead para facilidades que não são utilizadas.
  • C++ é desenvolvido para ser utilizado mesmo sem um ambiente de desenvolvimento sofisticado(ou seja, abra o notepad++ e codifique na raça x]).

Nenhum comentário: