BREVE HISTÓRIA DA LINGUAGEM FORTRAN



Documentos relacionados
ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Introdução à Engenharia de Computação

Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

TRABALHO LABORATORIAL NO ENSINO DAS CIÊNCIAS: UM ESTUDO SOBRE AS PRÁTICAS DE FUTUROS PROFESSORES DE BIOLOGIA E GEOLOGIA

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

A Importância do Desenho de Construção Mecânica e da Concepção e Fabrico Assistidos por Computador ao nível da Indústria Metalomecânica *

Inovação em sistemas de informação aplicada ao apoio do cliente de retalho

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

NCRF 19 Contratos de construção

FEUP RELATÓRIO DE CONTAS BALANÇO

Computador Digital Circuitos de um computador (Hardware)

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Engenharia de Software

Documento SGS. PLANO DE TRANSIÇÃO da SGS ICS ISO 9001:2008. PTD v Pág 1 de 6

PARLAMENTO EUROPEU. Comissão dos Assuntos Jurídicos PE v01-00

Linguagens de. Aula 01. Profa Cristiane Koehler

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

STC5 Redes de informação e comunicação

Aux.Magazine Bilbao, Vizcaya, Espanha,

Invenções Implementadas por Computador (IIC) Patentes

Montepio, Portugal. Tecnologia de recirculação de notas na optimização dos processos de autenticação e de escolha por qualidade

Algoritmos DCC 119. Introdução e Conceitos Básicos

Contributo da APRITEL. 16 de Outubro de APRITEL BoasPraticasAP b.doc 1/9

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

3.1 Definições Uma classe é a descrição de um tipo de objeto.

1 Introdução. 2 Exemplo de aplicação

UPGRADES. Uma das melhores características do PC é o facto de ser uma arquitectura aberta, que permite a substituição de componentes com facilidade.

Recursos Humanos em C & T Bolseiros de Investigação Francisco Curado

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

BREVE INTRODUÇÃO AO SISTEMA DA GESTÃO DE DOCUMENTOS DA CÂMARA MUNICIPAL DE MACAU PROVISÓRIA

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Problema de Mistura de Produtos

Análise de Regressão Linear Simples e Múltipla

A importância do Software Livre no mundo de hoje

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

POLÍTICA DE SEGURANÇA DA RCTS

Aspectos Sócio-Profissionais da Informática

Descrição do Produto. Altus S. A. 1

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

Introdução às Linguagens de Programação

Implementadas por Computador

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

L 276/4 PT Jornal Oficial da União Europeia. DECISÃO N. o 190. de 18 de Junho de 2003

As instituições de auditoria chinesas no desenvolvimento da auditoria de resultados

ISO 9001: SISTEMAS DE GESTÃO DA QUALIDADE

FEDERAÇÃO NACIONAL DOS MÉDICOS

NOTA INFORMATIVA. 3. Como se constata, as modificações introduzidas reconduzem-se aos seguintes aspectos:

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06

Conceitos básicos de programação

Projecto de Lei n.º 54/X

VISÃO GERAL DE BANCO DE DADOS

Reaproveitamento de Máquinas Caça-Níqueis

EVOLUÇÃO DO SEGURO DE SAÚDE EM PORTUGAL

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

EXAME NACIONAL DO ENSINO SECUNDÁRIO VERSÃO 1

"SISTEMAS DE COTAGEM"

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO

De Arte a Ciência: Regras para o Desenho de Software

Manual Web.Newhotel Configuração NewHotel

Especificação Operacional.

Artigo Opinião AEP /Novembro 2010 Por: Agostinho Costa

Diagnóstico Simples e exemplo prático: Passo 2: Teste prático sobre as Forças e Fraquezas de uma empresa 1 Exemplo Prático 2 :

Indústria de Software - Histórico

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

Medindo a Produtividade do Desenvolvimento de Aplicativos

REACH A legislação mais ambiciosa do mundo em matéria de produtos químicos

Administração de Sistemas (ASIST)

POC 13 - NORMAS DE CONSOLIDAÇÃO DE CONTAS

Prof. Me. Marcos Echevarria

Entendendo as Permissões de Arquivos no GNU/Linux

1. Introdução. 1.1 Contextualização do problema e questão-problema

Network Diagrams Tipos e evolução

4 Avaliação Econômica de Redes Legada e NGN

Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente

ESPÍRITO EMPREEENDEDOR NO IPS. Aplicação do Carland Entrepreneurship Index = Resultados =

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Arquitetura de processadores: RISC e CISC

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução. Prof. MSc. Hugo Souza

Serviço de Clientes. Gestix Enterprise. Gestix.com

O COMPUTADOR. Introdução à Computação

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

HISTÓRIA DA COMPUTAÇÃO

DGAJ/DF. Curso em E-learning

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Comparativo entre métodos de controle de demanda: qual o mais eficiente para o usuário nacional?

Transcrição:

2 BREVE HISTÓRIA DA LINGUAGEM FORTRAN 2.1 Os primeiros tempos Nos primórdios dos computadores, programar era uma tarefa extremamente complicada e, de certa forma, extenuante. Aos programadores era exigido um conhecimento detalhado das instruções, registos e outros aspectos ligados com a unidade de processamento central (CPU) do computador onde era escrito o código. Os programas consistiam numa série de instruções numéricas, denominadas por código binário. Posteriormente, desenvolveram-se algumas mnemónicas que resultaram no designado assembly. No período entre 1954-1957 uma equipa de 13 programadores liderados por John Backus desenvolveu uma das primeiras linguagens de alto nível para o computador IBM 704, o FORTRAN (FORmula TRANslation). O objectivo deste projecto era produzir uma linguagem de fácil interpretação mas, ao mesmo tempo, com uma eficiência idêntica à linguagem assembly. A linguagem Fortran foi ao mesmo tempo revolucionária e inovadora. Os programadores libertaram-se assim da tarefa extenuante de usar a linguagem assembler e passaram a ter oportunidade de se concentrar mais na resolução do problema. Mas, talvez mais importante, foi o facto dos computadores passarem a ficar mais acessíveis a qualquer pessoa com vontade de despender um esforço mínimo para conhecer a linguagem Fortran. A partir dessa altura,

Capítulo 2 - Breve história da linguagem Fortran 43 já não era preciso ser um especialista em computadores para escrever programas para computador. Nos anos seguintes, outras empresas de computadores desenvolveram os seus próprios compiladores de Fortran para os seus computadores. Desta forma, programas escritos para uma máquina não podiam ser usados noutras máquinas sem proceder a algumas modificações. Verificou-se assim uma proliferação de diferentes compiladores de Fortran. A aquisição de programas em Fortran de diferentes procedências, associado à necessidade de converter todos esses programas sempre que estes eram instalados num novo computador, tornou os custos totais proibitivos. Para ultrapassar estes problemas, passou-se a discutir a necessidade de se proceder a uma normalização da linguagem Fortran de forma a que os programas fossem portáveis, isto é, que pudessem ser processados em diferentes máquinas com alterações muito pequenas ou, de preferência, sem qualquer alteração. Em 1966, após quatro anos de trabalho, a Associação Americana de Normalização, posteriormente passou a designar-se Instituto Americano de Normalização Nacional (American National Standards Institute, ANSI), publicou uma versão normalizada designada por FORTRAN IV. Na sua essência, esta versão era um subconjunto comum dos vários dialectos do Fortran, de forma que cada dialecto era considerado como uma extensão da versão normalizada. Os utilizadores desta linguagem que pretendessem escrever programas portáveis teriam que ter o cuidado de evitar as extensões referidas. A proliferação de dialectos continuou a ser um problema após a publicação da versão normalizada em 1966. A primeira dificuldade era a relutância das empresas que desenvolviam os diferentes compiladores a aderirem à normalização. Por outro lado, a implementação de características nos diferentes compiladores, que eram essenciais para programas de longa extensão, foram ignoradas pela versão normalizada. Esta situação, combinada com a existência de algumas debilidades evidentes na linguagem normalizada, conduziu à introdução de um grande

44 FEUP Licenciatura em Engenharia Civil Programação e Computadores número de pré-processadores. Estes eram programas que liam o código da linguagem de um determinado dialecto do Fortran e gerava um segundo texto na versão normalizada. Este procedimento era uma forma de estender as capacidades do Fortran usual, mantendo a portabilidade entre diferentes computadores. O aumento do número de pré-processadores registado nos anos subsequentes, significava não só a grande diversidade de dialectos do Fortran mas também a insuficiência da versão normalizada. Apesar dos programas escritos usando um pré-processador fossem portáveis, o código em Fortran gerado desta forma era geralmente de leitura e interpretação muito difícil. Estas dificuldades foram parcialmente resolvidas pela publicação de uma nova normalização, em 1978, conhecida por FORTRAN 77. Esta versão incluía várias novas características baseadas em dialectos já existentes ou em pré-processadores e, por isso, não era um mero subconjunto dos dialectos existentes mas sim um novo dialecto. O período de transição entre o FORTRAN IV e o FORTRAN 77 revelou-se, no entanto, extremamente longo, devido ao atraso na avaliação dos novos compiladores baseados na nova versão normalizada e à necessidade das duas versões normalizadas coexistirem por um período de tempo considerável. Na realidade, somente nos meados da década de 80 o FORTRAN IV passou a ter um uso residual. 2.2 O Fortran 90 Após trinta anos de existência o Fortran estava longe de ser a única linguagem de programação disponível na maioria dos computadores. As modificações significativas introduzidas no FORTRAN 77 não resolveram todos os problemas que apareceram com a primeira versão normalizada, nem sequer incluía muitas das novas características que entretanto apareceram com as novas linguagens de programação como o Pascal ou o C. A comunidade de utilizadores do Fortran embora com um vasto investimento em códigos de Fortran (alguns programas continham mais de 100 000 linhas de instruções) em plena utilização, não estava completamente satisfeita com a linguagem. Por consequência, iniciaram-se trabalhos para rever a versão normalizada.

Capítulo 2 - Breve história da linguagem Fortran 45 Para o efeito, a ANSI formou um comité técnico, denominado por X3J3, trabalhando como um corpo de desenvolvimento do comité ISO, designado por ISO/IEC JTC1/SC22/WG5 (que será referido abreviadamente por WG5), na nova versão normalizada, inicialmente referida por Fortran 8x que resultou posteriormente no Fortran 90. As motivações para o desenvolvimento da nova versão eram não somente normalizar as diferentes extensões comercializadas, mas também modernizar a linguagem como resposta a outras linguagens de programação como o APL, Algol, Pascal, Ada, C e C++. De forma a preservar o vasto investimento nos códigos anteriormente desenvolvidos, todo o FORTRAN 77 é considerado como um subconjunto da nova versão, embora algumas características sejam desaconselhadas na elaboração de novos programas. Ao contrário das versões anteriores que resultaram em grande parte dum esforço para normalizar "práticas" já existentes, o Fortran 90 é muito mais do que um desenvolvimento da linguagem, introduzindo aspectos que são novidade em Fortran e resultam da experiência obtida noutras linguagens. As novas características mais importantes são a facilidade de utilizar variáveis indexadas ("arrays") com uma notação mais concisa e poderosa e a facilidade de definir e manipular diferentes tipos de dados definidos pelo utilizador. O primeiro aspecto permite uma simplificação na programação de problemas matemáticos e torna a linguagem Fortran mais eficiente quando se utilizam super-computadores uma vez que se adapta mais convenientemente ao hardware. O segundo aspecto permite aos programadores descrever os seus problemas em termos dos dados-tipo que combinam perfeitamente com as suas necessidades. 2.3 Para além do Fortran 90 Após a publicação da versão normalizada do Fortran 90, o WG5 optou por uma nova forma de actuação para revisões futuras. A filosofia actual é a seguinte: se uma nova característica com possibilidade de ser introduzida no

46 FEUP Licenciatura em Engenharia Civil Programação e Computadores futuro não se encontrar suficientemente desenvolvida até uma data préestabelecida, então é preferível abandonar essa característica em vez de retardar a nova revisão. O WG5 passou a ser assim a entidade que decide os vectores de desenvolvimento para as futuras versões do Fortran. Entretanto, apareceu o Fortran 95 como resultado desta nova filosofia de revisões. Esta última versão consiste numa pequena revisão do Fortran 90 consistindo unicamente em "correcções, clarificações e interpretações", algumas novas características e desaparecimento de outras. Nos últimos anos tem-se desenvolvido actividade relativa à normalização com base no Fortran 90, estando em preparação a publicação do Fortran de Alta Performance (High Performance Fortran HPF). Esta versão tem como objectivo principal melhorar a portabilidade da linguagem com vista à programação com máquinas paralelas. A próxima revisão do Fortran está prevista para o ano 2001, tendo já sido fixada a designação de Fortran 2000. Toda esta actividade deverá permitir que, nos próximos tempos, a linguagem Fortran continue a ser uma ferramenta poderosa para aplicações numéricas e científicas.