Programação Moderna 1

seguindo a mesma linha de Keith....
=pp
^^'

aqui vai outro artigo sobre POG

A Orientação a Gambiarras é um paradigma de programação de sistemas de software que integra-se perfeitamente a qualquer grande paradigma de programação atual e é uma especialidade dos brasileiros.

Para que um programador possa exercer a Orientação a Gambiarras, são necessários alguns fatores específicos, facilmente encontrados em ambientes de desenvolvimento:

  • Sistemas originalmente mal projetados
  • Chefes(?) que batem cabeça e não sabem o que querem
  • Clientes chatos
  • Usuários chatos
  • Falta de vontade
  • Falta de tempo
  • Gente que pensa que é DBA (normalmente são gordos e chatos sem certificações)
  • Término do estoque de café/chá
  • Aproximação do final da tarde
  • Ter o Jackie Chan como chefe
  • Ter o Macgyver como coordenador de projeto
  • Governo defecando regras ou MP's que entrem em vigor imediatamente sem dar tempo de atualizar sistemas.

Reunidos, todos estes fatores transformam o programador em um gambiarrizador, espécie mais evoluída de programador, que possui curva de aprendizado e produtividade muito mais altas.

Estudos realizados neste segmento, mostram que os programadores que evoluem para gambiarrizadores vivem melhor, saem as 18:00h, tem cabelos mais bonitos e esvoaçantes, e além disso pegam mais mulheres. Tudo pelo fato de que, enquanto transformados em gambiarrizadores, eles entram em um estado alfa, onde tudo na vida funciona, de maneira totalmente obscura e impossível, mas funciona.

Há correntes de programadores que discriminam a Orientação a Gambiarras, alegando ser uma má técnica, que faz com que os sistemas fiquem lentos e ganhem bugs. Também ficou claro nas pesquisas que estes programadores só dizem isto por nunca terem evoluído para gambiarrizadores. Com apenas uma evolução, 100% dos programadores admitem que, Orientação a Gambiarras, definitivamente, é o melhor paradigma de todos.


maiores informações:
visaogorda.blogspot.com/2006_10_01_archive.html

Apresentação Final

POG

Já conheciamos esse paradigma, Elisa já tinha pesquisado sobre ele, mas por um descuido ainda não postamos nada sobre... mas foi muito bem lembrado por Xavier e devido aos pedidos resolvemos postar...
então aí vai:

Definição de POG :
A Programação Orientada a Gambiarras (POG ou WOP - Workaround-oriented programming) é um paradigma de programação de sistemas de software que integra-se perfeitamente a qualquer grande Paradigma de Programação atual.
Por definição, Gambiarra é aquilo que é de difícil concepção, de inesperada execução para tornar fácil o uso de algo que sequer deveria existir.


A Origem do POG

Criador do primeiro POG
O primeiro POG que se tem notícia é datado de 1582 d.C. O nome deste POG hoje é chamado de Ano Bissexto, foi criado pelo Papa Gregório XIII, isso prova que aquela música dos Engenheiros do Havaí está correta: "O Papa é POG". Este POG foi aplicado quando descoberto que a Terra leva 365,25 dias para dar uma volta no Sol, porém nosso calendário tem apenas 365 dias, o que leva a uma diferença de 6 horas por ano. Fonte: Times New Roman
Ao invés de corrigir o "sistema" para que não houvesse essa diferença, a solução adotada pelo Papa foi: "A cada quatro anos, é só colocar mais um dia ali". E então foi criado o primeiro POG de que se tem notícia. Por este motivo, em 1930 foi instituído o "Dia Internacional da POG" como o dia 29 de fevereiro.

PPOG (Princípios da Programação Orientada a Gambiarras)
Se funciona, então tá certo - Acoplado ou não, txt ou sql, mil funções ou 10, design patterns... Nada disso tem valor para o usuário, que só precisa de um software funcional. O termo "escalável" é falacioso

Deixe o amanhã para amanhã - Muitos programadores atrasam projetos alegando que a demora de uma implementação para seguirem regras de design patterns ou comentários que ajudarão a outros entender melhor o código. Deixe o amanhã para o otário programador seguinte.

Comentários são para amadores - Um desenvolvedor deve ser treinado para ser fluente na linguagem de programação usada sem precisar de comentários, independente da consequente ruína de sua vida social. Isso também é conhecido como sétimo sentido.

Eficiência primeiro - Evite escrever em várias linhas o que pode ser feito em uma.

Fé em Deus - A informática é levianamente definida como ciência exata, quando esta é na verdade uma ciência holística. Vários casos reais de divina Providência foram testemunhados em ambientes fiéis aos princípios ruins, assim o mal foi exorcizado, e a paz instalou-se graças a fé dos gambiarrizadores. Vale dizer que: há mais mistérios entre o teclado e o monitor do que julga a sua vã filosofia.

1337 h4x0r5 dud3 lol - Quanto mais ilegível, mais respeitado o código é. Consequentemente menos alterado ele é, e mais estável o sistema fica, garantindo a empregabilidade do gambiarrizador.

A ocasião faz o ladrão - Em determinados momentos não conseguimos escapar dela.

Capacidade de Abstração - Este conceito se baseia em focar-se no problema e desconsiderar conceitos e dados deios para atingir o objetivo, ou seja, o Programador deve abstrair tudo que lhe faça perder tempo como regras de negócio desnecessárias ou tratamentos de erros.

Conclusão Hipotética Universal Técnica Explicativa (aka. C.H.U.T.E) - Quando nenhum dos outros conceitos se aplica, utiliza-se este até funcionar ou desistir.

Criatividade acima de tudo - Uma pessoa criativa não é aquela que consegue chegar a diversos lugares, mas sim, aquela que chega no mesmo lugar por diversas maneiras. Portanto, o POGer não é nada mais do que um programador criativo, que faz a mesma coisa que outros, adotando técnicas não convencionais.

Simplicidade acima de tudo - Se o programa funciona sem o Tratamento de Exceções e a
verificação de campos preenchidos pelo usuário porque complicá-lo ?


Mais informações: http://desciclo.pedia.ws/wiki/POG

ALGUMAS LINGUAGENS LÓGICAS

PROLOG



O Prolog é uma linguagem declarativa, significando que em vez de o programa estipular a maneira de chegar à solução, passo a passo, (como nas linguagens procedimentais ou imperativas), limita-se a fornecer uma descrição do problema que se pretende computar. Usa uma coleção base de dados de fatos e de relações lógicas (regras) que exprimem o domínio relacional do problema a resolver.
Um programa pode rodar num modo interativo, a partir de consultas (queries) formuladas pelo usuário, usando a base de dados (os 'fatos') e as regras relacionais (essencialmente implicações lógicas: se.. então), e o mecanismo de unificação para produzir (por uma cadeia de deduções lógicas) a solução.
O Prolog é baseado num subconjunto do cálculo de predicados de primeira ordem, o que é definido por cláusulas de Horn. A execução de um programa em Prolog é efetivamente a prova de um teorema por resolução de primeira ordem. Alguns conceitos fundamentais são unificação, recursão. e backtracking.




MERCURY


Mercury é uma nova linguagem de programação lógica/funcional puramente declarativa. Uma característica interessante dessa linguagem é a detecção de erros. Uma alta porcentagem de erros é detectada em tempo de compilação. Uma "suposta" vantagem (suposta pois não tivemos a oportunidade de comprová-la) é que suas implementações não são mais lentas do que outras escritas em linguagens estruturadas, o que costuma ocorrer com outras linguagens de programação lógica.




SPARCL


SPARCL é uma linguagem de programação lógica desenvolvida com o objetivo de integrar programação lógica, programação visual e programação modularizada. A implementação, que roda em Macintosh (versão 7.1 ou superior) é uma versão acadêmica, implementada apenas para demonstrar as possibilidades de uma linguagem de programação lógica com tais características.

Programação em lógica (wikipedia)

http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica
O que é Programação Lógica?


História
Lógica matemática
Prolog
Negação por falha
Implementação do Prolog
Limitações do uso da lógica matemática para a programação
Programação lógica concorrente
Programação de lógica de ordem superior
Programação lógica linear
Domínios das Aplicações

Pré - SemináRio Paradigmas de Linguagem de Programação.


Paradigmas De Linguagem De Programação.


From: hellsyboy, 7 minutes ago





SemináRio de Paradigmas De Linguagem De Programação - Universidade Federal De Sergipe_Ufs


SlideShare Link

LINGUAGENS DE PROGRAMAÇÃO VISTAS PELOS
SEUS PARADIGMAS


Por:
Maria Cecília Calani Baranauskas*



Principais pontos abordados:

OS "MEIOS" GERADOS PELOS PARADIGMAS DE PROGRAMAÇÃO

OS PARADIGMAS DESPERTADOS EM LOGO

A PROBLEMÁTICA DA "MISTURA" DE PARADIGMAS EM LOGO

O PARADIGMA DA PROGRAMAÇÃO EM LÓGICA E PROLOG

A PROBLEMÁTICA DA DUPLA SEMÂNTICA DE PROLOG