Grupo Lógica de Programação
ESTAMOS EM CONSTRUÇÃO - DESENVOLVIMENTO


Seja Bem Vindo ao Forum Grupo Lógica de Programação é uma satisfação recebê-los aqui.. espero que gostem desse espaço que foi feito para todos nós PROGRAMADORES.. Então venha fazer Parte deste Time tambem.. Saiba que este Forum foi feito com muita dedicação para o bem estar de todos vocês.. Então Registre-se e Decole no Mundo da Programação.....
Ao se Registrar você tem direito a participar do CHAT que só é visivel ao membros registrados. e pode bater papo com algum outro membro que estiver on line.. caso tenha alguma duvida pode olhar no Menu FAQ as perguntas mais recentes.
Bons Estudos é o que deseja todos nós que fazemos o GRUPO LÓGICA DE PROGRAMAÇÃO acontecer...

(EL MENSAJERO [FUNDADOR])

Participe do fórum, é rápido e fácil

Grupo Lógica de Programação
ESTAMOS EM CONSTRUÇÃO - DESENVOLVIMENTO


Seja Bem Vindo ao Forum Grupo Lógica de Programação é uma satisfação recebê-los aqui.. espero que gostem desse espaço que foi feito para todos nós PROGRAMADORES.. Então venha fazer Parte deste Time tambem.. Saiba que este Forum foi feito com muita dedicação para o bem estar de todos vocês.. Então Registre-se e Decole no Mundo da Programação.....
Ao se Registrar você tem direito a participar do CHAT que só é visivel ao membros registrados. e pode bater papo com algum outro membro que estiver on line.. caso tenha alguma duvida pode olhar no Menu FAQ as perguntas mais recentes.
Bons Estudos é o que deseja todos nós que fazemos o GRUPO LÓGICA DE PROGRAMAÇÃO acontecer...

(EL MENSAJERO [FUNDADOR])
Grupo Lógica de Programação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

A História Cronologica das Linguagens de Programação

Ir para baixo

A História Cronologica das Linguagens de Programação Empty A História Cronologica das Linguagens de Programação

Mensagem por Sergio Lucas Sáb 04 Set 2010, 00:16

Conheça agora a linha cronológica da programação desde os anos passados

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

PLANKALKÜL - 1945
Criada por Konrad Zuse;
Foi a primeira linguagem de programação de alto nível do mundo
Nunca implementada;
Estruturas de dados avançadas:
reais, arrays, records.

FORTRAN
The IBM Mathemat ical FORmula TRANslating
System: FORTRAN por John Backus, 1954
Projetado para o IBM 704
Ambiente de desenvolvimento:
Computadores tinham pouca capacidade de
processamento e memória e não eram confiáveis
Aplicações científicas
Sem metodologia ou ferramentas de programação

FORTRAN I - 1957
Primeira versão implementada do FORTRAN
I/ O formatado
Nomes podiam ter até 6 caracteres
Subprogramas definidos pelo usuário
Comando de seleção de t rês modos (IF aritmético)
Loop de contagem pós- testado (DO)
Compilador lançado em abril de
1957, depois de 18 homens- ano de esforço.
Programas maiores que 400 linhas raramente compilavam corretamente, principalmente
devido à baixa confiabilidade do 704
Código era muito rápido Rapidamente tornou- se popular

FORTRAN II - 1958
Corrigiu vários “bugs” do Fortran I
Compilação de subrotinas independente
50% do código escrito para o IBM 704 era FORTRAN

FORTRAN IV - 1960- 62
FORTRAN III nunca largamente distribuído
Declaração de tipos explícita
Comando de seleção lógica
Nomes de subprogramas podiam ser parâmetros
Padrão ANSI em 1966

FORTRAN 77 - 1978
Manuseio de character string
Comando de cont role de loop lógico
Comando IF- THEN- ELSE

FORTRAN 90 - 1990
Funções built - in para operações com
arrays
Arrays dinâmicos
Ponteiros
Tipo registro
Recursão
Novas estruturas de controle, ex. CASE
Checagem de tipo de parâmetro
Módulos

Autor do FORTRAN
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

LISP - 1959
Características:
Somente dois tipos de dados: átomos e listas
Sintaxe baseada no lambda calculus
Pioneira da programação funcional
Não necessita variáveis ou atribuição
Controle via recursão e expressões condicionais
Paradigma alternativo ao modelo imperativo
Ainda uma das linguagens dominantes

Exemplo de Função em LISP
; Função LISP que pega duas listas como argumentos e
; retorna True se as duas listas forem iguais, e NIL (falso)
caso
; contrário.

(DEFUN equal (lis1 lis2))
(COND
( (ATOM lis1) (EQ lis1 lis2))
( (ATOM lis2) NIL)
( (equal (CAR lis1) (CAR lis2))
(equal (CDR lis1) (CDR lis2)))
( T NIL) ))


ALGOL 58 - 1958
Características da linguagem:
Conceito de tipo formalizado
Nomes podiam ter qualquer tamanho
Arrays podiam ter um número qualquer de índices
Parâmetros eram separados por modo
(entrada/ saída)
Índices eram colocados entre colchetes
Comandos de composição de blocos (begin ...end)
Ponto e vírgula como separador de comandos
Operador de atribuição :=
IF com cláusula ELSE- IF

ALGOL 60 - 1960
Modificou o ALGOL 58 durante um
encontro de 6 dias em Paris
Novas características:
Estrutura de blocos (escopo local)
Dois modos de passagem de parâmetros
Subprogramas recursivos
Arrays em pilhas dinâmicas
Ainda nenhum I/ O nem manuseio de strings
Sucessos:
Foi o padrão para publicação de
algoritmos por mais de 20 anos
Todas as linguagens imperativas são baseadas nela
Primeira linguagem independente de máquina
Primeira linguagem cuja sintaxe foi
definida formalmente (BNF)
Falha:
Nunca foi amplamente utilizada, especialmente nos EUA
Motivos:
Nenhum I/ O e o conjunto de caracteres
faziam com que os programas não fossem muito portáveis
Muito flexível, portanto difícil de implementar
Falta de apoio da IBM (adivinha por que?)

Exemplo de programa em ALGOL 60

begin
integer array intlist [1:99];
integer listlen, counter, sum, average, result;
sum := 0;
result := 0;
readint(listlen);
if (listlen > 0) L (listlen < 100) then
begin
comment Read input into an array and compute the average;
for counter := 1 step 1 unt il listlen do
begin
readint ( intlist[counter]);
sum := sum + int list [counter];
end;


ALGOL 68 - 1968
A partir do desenvolvimento do ALGOL 60, mas
não é um superconjunto daquela linguagem
Projeto é baseado no conceito de ortogonalidade
Fonte de várias idéias adotadas por outras linguagens
Contribuições:
Estruturas de dados definidas pelo usuário
Arrays dinâmicos (chamados flex arrays)

SIMULA 67 - 1967
Baseada no SIMULA I, criada por Kristen Nygaard
e OleJohan Dahal, entre 1962 e 1964 na Noruega
Projetada inicialmente para simulação de sistemas
Baseada no ALGOL 60 e SIMULA I
Contribuições:
Co- rotinas: um tipo de subprograma que pode
ser reiniciado a partir do ponto onde previamente havia parado
POO

AUTORES DO SIMULA

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

COBOL - 1960
Objetivos do projeto:
Deve parecer com inglês simples
Deve ser fácil de usar, mesmo que signifique menos recursos
Deve ampliar a base de usuários de computadores
Não deve ser influenciado por problemas de implementação (compiladores)
Contribuições:
Estruturas de dados hierárquicas (registros)
Comandos de seleção aninhados
Nomes longos (até 30 caracteres), com hífens Data Division

Exemplo de programa em COBOL

IDENTIFICATION DIVISION
PROGRAMID. PRODUCEREORDERLISTING.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE CONPUTER. DECVAX.
OBJECT CONPUTER. DECVAX.
INPUTOUTPUT SECTION.
FILECONTROL.
SELECT BALFWDFILE ASSIGN TO READER.
SELECT REORDERLISTING ASSIGN TO LOCALPRINTER.
DATA DIVISION.
FILE SECTION.
FD BALFWDFILE


PL/ I - 1965
Projetado pela IBM e SHARE
Incluia o que era considerado o melhor do: ALGOL 60:
recursão
estrutura de blocos
FORTRAN IV
compilação de rotinas em separado
comunicação por dados globais
COBOL 60
estruturas de dados
I/ O (facilidades para geração de relatórios)
Linguagem grande e complexa
Ut ilizada em aplicações científicas e comerciais
Sucesso parcial
Contribuições:
Primeiro tratamento de exceção (23 tipos)
Tipo de dado ponteiro
Referência a seções de arrays

EXEMPLO DE PROGRAMA EM PL/ I

PLIEX; PROCEDUREOPTIONS (MAIN);
DECLARE INTLIST (1:99) FIXED.
DECLARE (LISTLEN, COUNTER, SUM, AVERAGE, RESULT) FIXED;
SOM = 0;
RESULT = 0;
GET LIST (LISTLEN).
IF (LISTLEN > 0) & (LISTLEN < 100) THEN
DO;
/ * READ INPUT DATA INTO AN ARRAY AND COMPUTE THE SUM */
DO COUNTER = 1 TO LISTLEN;
GET LIST (INTLIST (COUNTER));
SUM = SUM + INTLIST (COUNTER);
END;
/ * COMPUTE THE AVERAGE */
AVERAGE = SUM / LISTLEN;


Pascal - 1971
Criada por Niklaus Wirth
Baseada no ALGOL W, proposta alternativa
apresentada pelos que consideraram a ALGOL68
muito complexa
Simplicidade e tamanho reduzido eram objetivos de projeto
Projetada para o ensino de programação estruturada
Ainda é a uma das LPs mais usadas para o
ensino de programação estruturada nas
universidades

Exemplo de programa em Pascal

program pasex (input , output );
type intlist type = array[1..99] of integer;
var
intlist :int list type;
listlen, counter, sum, average, result : integer;
begin
result := 0;
sum := 0;
readln(list len);
if ((listlen > 0) and (listlen < 100) then
begin
{read input into an array and compute the sum }
for counter := 1 to list len do
begin
readln(int list [counter]);
sum := sum + int list [counter];
end;


AUTOR DA LINGUAGEM PASCAL

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

BASIC - 1964Criada por Kemeny & Kurtz em Dartmouth
Objetivos de Projeto:
Fácil de aprender e usar (por outros que não fossem estudantes de ciências)
Linguagem “agradável e amigável”
Rápida implementação de pequenas aplicações
Tempo do usuário mais importante que tempo de máquina
Versão inicial era compilada, sem entrada pelo terminal
Simples: 14 tipos de comandos e 1 tipo de dados
Dialetos populares atuais: QuickBASIC e Visual BASIC

Exemplo de programa em QUICKBASIC

DIM int list (99)
result = O
sum = O
INPUT list len
IF list len > O AND list len < 100 THEN
REM Read input into an array and compute the
sum
FOR counter = 1 TO list len
INPUT intlist (counter)
sum = sum + int list (counter)


AUTORES DO BASIC

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Modula2
Criada entre 197576
por Niklaus
Wirth na ETH;
Recursos do Pascal mais módulos,
suportando tipos abstratos de
dados, procedimentos como tipos e característ icas de baixo nível
projetadas para programação de sistemas.

Modula3
Criada no final dos anos 80 por Systems
Research Center (Digital) e Olivetti
Research Center;
Baseada no Modula2, Mesa, Cedar e
Modula2+;
Adiciona ao Modula2:
POO;
Tratamento de exceção;
Garbage collect ion;
Concorrência.

Delphi (Borland)
Lançado em 1995
Pascal mais características de
suporte a POO
Mais elegante e seguro que C+ +
Baseada em Object Pascal, projetada anos antes.

C - 1972Projetada para a programação de
sistemas nos Lab. Bell por Dennis Richie
Ancestrais incluem CPL, BCPL, B e ALGOL68
Operadores poderosos, checagem de tipos pobre
Inicialmente popular entre usuários UNIX

Exemplo de programa em C

void main() {
int int list [98], list len, counter, sum, average,
result ;
sum = 0;
result = 0;
scanf(` ` %d'', &list len);
if ((list len > 0) && (list len < 100) {
/ * read input into an array and compute the sum
*/
for (counter = 0; counter < list len;
counter+ + ) {
scanf(` ` %d'', &int list[counter]);
sum = sum + int list [counter];
}


AUTOR DA LINGUAGEM C

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Prolog - 1972
Desenvolvido na Universidade de
AixMarseille, por Comerauer e Roussel,
com ajuda de Kowalski da Universidade de Edinburgh
Baseda em lógica de predicados de 1a.ordem Não procedural
LP declarativa que usa um padrão de
inferência (resolução por refutação) para
inferir se expressões fornecidas são
verdadeiras (e sob que condições) ou não.

Exemplo de programa em Prolog
vel_max(ford,100).
vel_max(chevy,105).
vel_max(dodge,95).
vel_max(volvo,80).
tempo(ford,20).
tempo(chevy,21).
tempo(dodge,24).
tempo(volvo,24).
distancia(X,Y) :- vel_max(X,Velocidade),
tempo(X,Tempo),
Y is Velocidade * Tempo.


Ada - 1983
Contribuições:
Suporte para abstração de dados
Facilidades para tratamento de exceções
Unidades de programa genéricas: versões instanciadas
geradas pelo compilador de acordo com tipos de dados específicos
Suporte à execução concorrente de unidades de programa
Comentários:
Projeto via contrato competitivo
Incluiu tudo que se conhecia sobre engenharia de
software e projeto de linguagens
Não confiável por causa da alta complexidade
Compiladores de difícil construção. Primeiro compilador
operacional surgiu 4 anos depois que o projeto da
linguagem tinha sido completado.

Ada 95 - 1988
Facilidades para interface gráfica
Suporte para POO
Mecanismos de cont role para dados compartilhados
Apesar de tão completa, Ada só foi
largamente utilizada pela organização
que promoveu seu desenvolvimento: o
DoD do governo americano.

Exemplo de programa em ADA

with TEXT_IO; use TEXT_IO;
procedure ADA_EX is
package INT_IO is new INTEGER_IO (INTEGER);
use INT_IO;
type INT_LIST_TYPE is array (1..99) of INTEGER;
INT_LIST : INT_LIST_TYPE;
LIST_LEN, SUM, AVERAGE, RESULT: INTEGER;
begin
RESULT := 0;
SUM := 0;
GET (LIST_LEN);


Smalltalk – 1972- 1980
Desenvolvida pela Xerox PARC,
inicialmente por Alan Kay, depois por
Adele Goldberg
Primeira implementação completa de
uma linguagem orientada por objetos
(abstração de dados, herança e vinculação de tipos dinâmica)
Pioneira na interface gráfica baseada em janelas.

Exemplo de programa em Smalltalk

class name Polygon
superclass Object
instance variable name ourPen
numSides
sideLenght
“Class methods”
“Create an instance”
new
^ super new getPen
“Get a pen for drawing polygons”
getPen


AUTORES DO SMALLTALK

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

C+ + - 1985
Desenvolvida nos Lab. Bell por Stroustrup
Baseada no C and SIMULA 67: facilidades para
POO do SIMULA 67 adicionadas ao C
Possui tratamento de exceção
Linguagem grande e complexa, em parte por suportar programação procedural
e orientada por objetos
Popularizou- se rapidamente, junto com POO

AUTOR DO C++

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Java - 1995
Desenvolvida pela Sun no começo dos anos 90
Para POO, baseada em C+ + , mas
significativamente simplificada (não usa ponteiros)
Inclui suporte a applets e concorrência
Padrão ANSI aprovado em novembro de 97

Outras Linguagens

ML (1973) – Meta Language. Linguagem de
programação funcional. Versão mais recente é o SML/ NJ.

Clipper (1984) – Linguagem de desenvolvimento de
banco de dados para DOS.

SQL – St ructured Query Language. Padrão para
operações em bancos de dads relacionais.

Perl (1987) – Linguagem script com facilidades para
manipulação de texto.

PYTHON (1991) – Linguagem interpretada, orientada a
objetos similar ao Perl.

PHP (1995) - Linguagem script para o desenvolvimento de
aplicações Web; embutível dentro do HTML.

ASP – Active Server Page. Linguagem script para
const rução de páginas dinâmicas.

JavaScript (1995) – Linguagem script para aplicações web
executadas no cliente (CSI).

HTML – Hipertext Markup Language, linguagem de
marcação para formatação de hipertextos.

XML – Extensible Markup Language. Usado para
estruturação do conteúdo de páginas HTML.

TeX/ LaTeX (1985) – Linguagem para formatação de textos
científicos.

PostScript (1982), PDF – Linguagens de formatação de
textos para visualização.
Sergio Lucas
Sergio Lucas
Admin
Admin

Mensagens : 80
Pontos : 308
Reputação : 20
Data de inscrição : 30/06/2010
Idade : 37
Localização : Pernambuco

https://grupologica.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos