Você está na página 1de 8

Lista de Paradigmas de Linguagem de programao.

Holderlan de Souza Mouro


1
Como profissional sempre importante entender questes tcnicas sobre as
diferentes linguagens de programao, pois ao entend-las e ter conhecimento como so
compiladas ou interpretadas, tem sem um maior domnio sobre a mesma, podendo
desenvolver cdigo otimizado, cdigo mais rpido, com mais manutenibilidade, poupando
tempo, processamento e promovendo o aperfeioamento do cdigo. Alm do que
conhecendo o prprio escopo geral da linguagem facilita a abstrao para se resolver
problemas com mais qualidade usando esta linguagem.
2
importante para a massificao das linguagens, ou seja sua disseminao pela
comunidade, e ao mesmo tempo para a evoluo da linguajem, pois bugs podem ser
corrigidos de forma mais rpida e novas implementaes, como bibliotecas novas alm das
padro podem ser desenvolvidas facilitando o desenvolvimento de aplicaes usando estas
linguagens, sem contar com a melhor documentao e oferta de ajuda da comunidade
internacional pela web ao surgir uma duvida no decorrer de um projeto.
3
A mais usada tem sido o FORTRAN.
4.
A linguagem de alto nvel para negcios que tem sido mais bem-sucedida o COBOL ,
surgiu em sua primeira verso aparecendo em 1 960.tanto que a sigla significa Linguagem
Comum Orientada para os Negcios , uma linguajem com nfase em grandes banco de dados
comerciais que usada por bancos e at pela defesa dos estados unidos, possui orientao a
objetos e suas ultimas especificaes incluem caractersticas de muitas linguagens modernas.
5
A pioneira tem sido a LISP , cujo nome deriva de List processing, onde as listas so um
ponto importante da linguagem, usa funes matemticas como estruturas de dados
elementares, apesar de ser a principal linguagem de programao usada para inteligncia
artificial , considerada uma linguagem de propsito geral, sendo utilizada em softwares de
CAD como os da AutoDesk.
6.
Praticamente todo em C, assim como os sistemas Linux que derivam do Minix que foi
um Unix escrito pelo clebre Tanembaum, alm de possurem cdigo em assembly tambm, e
muitos de seus aplicativos em shell script
7
Complexidade, tornando a menos compreensvel.
8 referenciando valores ambguos que podem causar erros de compilao,
principalmente em chamadas de funes, procedures.
9
Apesar da deficincia em ortogonalidade presente em c, alguns programadores mais
experientes no a consideram uma falha e sim da prpria forma de construo da linguagem,
que a principio foi criada para reescrever o Unix que era totalmente em assembly.
Nesse ponto podemos exemplificar a questo da falta de ortogonalidade, que em
linguagem de programao, significa que um conjunto relativamente pequeno de
construes primitivas podem ser combinadas em um nmero pequeno de maneiras para
construir as estruturas de controle e de dados de uma linguagem.

Na prtica, uma linguagem ortogonal seria mais fcil de aprender e teria menos
excees. Cada exceo uma construo que precisa ser aprendida para ser evitada.
Exemplos de falta de ortogonalidade em C:

Um struct podem ser valores de retorno de uma funo, mas vetores no.
Um vetor pode ser valor de retorno se estiver encapsulado por um struct
Um membro de um struct pode ser qualquer tipo de dado exceto void ou
um struct do mesmo tipo.
Um vetor pode ser de qualquer tipo exceto void.
Todos os tipos de dados so passados por valor exceto vetores
10
Algol 68
11
Cada instruo em C++ chamada de sentena.
Sentenas simples
so terminadas com um ponto e vrgula.
Usando chaves, podemos agrupar sentenas em blocos, chamados de
sentenas compostas
.
Exemplos de sentenas incluem:

Simples:
x = 3;

Composta:
{
i = 3;
cout << i << endl;
i = i + 1;
}
O corpo da funo
main()
um exemplo de sentena composta.


12
o conceito de abstrao de processos um dos mais antigos no projeto de
linguagens absolutamente crucial para a programao, so historicamente anteriores
abstrao de dados todos os subprogramas so abstraes de processo.
exemplos: chamadas sort(array1, len1), sort(array2, len2), ...
13
um programa confivel quando est de acordo com todas as suas
especificaes em todos os sentidos
14
importante verificar pois estes no so detectados pelo compilador ou pelo
sistema em tempo real
15
Apelidos ou aliases, quando mais de uma varivel utilizada para acessar
um mesmo posio de memoria.
16
Mecanismo responsvel pelo tratamento de ocorrncias ou , de condies
anormais que podem alterar o fluxo normal de um programa, pode ser feita atravs
de uma rotina que realize o tratamento em determinada parte do cdigo e o execute
apartir daquele ponto ou em outros casos, ou mesmo encerrar a execuo naquele
ponto at que a exceo seja corrigida, tratada, tambm Em sistemas que no
utilizam o conceito de excees as rotinas devem retornar algum cdigo de erro
especial,, como por exemplo um clculo com diviso por zero que retorna uma
mensagem de erro, um clculo de inteiro onde o usurio informa um valor em
ponto flutuante etc.
17
Houve uma mudana na forma como as linguagens de programao
comearam a ser escritas apartir da dcada de 70 , com os conceitos de Booch sobre
ciclo de vida, onde mudou se a ideia de orientao maquina para orientao
pessoas, como foco na manuteno do software, por isto este necessitando ser de
mais simples entendimento para os programadores, tornando relativamente mais
simples a manuteno, o entendimento, provendo qualidade e mais agilidade na
codificao.

18
Em dcadas passadas o custo dos compiladores era proibitivo e at a sua
eficincia contestada, havendo uma escolha entre o custo de compilao e a
eficincia ou rapidez da compilao.
19
A maior influncia tem sido das arquiteturas de computadores onde temos a
arquitetura de von Newman e a de Harvard entre as mais conhecidas, que utilizam
linhas de construo de processadores como a CISC e a RISC que esto diretamente
ligadas forma como as informaes se comunicam com o processador memorias,
barramentos etc, sendo o Risc mais Simples e o CIsc mais complexo.
20
So as linguagens imperativas
21
O aumento da complexidade e carter crtico de softwares, no foi
acompanhado da melhoria dos processos de criao de software, uma vez que
softwares eram construdos sem mtodos adequados e propensos a erros, o que era
grave, pois os mesmos atendiam a setores cada vez mais estratgicos e nada sujeitos
a falhas.
Surgiram propostas ou metodologias para que ao invs de se utilizar a
engenharia clssica, fosse utilizada a chamada engenharia de software, termo
ainda inexistente poca, algumas solues descritas foram, Anlise Econmica de
Sistemas de Informaes, o uso de melhores tcnicas, mtodos e ferramentas,
interesse do governo em treinamentos e educao, mudana de paradigma sobre o
que desenvolver software e como deveria ser feito. Os principais problemas
encontrados nestas pesquisas foram a incompletude da verificao de tipos e a
inadequao das sentenas de controle.
22
Esse paradigma interessante pelo uso de classes que associam elementos da
programao a coisas do mundo real, favorecendo o reuso de cdigo, entre os
elementos mais importantes podemos citar a herana, polimorfismo e
encapsulamento.
23
Foi a Simula 67
24
Legibilidade e facilidade de escrita, alguns , preferidos por usurios e outros
pelos projetistas.
25
Compilao, interpretao e sistemas Hbridos.
26
Os Compiladores, cdigos compilados so de 10 a 100 vezes mais rpidos do
que cdigo interpretado, claro que isso em milissegundos praticamente
imperceptvel para o usurio hoje em dia devido ao grande poder computacional,
fazendo alguma diferena em sistemas mais complexos com grande carga de
clculos de execues de tarefas etc.
27
Pode se dizer que a tabela de cdigos a base de dados para o processo de
compilao, contendo informaes sobre tipos e atributos de cada um dos nomes
que o usurio atribuiu em seu programa.

28
O ligador tambm chamado linker, que faz a linkedio, tem o importante
papel de ligar programas do sistema a programas do usurio.
29
Atravs da teoria do gargalo de von Newman pode se entender melhor como
alguns fatores de arquitetura de hardware podem promover uma lentido em
sistemas computacionais, por exemplo quando existe somente um caminho de dados
ou barramento entre um processador e a memria do computador, pois por mais
largura de banda que esse Bus possua, o acesso a memoria sempre ser mais lento
que o do processador que trabalha a um ciclo de clock ou de instrues muito mais
alto, por isso buscaram se solues para diminuir estas deficincias como
multiplicadores de clok, barramentos de memoria mais rpidos, latncias menores,
alm de tcnicas avanadas que combinam hardware e software juntos em
processadores como os caches que so memorias que dependendo da arquitetura do
processador , podem trabalhar na mesma velocidade dele ou em sua metade,
fornecendo um acesso bem mais rpido aos dados requisitados pelo sistema de
informaes comumente mais usadas, do que ter que buscar diretamente na memoria
que muito mais lenta, o que causava o chamado wait state, estado de espera na
minha traduo literal.
Muitas tcnicas de melhoria de acesso foram criadas buscando sanar esse
gargalo, como por exemplo a arquitetura de Harvard, Baseada tambm na separao
de barramentos de dados das memrias onde esto as instrues de programa e das
memrias de dados, permitindo que um processador possa acessar as duas
simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de von
Neumann, pois pode buscar uma nova instruo enquanto executa outra, alm de
algumas tcnicas j descritas por mim como a melhoria de caches, os famosos
circuitos de previso de erro etc.
30
Permitir uma fcil implementao de operaes de depurao em cdigo
fonte, o ciclo escrita, execuo, modificao mais rpido.