Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Programação 1

9,402 views

Published on

  • Be the first to comment

Programação 1

  1. 1. As Línguagens de Programação Escola Secundária de Santo André Curso EFA - Dupla Certificação - Instalação e Manutenção de Sistemas Informáticos - Turma 4S Anabela Alcântara Sandra Gonçalves 03-12-2009
  2. 2. Índice Introdução........................................................................................................................................................ 3 Tipos de linguagens ......................................................................................................................................... 4 Por níveis ..................................................................................................................................................... 4 Linguagens de baixo nível ....................................................................................................................... 4 Linguagem de alto nível .......................................................................................................................... 5 Paradigmas .................................................................................................................................................. 6 Imperativo ............................................................................................................................................... 6 Orientado a objectos ................................................................................................................................ 6 Paradigma lógico ..................................................................................................................................... 6 Por geração .............................................................................................................................................. 6 Evolução das linguagens ................................................................................................................................. 7 Compiladores vs Interpretadores ..................................................................................................................... 8 Cronologia das linguagens de programação .................................................................................................. 10 Conclusão ...................................................................................................................................................... 18 BIBLIOGRAFIA ........................................................................................................................................... 19 2
  3. 3. Introdução O computador possuí a capacidade de efectuar cálculos a uma velocidade que os humanos nunca conseguirão, mas para isso, é necessário que o computador saiba o que fazer, para tal devemos dizer-lhe o que deve ser calculado e como deve ser efectuado esse cálculo. É através das linguagens de programação que podemos descrever algoritmos, isto é, permitem ao utilizador informar o computador através de sequencias, quais os passos que estes devem efectuar para chegar á solução de um problema. Os computadores conseguem apenas entender infindáveis sequências de números binários, o fornecimento dessas instruções em 0s e 1s é muito penoso para o ser humano. Para facilitar essa comunicação entre humanos e máquinas começaram a ser desenvolvidas linguagens de programação, diferentes em termos de sintaxe e recursos, mas todas elas com um ponto em comum: o compilador. Seja qual for a linguagem de programação utilizada, o humano usa um editor para escrever a sequência de passos e assim construir um programa, mediante a linguagem escolhida, devem ser respeitadas as regras de sintaxe para que o compilador as transforme em linguagem que o computador entenda. Da compilação resulta um conjunto de instruções binárias que serão então executadas pelo processador. Dependendo dos problemas a serem resolvidos, as formas de especificação e tratamento podem ser distintas. Actualmente existem inúmeras linguagens de programação distintas, mais ainda, continuam a ser criadas, desenvolvidas, melhoradas ou mesmo substituídas. Para quem domina apenas uma ou duas linguagens de programação este cenário parece desanimador, de certo modo para o iniciante é difícil encontrar respostas a perguntas do tipo, como conseguir dominar rapidamente uma nova linguagem de programação? Qual a melhor linguagem para realizar uma determinada tarefa? Embora á partida pareça uma missão impossível, as semelhanças entre as linguagens são bastantes. Esta caracterização será mais fácil quando enquadradas numa perspectiva histórica de evolução das diversas linguagens, só assim se podem compreender de certo modo, as motivações, funções e 3
  4. 4. objectivos da criação dos diferentes paradigmas relativamente às linguagens de programação e dentro destas as especificações de cada linguagem. Este trabalho compara os diferentes paradigmas, sendo apresentada inicialmente uma caracterização em termos de tipo, a compreensão das razões de ser de certas características e do porquê se certas semelhanças através do estudo da evolução das principais linguagens de programação. Tipos de linguagens Existem diferentes formas de relacionar e representar as linguagens de programação entre si, por níveis, por árvores genealógicas e por geração. Por níveis Segundo o seu âmbito e o seu nível, a disposição hierárquica é a seguinte: Linguagens de baixo nível Estas linguagens dependem totalmente do computador, isto é, o programa desenvolvido com este tipo de linguagem está muito próximo do hardware. È desenhado á medida do hardware e maximiza o aproveitamento das características e recursos do mesmo. Neste nível existem duas linguagens: a linguagem máquina e a linguagem Assembler. A linguagem máquina Ordena as operações fundamentais do computador para o seu correcto funcionamento. Utiliza a combinação de 0s e 1s para formar as ordens que o hardware entende. Este tipo de linguagem é extremamente rápida, a grande desvantagem desta linguagem reside no facto de ser extremamente difícil de programar e o seu enorme código fonte torna-se praticamente impossível ao humano detectar falhas A linguagem Assembler Deriva da linguagem maquina e é formada por palavras-chave denominadas mnemónicas. A sua origem possibilitou a criação de programas tradutores para facilitar a passagem de programas escritos em Assembler para código máquina. A vantagem imediata foi o facto de os programadores necessitarem de escrever os programas com menos linhas de código fonte e os 4
  5. 5. programas criados ocupavam também menos memória. No entanto, esta linguagem não deixava de ser difícil de aprender e de manter. Linguagem de alto nível Os programas são desenvolvidos através de uma linguagem muito próxima á utilizada pelos humanos, cada declaração corresponde a várias declarações da linguagem de baixo nível. Um programa escrito numa linguagem de alto nível é mais fácil de entender e seguir cada passo da sua execução, podem ser encontrados e solucionados problemas mais facilmente e com maior rapidez. São várias as vantagens das linguagens de alto nível e podem ser enumeradas através das seguintes propriedades:  Portabilidade: Um programa escrito em linguagem de alto nível pode ser transportado para qualquer computador que tenha um tradutor apropriado. Em contraste, um programa escrito em baixo nível é específico para um tipo de computador; isto é, se o programador desejar executar este programa num outro computador, o programa terá que ser reescrito.  Legibilidade: Ao contrário das linguagens de baixo nível, as linguagens de alto nível oferecem notações que se assemelham às linguagens humanas. Como consequência, programas escritos em linguagens de alto nível são muito mais fáceis de serem escritos e lidos do que os correspondentes programas escritos em linguagem de baixo nível. Entretanto, escrever um programa numa linguagem de alto nível não garante esta propriedade, a legibilidade de um programa depende também do próprio programador.  Manutenibilidade. A facilidade que um programa tem de ser mantido, isto é, de ser modificado, é denominada manutenibilidade. Esta propriedade está intimamente relacionada com a legibilidade, quanto mais fácil de ser lido um programa é, mais fácil ele será de ser modificado. Portanto, programas escritos em linguagem de alto nível são mais fáceis de serem modificados e depurados do que programas correspondentes escritos em linguagem de baixo nível.  Eficiência. A eficiência de um programa é medida pelo espaço ocupado em memória e pela rapidez com que é executado. Um programa eficiente ocupa pouco espaço e tem uma execução rápida. Diferentes sequências de instruções em linguagem máquina podem resultar em programas que são funcionalmente equivalentes (produzem os mesmos resultados). 5
  6. 6. Paradigmas As principais árvores genealógicas são divididas por diferentes paradigmas de programação, Imperativo e Orientado a objectos. Imperativo Este tipo de linguagens permitem resolver um problema através de uma série de operações elementares denominados “comandos” que o computador consegue compreender e executar. Os comandos são executados em sequência e essa sequência define qual o processo ou procedimento a seguir, permite também o controlo da mudança de estado das variáveis atribuídas. As variáveis e o número da instrução em execução descrevem o estado da execução a qualquer instante da sua execução pelo processador e memória. As linguagens clássicas deste tipo de linguagem são o FORTRAN, PASCAL, COBOL e o C. Orientado a objectos Estas linguagens implicam que organizemos a visão que temos do mundo ou de um problema em termos de objectos, dos seus atributos e operações. Os programas desenvolvidos através destas linguagens são vistos como conjuntos de objectos que interagem e cooperam entre si e trocam mensagens para solucionar um problema. Os objectos com as mesmas características são agrupados em classes, nesse sentido, uma classe é a representação dos potenciais objectos que partilham um conjunto de atributos e operações, exemplo dessas linguagens são o JAVA e o C#. Paradigma lógico Programação baseada em lógica. Exemplo: Prolog Por geração As linguagens agrupam-se segundo um processo de alterações e soluções tecnológicas, este é um processo descontínuo, é comummente aceite a classificação seguinte em 5 gerações: 1ª Geração Linguagem binária, linguagens máquina e Assembly. 2ª Geração Utilizam compiladores (i.e. são baseadas em sistemas que lêem o programa numa destas linguagens e "traduzem", ou compilam, para linguagem binária): COBOL, BASIC, FORTRAN , 3ª Geração Linguagens procedimentais e estruturadas: PASCAL, C 6
  7. 7. 4ª Geração Geradores de programas (i.e. produzem programas noutras linguagens). Linguagens de interrogação (p.ex. para bases de dados): SQL, JAVA, C++. 5ª Geração Linguagens de especificação de problemas: LISP, PROLOG. Evolução das linguagens Para a execução de uma determinada tarefa o computador necessita de informação e esta tem de ser fornecida que de uma forma clara e concreta. A linguagem nativas dos computadores é muito limitada, a construção dessa linguagem é representada apenas por números binários formados a partir de 0s e 1s, cada um destes dígitos é denominado por bit. Os programas escritos através destas combinações de vocabulário binário são denominados programas de linguagem máquina e considerados com do tipo de programação de baixo nível. Estes programas escritos em linguagem máquina eram e são difíceis de escrever, ler e modificar para os humanos. Uma grande melhoria sobre a linguagem máquina foi o aparecimento da linguagem Assembly ou linguagem de montagem. Esta linguagem usa palavras mnemónicas para representar instruções originalmente escritas em linguagem máquina. A linguagem assembly permitiu a primeira utilização de variáveis (posições de memória) controladas pelo programador. A linguagem assembly é desconhecida para o computador que apenas conheces 0s e 1s, para tal os programas escritos em linguagem assembly necessitam de um programa especial chamado asssembler ou montador., este faz a tradução das instruções escritas em assembly para instruções de linguagem máquina. Embora tenha sido uma melhoria considerável para os programadores em relação á linguagem máquina, a escrita de programas em linguagem assembly á bastante difícil e penosa, sendo considerada ainda uma linguagem de baixo nível. No início da era dos computadores, de meados da década de 40 até meados da década de 50 do século XX, todos os programas de computador eram de baixo. A partir da década de 60, começaram a surgir as chamadas linguagens de alto nível, estas introduziram melhoramentos 7
  8. 8. consideráveis para os programadores, nomeadamente ao nível da linguagem, utilizando uma linguagem mais próxima da linguagem humana. O grande avanço destas linguagens foi o facto de elas permitirem aos programadores a especificação de instruções sem a preocupação sobre os detalhes do computador sobre o qual o programa será executado. A grande maioria dos programas actuais são escritos em linguagens de alto nível, mas por questões de eficiências alguns programadores ainda utilizam a linguagem assembly. Compiladores vs Interpretadores Programas escritos em linguagens que não sejam linguagem máquina requerem tradução antes da sua execução pelo computador. Como acima referido, a linguagem assembly necessita de um tradutor chamado assembler que traduz programas escritos através de mnemónicas em linguagem máquina, para cada instrução em assembly, existe uma única instrução em linguagem máquina correspondente, nesse sentido, o assembler é o tipo de tradutor mais simples existente. Nas linguagens de alto nível, uma instrução pode desencadear inúmeras instruções em linguagem maquina, por esse facto essas linguagens requerem tradutores mais complexos. São dois os tipos de tradutores a esse nível: compiladores e interpretadores. Um compilador traduz programas escritos em linguagem de alto nível numa linguagem de baixo nível e é também um programa. Um compilador não depende apenas da linguagem para a qual ele foi programado, mas também do computador no qual vai ser compilado o código fonte. Normalmente, um programa é escrito em partes separadas, e são compiladas autonomamente umas das outras. Com o objectivo de reunir as varias partes de um programa de modo a formar um único modulo executável, utiliza-se um programado chamado link editor. Este programa recebe como entrada um conjunto de programas pré-compilados e faz as ligações entre eles. O resultado dessas ligações é um programa integrado pronto a ser executado. O outro tipo de tradutor é o interpretador. De modo diferente do compilador, um interpretador não traduz um programa inteiro num equivalente em linguagem máquina. No seu lugar ele simula um computador. Cada instrução do programa é traduzida á medida que o programa vai sendo executado. Significa assim que as instruções que são executadas mais do que uma vez, são também traduzidas o mesmo número de vezes, instruções não executadas não são traduzidas, contrariamente ao compilador que traduz todas as instruções do programa uma única vez. 8
  9. 9. Outra diferença importante entre compiladores e interpretadores é que, uma vez o programa compilado, um programa torna-se independente do compilador, isto é, torna-se um programa standalone, enquanto um programa interpretado depende sempre do interpretador para a sua execução. Normalmente os programadores não precisam de perceber como o interpretador traduz os programas para a linguagem máquina durante a escrita do programa, mas obviamente que este conhecimento é essencial na fase de debug do programa. Resumidamente podemos concluir que: COMPILADOR : Este programa faz a tradução do programa escrito numa linguagem compilada, converte o codigo fonte (exemplo : Pascal, C, Visual Basic), traduzindo um ficheiro de texto num ficheiro executável. INTERPRETADOR : Ao executar um programa escrito numa linguagem interpretada (ex: HTML), accionamos um outro programa que faz a tradução em tempo real, linha a linha. Este tipo de programa é chamado de Interpretador (exemplos : Internet Explorer). 9
  10. 10. Cronologia das linguagens de programação FORTRAN (1957) Foi desenvolvida por Backus para computadores IBM, destinou-se a aplicações científicas e deu particular importância á eficiência das máquinas não tinha como foco a eficiência dos programadores. É considerada como o antepassado de todas as linguagens científicas. O nome Fortran deriva de “FORmula TRANslation”, no começo esta linguagem tinha a intenção de traduzir equações científicas para códigos de computadores. A IBM desenvolveu a primeira versão 10
  11. 11. de linguagem FORTRAN entre 1954 e 1957. O FORTRAN foi um programa verdadeiramente revolucionário, antes dele todos os programas de computadores eram lentos, tendenciosos e originavam muitos erros. Nos primeiros tempos, o programador podia escrever o algoritmo desejado como uma série de equações algébricas padronizadas e o compilador FORTRAN podia converter as declarações em linguagem de máquina que computador reconhecia e executava. A linguagem FORTRAN original era bastante pequena em comparação com as versões modernas. Esta contem apenas um número limitado de declarações tipo, só se podia trabalhar com o tipo “integer” (inteiro) e “real” (real) e também não havia subrotinas. Quando se começou a usar este programa regularmente verificou-se a existência de diversos erros. A IBM perante estes problemas lançou o FORTRAN II em 1958. O desenvolvimento continuou em 1962, com o lançamento do FORTRAN IV. FORTRAN IV tinha muitos melhoramentos e por isso tornou-se a versão mais utilizada nos 15 anos seguintes. Em 1966 o FORTRAN IV foi adoptado como um padrão ANSI e passou a ser conhecido como FORTRAN 66. A linguagem FORTRAN recebeu outra actualização muito importante em 1977. O FORTRAN 77 incluía muitas novas características, que permitiram escrever e guardar mais facilmente programas estruturados. O FORTRAN 77 introduziu novas estruturas, como o bloco IF e foi a primeira versão de Fortran em que as variáveis “character” (caracteres) eram realmente fáceis de manipular. Esta linguagem torna-se um pouco limitada em termos de estruturas de informação e, também por só permitir a codificação de algumas figuras de programação estruturada. O melhoramento seguinte foi importante e deu origem ao Fortran 90. Este incluía todo o FORTRAN 77 como base e com mudanças significativas, mudanças nas operações sobre tabelas (array); na parametrização das funções intrínsecas, permitindo assim utilizar uma sequência de caracteres muito grande, como também usar mais do que dois tipos de precisão para variáveis do tipo Real e Complex; houve um aperfeiçoamento da computação numérica com a inclusão de um conjunto de funções numéricas, e no desenvolvimento de um conjunto de funções e subrotinas que permitem quer aceder com maior facilidade a bibliotecas de programas, quer auxiliar na definição de dados globais; na capacidade de escrever procedimentos internos e recursivos, como também chamar os procedimentos através de argumentos, sendo estes, opcionais ou obrigatórios; na implementação do conceito de apontadores. No conjunto, os novos aspectos contidos no Fortran 90 fazem com que esta, seja considerada a linguagem mais eficiente da nova geração de super computadores, e asseguram que o FORTRAN continuará a ser usado com sucesso por muito tempo. Fortran 90 foi seguido por um pequeno melhoramento chamado Fortran 95, em 1997. Este possui novas características para a linguagem. Também foram clarificadas algumas das ambiguidades do Fortran 90. Mas o FORTRAN até hoje revelou 11
  12. 12. superioridade em relação aos seus competidores, nas áreas de aplicações de engenharia e científicas. LISP (1959) É uma linguagem de alto nível, criada por John McCarty em 1959, tendo em vista facilitar a programação de sistemas de raciocínio baseados em lógica. Foi adoptada como linguagem principal em investigação em Inteligência Artificial (1956). É uma das linguagens de alto nível com menos restrições de sintaxe. O LISP foi originalmente desenhado para ser uma linguagem interpretada, a interface consistia de um editor e um interpretador, tornavam o desenvolvimento de programas de forma incremental mais simples, permitia testes a módulos separados, uma das principais características era a maior velocidade de execução ALGOL (1960) A linguagem ALGOL-60 (Algorithmc Language) foi criada por um comité em 1960. Em muitos aspectos, a linguagem ALGOL-60 provou ser revolucionária para a época. Entre estes aspectos destacam-se a estrutura de blocos, declarações explícitas de variáveis, regras para variáveis locais, rotinas recursivas numa linguagem imperativa (LISP já oferecia esta capacidade como linguagem funcional ), expressões “if” encadeadas e tempos de vida dinâmicos para variáveis. ALGOL 60 não se tornou um sucesso em termo de vendas, entre as razões apontadas estão o interesse da IBM em investir em seu FORTRAN e a falta de comandos de entrada e saída, pois a linguagem tinha sido projectada com a intenção de ser independente da máquina. Uma forma nova de passagem de parâmetros surgiu com o ALGOL-60: a passagem de parâmetros por nome (call-by-name). COBOL (1960) COBOL é uma linguagem de terceira geração, ou seja, uma linguagem criada para ser facilmente interpretada pelo ser humano. O nome vem da abreviatura das palavras COmmon Business Oriented Language, linguagem orientada a negócios. Em 1959 foi formado um comité no pentágono (Estados Unidos da América) para a criação das directrizes de uma nova linguagem de programação virada para negócios, esse comité era formato por pessoas da IBM, RCA e Sylvania Eletric Products. No final do ano de 1959 terminaram as especificações sobre o COBOL, baseado nas linguagens FLOW-MATIC e COMTRAN. As directrizes foram aprovadas pelo pentágono e em 1960 foi lançado o COBOL 60. 12
  13. 13. O COBOL demorou apenas seis meses a ficar pronto e até os dias de hoje é fortemente utilizado. As aplicações actualmente desenvolvidas em COBOL correm em plataformas MAINFRAME IBM z/OS. A velocidade de processamento do COBOL nessa plataforma, aliada com a base de dados DB2 é impressionante, são capazes de processar milhões de transacções num espaço de tempo muito curto. As instituições públicas, financeiras e grandes empresas privadas possuem a grande parte dos seus sistemas de processamento de dados desenvolvidos em COBOL. Actualmente através de outras linguagens de programação estão a ser criadas interfaces de interacção com os utilizadores, mas todo processamento de dados é realizado por programas COBOL, por exemplo: no acesso através da internet aos sites dos principais bancos ou através do multibanco, as interfaces são desenvolvidas em PHP, JSP, Java, C e outras, essas interfaces apenas exibem os dados, todo o processamento pesado é realizado por programas em COBOL. O COBOL não parou no tempo, durante os 47 anos desde sua criação ele evoluiu, hoje existe o COBOL padrão 2002 que suporta o paradigma de programação orientada a objectos e diversas outras características das linguagens de programação modernas. BASIC (1964) BASIC (acrónimo para Beginners All-purpose Symbolic Instruction Code), foi uma linguagem de programação criada com fins didácticos, pelos professores John George Kemeny e Thomas Eugene Kurtz em 1964 no Dartmouth College. A finalidade do BASIC era apenas didáctica mas por alguns anos foi utilizada como principal linguagem de programação da maioria dos primeiros computadores pessoais e foi a base para muitas das linguagens utilizadas na actualidade, algumas mantiveram o acrónimo e outras apenas conservaram parte da estrutura do BASIC acrescentando mais código. A linguagem BASIC é construída a partir de palavras de utilização corrente (em inglês) para atribuição de valores a variáveis e comandos, dispostos em linhas numeradas que são interpretados por um compilador em tempo de execução e que processa cada comando sequencialmente. Hoje em dia praticamente não se utiliza a linguagem BASIC em nenhum computador, ela foi substituída por linguagens estruturadas e orientadas a objectos e hoje praticamente tudo é efectuado através do rato, cujos comandos são interpretados por milhares de bibliotecas em linguagens proprietárias, incorporadas nos sistemas operativos. 13
  14. 14. No entanto linguagens como FLASH, JAVA, DELPHI e outras, tem alguma similaridade com o BASIC e guardam algumas das particularidades do BASIC original, só que estas linguagens exigem um tempo de aprendizado mais prolongado, devido à quantidade e complexidade de alguns comandos. PASCAL (1971) Em 1971 o professor Niklaus Wirth criou uma linguagem de programação no âmbito de um trabalho académico para alunos de programação da Universidade Técnica de Zurique, Suíça. A essa linguagem chamou Pascal, homenageando o filósofo e matemático do século XVII, Blaise Pascal. A partir dessa época, diversas versões de Pascal foram implementadas, com destaque especial a Borland / Inprise, que construiu os melhores e mais populares compiladores Pascal. Desde a sua primeira versão, o compilador Pascal da Borland (chamado de Turbo Pascal) já possuía ambiente para edição e debug do código fonte, fazia a compilação e link edição do código num único processo. Outra característica dos compiladores Turbo Pascal: são extremamente rápidos e geram executáveis limpos com código nativo. O Pascal tornou-se desde então a linguagem preferida nos meios académicos para a aprendizagem da lógica de programação estruturada e ainda hoje para tal fim é utilizada. C (1972) Desenvolvida nos laboratórios Bell na década de 70, a partir da Linguagem B (criada no final dos anos 60 por Ken Thompson), que foi reformulada por Brian Kernighan e Dennis M. Ritchie e posteriormente renomeada para C. Podendo ser considerada como uma linguagem de nível médio, possui instruções que a tornam ora uma linguagem de alto nível e estruturada como o Pascal, ora numa linguagem de baixo nível pois possui instruções muito próximas da máquina, que só o Assembler possui. De facto com a linguagem C podemos construir programas organizados e concisos ocupando pouco espaço de memória com alta velocidade de execução. Infelizmente, dada toda a 14
  15. 15. flexibilidade da linguagem, também podemos escrever programas desorganizados e difíceis de serem compreendidos (como usualmente são os programas em BASIC). A linguagem C foi desenvolvida a partir da necessidade de se escrever programas que utilizassem recursos próprios da linguagem de máquina de forma mais simples e portável que o assembler. São inúmeras razões para a escolha da linguagem C como a predilecta para os programadores "profissionais". As seguintes características da Linguagem C servem para mostrar o porquê de sua ampla utilização:  Portabilidade entre máquinas e sistemas operacionais.  Dados compostos em forma estruturada.  Programas Estruturados.  Total interacção com o Sistema Operacional. o Código compacto e rápido, quando comparado ao código de outras linguagens de complexidade análoga. Actualmente, C é uma das linguagens mais utilizadas pelos programadores, por permitir, dadas suas características, a escrita de programas típicos do Assembler, BASIC, COBOL e Clipper, e de sistemas Operativos como o UNIX PROLOG (1972) Criada por Comerauer e Roussel, na Universidade de Aix-Marseille com o auxílio de Kowalski, da Universidade de Edinburgo. É uma linguagem de programação lógica isto é, o problema é descrito em função de afirmações e de regras sobre os objectos e cabe ao Interpretador ou ao Compilador encontrar os processos para resolução dos problemas É bastante utilizada em Inteligência Artificial. SMALLTALK (1972) Criada por Alan Key e Adele Goldberg no Xerox PARC Surgiu com a primeira linguagem de programação totalmente orientada a objetos. O ambiente de programação introduziu o conceito de interfaces gráficas com o utlizador hoje amplamente utilizado. 15
  16. 16. ADA (1983) Criada pela empresa Cii-Honeywell Bull, liderada pelo francês Jean Ichbiah, para o DoD para dar resposta á procura de uma linguagem de programação de alto nível padronizada. Necessitou de um esforço enorme para o seu desenvolvimento, envolveu centenas de pessoas durante 8 anos. É uma linguagem muito grande e complexa. Apropriada para programação concorrente e sistemas de tempo real. C++ (1985) O C++ foi desenvolvido por Bjarne Stroustrup no início da década de 80 nos AT&T Labs. Inicialmente o C++ foi designado por “C with classes”. O nome C++ foi dado por Rick Mascitti no Verão de 1983. A linguagem não é chamada D porque se trata de uma extensão da linguagem C e não de uma nova linguagem que tenta remediar os defeitos da sua antecessora eliminando-lhe características. O C++ foi instalado pela primeira vez fora do laboratório onde foi desenvolvido em Julho de 1983, tendo surgido comercialmente pela primeira vez em 1985. O C++ tem como principal objectivo manter-se simultaneamente próximo da máquina e próximo (da análise) do problema. Sendo uma linguagem que suporta programação orientada por objectos, o C++ pretende ser adequado à organização e desenvolvimento de programas de grande dimensão. A diferença conceptual entre o C++ e o C está na ênfase com que são tratados os tipos de dados e a organização dos programas. O Stroustrup diz ter pensado o C++ para: 1) Proporcionar um melhor C; 2) Suportar abstracção de dados; 3) Suportar Programação Orientada por Objectos. Isto é feito sem perda nem de generalidade nem de eficiência comparativamente ao C. Ao contrário de certas linguagens como o Smalltalk ou o Lisp, o C++ não impõe nenhum tipo de programação. Suporta programação orientada por objectos (Classes e Objectos, Herança, Binding dinâmico, polimorfismo), tipos de dados abstractos (classes, encapsulamento), funções e classes parametrizadas ou genéricas (templates), disponibiliza operadores para alocação e libertação de dinâmica de memória de alto nível (new, delete), permite a passagem de argumentos por referência. 16
  17. 17. Praticamente todas as instruções e expressões em C são válidas em C++, sem alteração de significado JAVA (1995) Java nasce e dá seus primeiros passos em 1991 resultado de um projecto de desenvolvimento de suporte software para electrónica de consumo (electrodomésticos), realizado por uma equipa da empresa SUN chamada de Green Team. Este primeiro projecto dá à Java uma das suas mais interessantes características: A portabilidade, visto que Java tinha que funcionar em numerosos tipos de CPUs, e portanto foi pensada para ser independente da plataforma sobre a qual funciona. Esta característica foi muito possivelmente o que permitiu a Java converter-se actualmente na linguagem por excelência para a criação de aplicações em Internet. Este salto para converter-se numa linguagem de programação para computadores acontece definitivamente em 1995 quando sai a versão 2 do browser WEB “Netscape”, foi incluído um interpretador específico para JAVA, produzindo deste modo uma autêntica revolução na Internet. Com um novo foco e resultado do crescimento da Internet o Java continua a crescer a uma velocidade estonteante e lança sua versão 1.1 em 1997, com muitas melhorias e adaptações, fruto de uma revisão substancial da linguagem. O Java 1.2 aparece no fim de 1998 e mais tarde é rebaptizado para Java 2. A Sun descreve o Java 2 como "simples, orientado a objectos, distribuído, interpretado, robusto, seguro, de arquitectura neutra, portátil, de altas prestações, multi-funções e dinâmico". O Java apresenta muitas características que o diferenciam das linguagens similares como C++, começando pelas possibilidades de execução. Basicamente um programa em Java pode ser executado como: * Stand Alone: Aplicação independente. * Applet: Uma aplicação especial que é executada no browser web cliente. * Servlet: Uma aplicação especial sem Interface que é executada no servidor. Por outro lado um programa desenvolvido em Java nunca começa do zero. Java implementa consigo um grande número de classes, incluídas gratuitamente no ambiente de desenvolvimento, 17
  18. 18. para realizar variadas tarefas que permitem ao programador centrar-se nas características mais inerentes ao projecto em desenvolvimento. A Sun distribui gratuitamente na sua página web, a Framework de desenvolvimento Java chamada indistintamente com as siglas: JDK, SDK ou J2SE. Estes pacotes incluem as classes incluídas já em Java, ou seja a API de Java. Também inclui o compilador de Java e o que permite a Java funcionar em qualquer computador e sistema operativo: o JRE (Java Runtime Enviroment). Instala a Máquina Virtual de Java e os plugins necessários para browsers instalados no sistema reconhecerem e executarem os programas. A Máquina Virtual de Java permite que um programa compilado com Java que não tem código compreensível por nenhum processador possa ser compreendido pelo processador sobre o qual funciona. A única dependência do Hardware é a máquina virtual, tem de conhecer o que tem por baixo para realizar a tradução, porém os programas em Java podem funcionar sobre uma máquina virtual independentemente de onde estiver instalada. Conclusão A escolha de um determinado tipo de linguagem está obviamente dependente do tipo de projecto e da sua complexidade. Actualmente, com a evolução do hardware, a rapidez de processamento e a capacidade de armazenamento é enorme e cada vez mais acessivel em termos financeiros. Essa disponibilidade permite que as linguagens seja hoje cada vez mais proximas ao humano, o programador tem ao seu dispor actualmente enumeros editores graficos que lhe permitem resolver situações escrevendo muito poucas linhas de codigo. Essa facilidade permite responder necessidade cada vez maior de desenvolver programas o mais rapido possivel e de forma mais confiável. Actualmente para novas aplicações e projectos a desenvolver o paradigma da linguagem orientada a objectos é aquele que vigora, JAVA, PHP, MySQL e muitos outros, muito pela sua disponibilidade como OpenSource. A WEB permitiu a evolução deste paradigma, não se resumido apenas a ela. 18
  19. 19. A escolha de uma linguagem de programação depende essencialmente do projecto a implementar, o seu grau de complexidade e especifidade ditam o veredicto sobre qual utilizar e na maioria dos caso são utilizadas varias linguagens e integradas por outras linguagens. BIBLIOGRAFIA Introdução à Programação em Java - António Adrego da Rocha / Osvaldo Manuel da Rocha Pacheco Introdução à Programação usando C - António Manuel Adrego da Rocha, Editora FCA, 2006. Introdução à Programação - Jorge Manuel Simões e Mário António Santos Sites na Internet: http://www.eq.uc.pt/~batateu3/introd.html http://allbert.com.br www.lisp.org http://www-usr.inf.ufsm.br http://www.global.estgp.pt http://repositorium.sdum.uminho.pt http://w3.ualg.pt 19

×