A lógica da programação é, sem dúvida, a primeira coisa que deve ser
estudada se você quiser se tornar um bom programador, seja qual for a
linguagem. Porque ela é tão importante? Imagine que agora você é um
soldado que recebe ordens e as coloca em prática. O seu capitão lhe diz:
“Soldado, sua missão é encontrar a arma principal do inimigo e
sabotá-la, como também fazer o reconhecimento do local. Assim que você
se infiltrar, vai procurar colher o máximo possível de informações. No
entanto, antes das 14:00 deve sair do local. Se observar alguma
movimentação suspeita, saia imediatamente. E lembre-se, sua missão
principal é encontrar a arma principal do inimigo e sabotá-la.” Nessa
missão, o soldado precisa sempre se lembrar das ordens do capitão, e
para que ela seja bem sucedida é necessário ele aplicar todas elas.
Vamos analisar essa missão:
Objetivos principal: Encontrar e sabotar a arma principal do inimigo.
Objetivo secundário: Colher o máximo de informações possíveis.
Condições: O soldado só vai terminar a missão com êxito se: Não houver
nenhuma movimentação suspeita, que faça com que ele saia do local antes
do horário, e, caso isso não ocorra, ele deve sair de lá sem falta as
14:00.
Quando vamos programar, devemos ser como o comandante. Primeiro,
devemos saber qual o objetivo principal e daí programar as suas
condições para que esse objetivo seja atingido. Veja o caso dessa
tirinha:

*Claro que o marido levou o que a mulher falou ao pé da letra.
Sabemos que no dia-a-dia ninguém leva tudo ao pé da letra. No entanto,
essa tirinha não representa o cotidiano. Ela representa o modo de se
pensar ao programar.
Notou? A condição, por assim dizer, não foi bem “programada” pela
esposa, levando o marido a trazer nove ovos, aos invés de seis ovos e
nove batatas, que era o que a esposa gostaria que ele trouxesse. Ela
deveria ter dito assim: Me traga seis ovos. Se tiver batatas, me traga
nove batatas.
A lógica da programação é essencial para um bom código. Mas como tudo
isso começou? Vamos a partir de agora viajar pelo tempo e entender um
pouco sobre a história da lógica da programação.
Como tudo começou
A lógica da programação é um assunto muito grande e complexo. Assim
sendo, vamos dar apenas uma introdução a história da lógica da
programação.
A lógica de programação é quando se pretende realizar alguma função ou um esquema lógico por meio de parâmetros e metas.
Existe uma associação direta da Lógica de Programação com o
Raciocínio Matemático, onde o importante é a interpretação de um
problema e a utilização correta de uma fórmula. De fato, não existe
“fórmulas” em informática, o que existe é nosso modo de pensar em como
resolver e extrair o máximo de informações de um problema, de maneira
eficaz e eficiente sobre um ângulo de visão. Essa solução precisa ser
exteriorizada e expressa numa linguagem conhecida. A lógica da
programação entra nesse ponto, para desenvolvermos soluções e
algorítimos para apresentar essa solução ao mundo. A primeira pessoa a
pensar em usar lógica matemática para a programação foi John McCarthy,
ele propôs usar programas para manipular com sentenças instrumentais
comuns apropriadas à linguagem formal, ou seja, o programa básico
formará conclusões imediatas a partir de uma lista de premissas. Essas
conclusões serão tanto sentenças declarativas quanto imperativas. Quando
uma sentença imperativa é deduzida, o programa toma uma ação
correspondente.
A primeira linguagem de alto nível do mundo foi a Plankalkül, criada
pelo cientista alemão Konrad Zuse, entre os anos 1942-1946 no
desenvolvimento dos primeiros computadores. Ela é considerada de alto
nível porque em termos simples, ela é mais “humana” e está longe do
código de máquina, se aproximando mais da linguagem humana. Vamos
entender melhor o que é uma linguagem de alto nível e a diferença dela e
a de máquina.
Quando nos falamos de linguagem mais humana é justamente pelo fato de
a entendermos melhor, de ser humanamente mais fácil de se compreender.
Você facilmente entenderia, com um pouco de estudo, esse código, por
exemplo:
program HelloWorld;
begin
writeln(‘Hello World’);
end.
Uma pessoa que não entende nada de programação, mas sabe inglês,
entenderia algumas palavras da linguagem e poderia facilmente
interpretar alguma coisa desse código em PASCAL. “Program” é programa em
inglês, “begin” é começar, “write” é escrever e end é fim. Mesmo sem
saber programar, a pessoas que sabe um pouco de inglês chegaria a mais
ou menos a essa conclusão: “É um programa e vai começar a escrever
alguma coisa e depois terminar”. E é justamente isso!
Agora vamos ver um código de máquina. Primeiramente um código de
máquina não pode ser aberto em um editor de texto normal. Caso você abra
aparecem apenas um texto sem significado, devido aos caracteres de
controle, como esse por exemplo:
MZÀ�$Pÿv�èŠÿ]Ë3ÀP¸�F�
ë�ƒF��¸�< uè2Àëä�Àt�Bª
Para se ver um código de máquina é necessário um editor de hexadecimal. Assim vemos:
0E3D:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 F0 07 8A 03 . ……..O…..
0E3D:0010 F0 07 17 03 F0 07 DF 07-01 01 01 00 02 FF FF FF …………….
0E3D:0020 FF FF FF FF FF FF FF FF-FF FF FF FF BD 0D 4C 01 …………..L.
0E3D:0030 D0 0C 14 00 18 00 3D 0E-FF FF FF FF 00 00 00 00 ……=………
0E3D:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 …………….
Consegue compreender esse código? E agora, compreende a diferença entre linguagem de alto nível e a linguagem de máquina?
Voltando ao assunto, a linguagem Plankalkül foi só publicada em 1972 e
seu compilador em 1998. Depois surgiu inúmeras outras, como o Prolog.
A linguagem Prolog foi desenvolvida em 1972 por Alain Colmerauer e
foi apresentada como baseada em lógica matemática. Ela é uma
simplificação do Planner, a qual permitia a invocação orientada a
padrões de planos procedimentais de asserções e de objetivos. A primeira
implementação do Prolog foi a Marseille Prolog, desenvolvida em 1972. O
uso do Prolog como uma linguagem de programação prática teve seu ápice
com o desenvolvimento de um compilador por David Warren em Edinburgo, em
1977.
A partir do Planner, foram desenvolvidas as linguagens de programação
QA-4, Popler, Conniver, e QLISP. As linguagens de programação Mercury,
Visual Prolog, Oz e Frill, foram desenvolvidas a partir do Prolog. Outra
linguagem bastante usada é o Pascal.
O professor Niklaus Wirth, vendo a necessidade de implementar as
ideias de maneira mais fácil, junto com seus colegas da Universidade
Técnica de Zurique (Suíça) desenvolveram, no início dos anos 70, a
linguagem PASCAL – uma derivação da linguagem ALGOL 60, porém de
implementação mais simples e com uma estrutura de dados mais poderosa. O
nome Pascal foi uma homenagem a Blaise Pascal, famoso matemático, que
criou a calculadora baseada em discos de madeira, que foi a predecessora
da calculadora de mesa e serviu de inspiração para diversos
computadores. Essa linguagem é bastante utilizada para ensinar
programação aos novatos, pelo fato de ser bem fácil de ser entendida.
Hoje existem muitas linguagens fáceis de serem entendidas e
estudadas, pois a melhor maneira de aprender a lógica da programação é
por meio da prática!.
Abaixo você pode ver uma lista com as principais linguagens de programação:
- PLANKALKÜL – 1945 – Criada por Konrad Zuse; Foi a primeira linguagem de programação de alto nível do mundo
–
- FORTRAN – 1954 – Criada pela IBM 704; usada para computadores com
pouca capacidade de processamento; não tinha metodologia e ferramentas
para programação
- FORTRAN I – 1957 – Primeira versão implementada do FORTRAN; Nomes
podiam ter até 6 caracteres; Programas maiores que 400 linhas raramente
compilavam corretamente, principalmente
- devido à baixa confiabilidade do 704
- FORTRAN II – 1958 – 50% do código escrito para o IBM 704 era FORTRAN
- FORTRAN IV – 1960- 62 – 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, dentre outros.
–
- LISP – 1959 – Somente dois tipos de dados: átomos e listas; Pioneira da programação funcional
–
- ALGOL 58 – 1958 – Nomes podiam ter qualquer tamanho; Comandos de composição de blocos (begin …end); F com cláusula ELSE- IF
- ALGOL 60 – 1960 – Modificou o ALGOL 58 durante um
- encontro de 6 dias em Paris
- ALGOL 68 – 1968
–
- 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.
–
- COBOL – 1960 – Deve parecer com inglês simples; Deve ser fácil de usar, mesmo que signifique menos recursos
–
- PL/ I – 1965 – Projetado pela IBM e SHARE; Incluia o que era considerado o melhor do: ALGOL 60
–
- Pascal – 1971 – 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
–
- BASIC – 1964 – Criada por Kemeny & Kurtz em Dartmouth
–
- Modula 2 – 1975
- Modula 3 – Final dos anos 80.
–
- Delphi – 1995 – Pascal mais características de suporte a POO; Mais
elegante e seguro que C+ +; Baseada em Object Pascal, projetada anos
antes.
–
- C – 1972 – Projetada para a programação de sistemas nos Lab.
–
–
- Ada – 1983
- Ada 95 – 1988 – Facilidades para interface gráfica
–
- Smalltalk – 1972- 1980 – 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.
–
- C+ + – 1985 – Desenvolvida nos Lab. Bell por Stroustrup. Baseada no C e SIMULA 67
–
- Java – 1995 – Desenvolvida pela Sun no começo dos anos 90. Para POO, baseada em C+ + , mas significativamente simplificada.
Outras linguagens:
- ML (1973)
- Clipper (1984)
- SQL
- Perl (1987)
- PYTHON (1991)
- PHP (1995)
- ASP
- JavaScript (1995)
- HTML
- XML
- TeX/ LaTeX (1985)
- TeX/ LaTeX (1985)
Fonte: www.guiadopc.com.br