segunda-feira, 24 de outubro de 2011

Paradigmas de Análise de Sistemas


Paradigmas de Linguagens de Programação

Imperativo, Orientado a Objetos, Funcional e Lógico


Paradigma de programação, nada mais é do que seguir determinadas regras na busca do “norte” que o programador necessita seguir na montagem da estrutura e execução de um programa. Assim como existem várias metodologias de construções de sistemas, diferenciar paradigmas é falar em técnicas diferenciadas de programação, onde muitas vezes tais técnicas podem até dificultar uma correta construção de sistemas. Abaixo temos Nikalus Wirth (Pascal), Bertrand Meyers (Eiffel) e Matz (Ruby).

INDICE TIBOE


Niklaus Emil Wirth (Natural de Winterthur, 15 de Fevereiro de 1934) foi um professor de ciência da Computação suiço. Criador da línguagem de programação Pascal. Graduado em engenharia electrônica pela Swiss Federal Institute of Technology (ETH) em Zurique (1959), M.Sc. na universidade Laval, Canadá em 1960, e Ph.D. na Universidade da Califórnia, Berkeley (1963). Wirth foi um Professor/Assistente na ciência de computadores na Universidade de Stanford (1963 - 1967), e em seguida na Universidade de Zurique. Em 1968 tornou-se professor de informatica na ETH Zurique. Ele permaneceu dois anos na Xerox PARC, na Califórnia, e aposentou-se em abril de 1999.
Ruby é uma linguagem de programação interpretada multiparadigma, de tipagem dinâmica e forte, com gerenciamento de memória automático, originalmente planejada e desenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto, para ser usada como linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python. Ruby suporta programação funcional, orientada a objetos, imperativa e reflexiva.  


Bertrand Meyer é um dos grandes nomes das linguagens de programação e  especificamente das linguagens de programação por objetos. É o  mentor da linguagem de programação Eiffel que é percursora das  atuais linguagens por objetos como o Java e o C#.Bertrand Meyer é autor de uma extensa bibliografia,assim como de uma grande atividade acadêmica e um consultor reputado no campo das linguagens ;de programação.O seu livro sobre Programação Orientada aos Objetos é considerado dos que melhor expõe o paradigma e as suas implicações e vantagens.Bertrand Meyer foi o arquiteto inicial da linguagem e método denominado por Eiffel, tendo acompanhado a sua evolução e desempenho comercial,e foi o mentor do método de desenvolvimento designado por "Design by Contract".

Conceito de Linguagem de Programação
Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.

Programação Estruturada

Situando-se na programação estruturada, pode-se dizer que busca a criação de estruturas simplificadas usando para isso sub-rotinas e funções. É por sua vez a linha divisória entre a programação linear e a programação orientada a objetos, em se falando de criação de softwares. Na prática, pode-se dizer também que a programação estruturada transformou- se em uma programação modular, onde cada parte de tal programação busca resolver uma necessidade única.

Programação Orientada a Objetos

Já na programação orientada a objetos, a base do pensamento na hora da construção de um programa, é a busca de uma total interação entre diversas unidades de software, chamados objetos. A busca; na hora de fazer a análise e o projeto de orientação a objetos, tem como consequência a procura do melhor conjunto de objetos para formar tal sistema. Com isto, o resultado é a necessidade da troca de mensagens entre tais objetos. O que gera o correto e eficaz funcionamento do sistema. Nesta programação, as classes contidas em certo sistema/ programa, definem os objetos presentes e trabalhados. Cada classe também determina o comportamento que é definido pelos métodos e seus estados possíveis, chamados de atributos. Talvez o exemplo mais fácil de ser citado é a linguagem java, tão utilizada, mas com poucos profissionais dominando esta tecnologia. Linguagem Eiffel Eiffel é uma linguagem de programação puramente orientada a objeto, que implementa as teorias sobre a orientação a objeto de Bertrand Meyer.Sendo Bertrand Meyer um teórico francês da orientação a objeto, o nome da linguagem obviamente é uma alusão à famosa Torre Eiffel, um dos símbolos de Paris e, portanto, da França.Dr. Bertrand Meyer, fundador da Eiffel Software, concebeu o compilador Eiffel 1. Ele foi apresentado ao público na primeira The International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA) em outubro de 1986, onde ele atraiu considerável atenção, levando o Dr. Meyer a divulgá-lo como um produto comercial, no final de 1986. A última iteração envolvendo a tecnologia original do Eiffel foi a versão 2.3, lançada em meados de 1990. A próxima versão, Eiffel 3, foi escrito inteiramente em Eiffel. Eiffel 3 apresenta o Melting Ice Technology para recompilação rápida, um ambiente gráfico com interface totalmente inovadora para o usuário, com base em conceitos e avanços consideráveis em bibliotecas (gráficos, rede ...) e otimização do código gerado. As primeiras versões foram lançadas em Unix e seguido pelo Linux, VMS, OS / 2, Windows (Windows 3.1, Windows 95, Windows NT),. NET, e Mac OS X. Hoje, a tecnologia Eiffel continua a empurrar as fronteiras do desenvolvimento de software. Com a introdução do EiffelStudio ™, os programadores podem tirar partido de uma IDE eficiente para alcançar a mais alta qualidade, robustez, escalabilidade de aplicações reutilizáveis - em todas as principais plataformas. Com EiffelEnvision ™, os programadores podem ainda usar o poder da linguagem Eiffel dentro do popular ambiente do Microsoft Visual Studio. NET
A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programação. De fato, o paradigma "orientação a objeto", tem bases conceituais e origem no campo de estudo da cognição, que influenciou a área de inteligência artificial e da linguística, no campo da abstração de conceitos do mundo real. Na qualidade de método de modelagem, é tida como a melhor estratégia para se eliminar o "gap semântico", dificuldade recorrente no processo de modelar o mundo real do domínio do problema em um conjunto de componentes de software que seja o mais fiel na sua representação deste domínio.

Linguagens de Script

Shell é um poderoso interpretador de comandos que é utilizado nos sistemas UNIX. Ele oferece uma gama muito grande de comandos e possibilidades tornando-o uma linguagem muito flexível. Normalmente é utilizado para automatizar diferentes tipos de tarefas.
Shell script é uma linguagem de script usada em vários sistemas operacionais (operacionais), com diferentes dialetos, dependendo do interpretador de comandos utilizado. Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux.
Perl
Practical Extraction and Report Languag (PERL). Uma das grandes vantagens desta linguagem é a possibilidade de trabalhar com grandes volumes de dados como imagens em alta definição e terabytes de dados. Possui uma grande versatilidade no processamento de strings, utiliza expressões regulares e ainda permite um tempo de desenvolvimento relativamente curto.
Javascript
JavaScript é uma linguagem de script (embora alguns digam que é uma linguagem de programação, W3Schools afirma que que se trata de uma linguagem de script, podendo ser considerada uma "leve linguagem de programação").
James Gosling 
ActionScript
ActionScript é uma linguagem de programação orientada a objetos baseada em ECMAScript, utilizada principalmente para construção de aplicações RIA (do inglês RIA: Rich Internet Applications (Aplicações Ricas de Internet)). É executada em uma máquina virtual (AVM - "ActionScript Virtual Machine"), atualmente na versão 3 que está disponível no Adobe Flash Player (plug-in encontrado em navegadores web) e também no ambiente Adobe AIR.

AJAX

AJAX (acrônimo em língua inglesa de Asynchronous Javascript and XML, em português "Javascript e XML Assíncronos") é o uso metodológico de tecnologias como Javascript e XML, providas por navegadores, para tornar páginas Web mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. Foi inicialmente desenvolvida pelo estudioso Jessé James Garret e mais tarde por diversas associações.

Python

Python oferece uma sintaxe simples mas ao mesmo tempo suporta a maior parte das características importantes de linguagens de mais alto nível como Java e C++. Oferece orientação a objetos, mecanismo de tratamento de erros e possibilidade e executar o mesmo programa, sem alterações em plataformas de hardware e sistema operacionais diferentes.

PHP

Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL.A linguagem surgiu por volta de 1994, como uns pacotes de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts.
    Ramus Ledorf

ASP.NET

ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web e é o sucessor da tecnologia ASP. É um componente do IIS que permite através de uma linguagem de programação integrada na. NET Framework criar páginas dinâmicas. Não é nem uma linguagem de programação como VBScript, PHP, nem um servidor web como IIS ou Apache.
O ASP.NET é baseado no Framework .NET herdando todas as suas características, por isso, como qualquer aplicação .NET, as aplicações para essa plataforma podem ser escritas em várias linguagens, como C# e Visual Basic .NET. Embora se possa desenvolver aplicações ASP.NET utilizando somente o notepad e o compilador .NET, o ambiente de desenvolvimento mais comum das aplicações ASP.NET é oVisual Studio .NET já que possui algumas características que facilitam o trabalho do programador, como os componentes visuais para criação de formulários de páginas Web. Uma aplicação para web desenvolvida em ASP.NET pode reutilizar código de qualquer outro projeto escrito para a plataforma .NET, mesmo que em linguagem diferente.

Microsoft Redmon
Uma página ASP.NET escrita em VB.NET pode chamar componentes escritos em C# ou Web Services escritos em C++, por exemplo. Ao contrário da tecnologia ASP, as aplicações ASP.NET são compiladas antes da execução, trazendo sensível ganho de desempenho.

Paradigmas de IMPERATIVO

Paradigma imperativo, também conhecido como paradigma procedimental, representa o enfoque tradicional para o processo de programação. De fato, é no paradigma imperativo que se baseia o nosso pseudocódigo, bem como a linguagem de máquina. Como o nome sugere, o paradigma imperativo define o processo de programação como o desenvolvimento de uma sequencia de instruções que, quando executada, manipula dados para obter o resultado desejado. Assim, o paradigma imperativo diz-nos que a abordagem ao processo de programação é encontrar um algoritmo para resolver o problema e então expressá-lo como uma sequencia de instruções.





 
Em contraste com o paradigma imperativo, que requer do programador um algoritmo para resolver o problema, está o paradigma declarativo, que requer a descrição do problema. A estratégia aqui consiste em descobrir e implementar um algoritmo geral para solucionar problemas. Feito isso, será possível resolver problemas simplesmente apresentando-os problemas em forma de algoritmo.
O principal obstáculo ao desenvolvimento de um ambiente de programação baseado no paradigma declarativo é descobrir um algoritmo subjacente de resolução de problemas. Por isso, as principais linguagens declarativas eram por natureza de propósito especifico.
Emprego do  Paradigma Imperativo
No início de 1990, Naughton, Gosling e Sheridan começaram a definir as bases para o projeto de uma nova linguagem de programação, apropriadas para eletrodomésticos, sem os problemas já tão conhecidos de linguagens tradicionais como C e C++. O consumidor era o centro do projeto, e o objetivo era construir um ambiente de pequeno porte e integrar esse ambiente em uma nova geração de máquinas para "pessoas comuns". A especificação da linguagem terminou em agosto de 1991, e a ela deu-se o nome de "Oak" "Carvalho". Por problemas de copyrigth (já existia uma linguagem chamada Oak) o nome foi mudado em 1995 para Java, em homenagem à ilha de Java, de onde vinha o café consumido pela equipe da Sun.
Em 1992, Oak foi utilizada pela primeira vez em um projeto chamado Projeto Green, que tinha por propósito desenvolver uma nova interface de usuário para controlar os aparelhos de uma casa.
Niklaus Wirth recebeu o grau de Engenheiro Eletrônico do Instituto Federal Suíço de Tecnologia (ETH) em Zurique, em 1959. Posteriormente, ele estudou na Universidade Laval, em Quebec, no Canadá, e na Universidade da Califórnia em Berkeley, onde recebeu o Ph.D. grau em 1963. Até 1967, ele foi professor assistente no recém-criado Departamento de Ciência da Computação da Universidade de Stanford. Atualmente o Pascal tem continuidade através do Delphi.
Stroustrup, nas suas próprias palavras, "inventou a C++, escreveu as suas definições iniciais e produziu a sua primeira implementação, (…) escolheu e formulou os critérios de projecção da linguagem C++, desenhou todas as suas facilidades principais e foi responsável pelo processo de propostas de extensão no comité de padrões de C++." Stroustrup também escreveu o que muitos consideram a obra padrão de introdução à linguagem, "A linguagem de programação C++", que se encontra na terceira edição. A obra possui revista para reflectir a evolução da linguagem e o trabalho do comité de padrões de C++.
Ele desempenhou o cargo de diretor do Departamento de Investigação de Programação em Grande Escala dos Laboratórios Bell da AT&T, desde a sua criação até aos finais de 2002
Gosling é apontado como sendo o inventor da linguagem de programação Java (lançada em Maio de 1995). Ele fez o projeto original do Java e implementou o seu primeiro compilador e sua máquina virtual.
James Gosling (Calgary, 19 de Maio de 1955) é um programador canadense, mais conhecido como o pai da linguagem de programação Java . Em 1977, James Gosling se formou Bacharel em Ciência da Computação pela Universidade de Calgary , e em1983 tornou-se PhD em Ciência da Computação pela Universidade Carnegie Mellon.

9 comentários: