Mensagem de boas vindas

Olá e seja bem vindo ao blog Mecatrónica para todos.
"Facilitando a vida do estudante angolano"...

Traduzir esta página / Translate this page

Mostrar mensagens com a etiqueta Linguagens de Programação. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Linguagens de Programação. Mostrar todas as mensagens

quinta-feira, 10 de maio de 2012

PHP





PHP ( PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem de programação interpretada livre e utilizada para gerar conteúdo dinâmico na World Wide Web.

Histórico

A linguagem php surgiu em meados de 1994, como um pacote de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem php com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e métodos. Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como são as linguagens Java, Ruby e outras. O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois, caso haja alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o que não acontecia na PHP 4.

 Principais características

A linguagem PHP é uma linguagem de programação de domínio específico, ou seja, seu escopo se estende a um campo de atuação que é o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propósito principal é de implementar soluções web velozes, simples e eficientes. Características:
  1. Velocidade e robustez
  2. Estruturado e orientação a objectos
  3. Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer lugar
  4. Tipagem dinâmica
  5. Sintaxe similar a C/C++ e o Perl
  6. Open-source

Para uma abordagem mais aprofundada sobre a linguagem PHP, faça o download das seguintes apostilas:
  1. Linguagem PHP
  2. Aprenda PHP
Ver também:

terça-feira, 8 de maio de 2012

Embarcadero Delphi




Embarcadero Delphi, anteriormente conhecido como CodeGear Delphi, Inprise Delphi e Borland Delphi, também conhecido como Delphi, é um compilador, uma IDE e uma linguagem de programação, produzido antigamente pela Borland Software Corporation e atualmente produzido pela Embarcadero. O Delphi, originalmente direcionado para a plataforma Windows.

O arquiteto por trás do Delphi foi Anders Hejlsberg, até a sua alteração para a Microsoft em 1996, onde se tornou o arquiteto responsável pelo projeto do C# e foi peça chave na criação do ambiente Microsoft .NET, utilizado no Delphi 8.

O Delphi é muito utilizado no desenvolvimento de aplicações desktop, aplicações multicamadas e cliente/servidor, compatível com os bancos de dados mais conhecidos do mercado.



O nome Delphi é inspirado na cidade de Delfos, o único local na Grécia antiga em que era possível consultar o Oráculo de Delfos. O nome deve-se ao fato de que os desenvolvedores do compilador buscavam uma ferramenta capaz de acessar o banco de dados Oracle - daí o trocadilho: "a única maneira de acessar o oráculo é usando Delphi". Pronuncia-se "dél-fi".

Comparação com outras ferramentas de desenvolvimento

As principais diferenças entre o Delphi e outras ferramentas de desenvolvimento são:
  • A programação visual,
  • Programação orientada a eventos,
  • As paletas VCL e CLX,
  • Forte ênfase na conectividade com diversos bancos de dados 
  •  Um grande número de componentes produzidos por terceiros, muitos deles disponíveis na internet e Grande parte deles com o código fonte disponível.

 Exemplos de programas
  • Programa Olá Mundo

begin
   ShowMessage('Olá, Mundo!');
end.

OBS: Se o caro leitor quiser aprender a programar em Delphi pode fazer o download de apostilas sobre esse assunto em:
  1. Apostila de Delphi
  2. Programando_em_Delphi.html


segunda-feira, 7 de maio de 2012

Visual Basic


Antes de começar a abordar o assunto principal, gostaria de dizer que os conteúdos deste artigo, visam apenas mostrar o que é a linguagem e algumas características da mesma. Para um conhecimento mais aprofundado do assunto, é necessário que o caro leitor faça um curso, ou que leia e entenda livros (apostilas) sobre esse assunto, para tal no fim deste artigo estão disponíveis links para download de livros sobre esse que fazem uma abordagem mais profunda do assunto e que ajudaram o caro leitor a adquirir conhecimentos que o ajudaram a começar a programar em Visual Basic.



O Visual Basic (abreviado como VB) é uma linguagem de programação produzida pela empresa Microsoft, e é parte integrante do pacote Microsoft Visual Studio. Sua versão mais recente faz parte do pacote Visual Studio .NET, voltada para aplicações .Net. Sua versão anterior fez parte do Microsoft Visual Studio 6.0, ainda muito utilizado atualmente por aplicações legadas.

Um aperfeiçoamento do BASIC, a linguagem é dirigida por eventos (event driven), e possui também um ambiente de desenvolvimento integrado totalmente gráfico, facilitando enormemente a construção da interface das aplicações. O nome Visual Basic, é Derivado de:
  1. Visual — o Nome do Pacote EX: Visual studio (Visual C++, Visual C#, Visual Basic .NET)
  2. Basic — a linguagem de Programação

Visual Basic era muito usada em ambientes corporativos: uma pesquisa de 2005 indicou que 62% dos programadores usavam uma forma de Visual Basic, seguido de C++, JavaScript, C# e Java. Atualmente foi suplantada pelo Java.

Existem várias linguagens derivadas do VB, entre as quais:
  • VBScript é a linguagem por definição para Active Server Pages e pode ser usada no scripting (programação) de Windows e de páginas da Internet.
  • Visual Basic .NET é a nova versão do Visual Basic, que é parte integrante da plataforma Microsoft .NET.Para fins de comparação, essa linguagem usa o paradigma de Orientação a Objecto.
  • Visual Basic for Applications (VBA) permite a criação de macros, e está integrado em todos os produtos da família de produtos Microsoft Office.

Exemplos de código

  • Programa "Alo mundo"

Private Sub Form_Load()
    MsgBox "Olá mundo!"
End Sub
Private Sub Command1_Click()


Programa alo mundo (correndo em VB)

  • Soma de dois números A e B

Dim A As Long, B As Long, C As Long
  A = InputBox("Informe o 1° numero a somar : ", "Soma", "")
  B = InputBox("Informe o 2° numero a somar : ", "Soma", "")
  C = A + B
    MsgBox C, vbInformation + vbOKOnly, "Soma"
Soma de dois numero A e B

OBS: Para aprofundar mais o estudo do Visual Basic, faça o download das seguintes apostilas:
  1. Aprendendo VB
  2. Programando em VB
Não esqueçam de deixar os vossos comentários sobre os artigos postados neste blog, pois assim ajudaram a melhorar as publicações vindouras.

Ver também:



·         Linguagens de programação
·         Lógica de programação



domingo, 6 de maio de 2012

Linguagem de programação C




A linguagem C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, padronizada pela ISO, criada em 1972, por Dennis Ritchie, no AT&T Bell Labs, para desenvolver o sistema operacional Unix.

A linguagem C é uma das linguagens de programação mais populares . Esta linguagem tem influenciado muitas outras linguagens de programação, mais notavelmente C++, que originalmente começou como uma extensão para C.

História

O desenvolvimento inicial da linguagem C ocorreu no AT&T Bell Labs entre 1969 e 1973. Não se sabe se o nome "C" foi dado à linguagem porque muitas de suas características derivaram da linguagem B, e C é a letra conseguinte no alfabeto, ou porque "C" é a segunda letra do nome da linguagem BCPL, da qual derivou-se a linguagem B.

Esta linguagem  foi originalmente desenvolvida para a implementação do sistema Unix (originalmente escrito em PDP-7 Assembly, por Dennis Ritchie e Ken Thompson). Em 1973, com a adição do tipo struct, C tornou-se poderoso o bastante para a maioria das partes do núcleo do Unix, serem reescritas em C. Este foi um dos primeiros sistemas que foram implementados em uma linguagem que não o Assembly.

Em geral

C é uma linguagem imperativa e procedural, para implementação de sistemas. Seus pontos de design foram para ele ser compilado, fornecendo acesso de baixo nível à memória e baixos requerimentos do hardware. Também foi desenvolvido para ser uma linguagem de alto nível, para maior reaproveitamento do código. C foi útil para muitas aplicações que foram codificadas originalmente em Assembly.

Essa propriedade não foi acidental; a linguagem C foi criada com o objectivo principal em mente: facilitar a criação de programas extensos com menos erros, recorrendo ao paradigma da programação procedural, mas sobrecarregando menos o autor do compilador, cujo trabalho complica-se ao ter de realizar as características complexas da linguagem. Para este fim, a linguagem C possui as seguintes características:
  • Uma linguagem extremamente simples, com funcionalidades não-essenciais, tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um conjunto de bibliotecas de rotinas padronizada;
  • A focalização no paradigma de programação procedural;
  • Um sistema de tipos simples que evita várias operações que não fazem sentido;
  • Uso de uma linguagem de pré-processamento, o pré-processador de C, para tarefas tais como a definição de macros e a inclusão de múltiplos ficheiros de código fonte;
  • Ponteiros dão maior flexibilidade à linguagem;
  • Acesso de baixo-nível, através de inclusões de código Assembly no meio do programa C;
  • Parâmetros que são sempre passados por valor para as funções e nunca por referência ;
  • Definição do alcance lexical de variáveis;
  • Estruturas de variáveis, (structs), que permitem que dados relacionados sejam combinados e manipulados como um todo;

A linguagem C tem como ponto forte, a sua eficiência. É a linguagem de programação preferida para o desenvolvimento de sistemas e softwares de base, apesar de também ser usada para desenvolver programas de computador. Outra característica importante de C, é sua proximidade do código de máquina, que permite que um projectista seja capaz de fazer algumas previsões de como o software irá se comportar, ao ser executado.

 Tipos de dados

A linguagem C possui tipos para números inteiros de vários tamanhos com e sem sinal, números de ponto flutuante, caracteres. C usa extensivamente ponteiros, um tipo muito simples de referência que guarda o endereço de memória da variável. Durante o tempo de execução, o ponteiro é simplesmente uma morada de máquina tais como aquelas manipuladas em Assembly, mas em tempo de compilação possui um tipo complexo que indica o tipo do objecto para onde ele aponta, permitindo que se verifique o tipo de expressões, incluindo ponteiros. Os ponteiros são usados extensivamente em C.

Tipo int (Inteiro)

O tipo de dado int (inteiro) serve para armazenar valores numéricos inteiros. Existem vários tipos de inteiros, cada um de um tamanho diferente (dependendo do sistema operacional e/ou arquitetura do processador):
  1. int, pode possuir 16 bits, 32 bits ou 64 bits
  2. short int, deve possuir tamanho de no mínimo 16 bits e não pode ser maior que int
  3. long int, deve possuir tamanho mínimo de 32 bits
  4. long long int, deve possuir tamanho mínimo de 64 bits

Todos estes tipos de inteiros podem ainda ser declarados precedidos da cláusula unsigned, o que faz com que só suporte números positivos. Isto faz com que, com o mesmo tamanho, uma variável suporte mais números positivos do que um signed.

Tipo char (Carácter)

O tipo char ocupa 1 byte, e serve para armazenar caracteres. Isso significa que o programa reserva um espaço de 8 bits na memória RAM  para armazenar um valor. Com vetores do tipo char é possível criar strings que é um tipo que permite armazenar mais de um caracter.

Tipo float (Real)

O tipo de dado float serve para armazenar números reais , ou seja, que podem ou não conter casas decimais.

Tipo double

O tipo de dado double serve para armazenar números decimais com dupla precisão, normalmente tem o dobro do tamanho do float e portanto o dobro da capacidade.

Relações com C++

A linguagem de programação C++ foi originalmente derivada do C para suportar programação orientada a objetos. À medida que as linguagens C e C++ foram evoluindo independentemente, a divisão entre as duas veio a aumentar.

Hoje, as principais diferenças entre as duas linguagens são:
  • inline - em C++, funções em linha encontram-se no espaço global enquanto que em C encontram-se no espaço local. Por outras palavras, isso significa que, em C++, qualquer definição de qualquer função em linha tem de estar em conformidade com a "regra de uma definição" da linguagem C++. Mas em C, a mesma função em linha pode ser definida de maneira diferente em diferentes arquivos (ou ficheiros)
  • A palavra-chave bool, igual à usada em C++. Padrões anteriores de C não definiam um tipo booleano e vários (e incompatíveis) métodos foram usados para simular um tipo booleano.

Algumas características originalmente desenvolvidas em C++ também apareceram em C. Entre elas encontram-se:

  • Protótipos de função (com declaração de tipos de parâmetros) e remoção do "int" implícito
  • Comentários de linha, indicados por //; comentários de linha terminam com um carácter de nova-linha
  • A palavra-chave inline
  • Tipagem mais forte

 Programa de exemplos

  • Programa Olá Mundo

A seguinte aplicação foi publicada na primeira edição de C de K&R, e tornou-se no programa de introdução padrão da maior parte dos livros sobre C. O programa envia o texto "Olá, Mundo!" para a saída padrão, que é normalmente o console.

#include <stdio.h>
int main()
{
   printf("Olá, Mundo!\n");
   return 0
}
Execução do programa, em consola
A primeira linha do programa é uma diretiva de pré-processamento #include, que causa com que o pré-processador substitua aquela linha pela totalidade do conteúdo do arquivo qual diretiva se refere. Neste caso o arquivo padrão stdio.h (que contém protótipos de funções para trabalho com entrada e saída) irá substituir a linha.

Na linhaseguinte esta a se definir a função main. A função main é a função principal no programa, pois existem casos em que temos duas ou mais funções num só programa em C. Os caracteres { e } delimitam a extensão da função. O termo int define o tipo de dados que será retornado na saida, que neste caso é um inteiro.

A linha seguinte executa uma função chamada printf (que é uma função predifinida contida na biblioteca stdio.h). O printf é utilizado quando se pretende mostrar algo durante a execução do programa, e neste caso é a frase “Ola Mundo”. O comando return retorna o valor 0 para o sistema, que é interpretado pelo mesmo como que a função main() foi executada e encerrada com sucesso (sem erros). Por fim, o caracter } indica o fim da função main.

Eu comecei a aprender essa linguagem de programação do ensino médio. Com a intensão de mais tarde aprender a programar microcontroladores.


OBS: Neste artigo tentei focar no básico da linguagem C, o que é, sua história e caracteriscas. Para quem deseja aprender a programar pode fazer o download dos livros (apostilas), cujos links são:
  1. Apostila de linguagem C
  2. Curso de linguagem C
Espero que elas ajudem, a aprender esta fascinante linguagem de programação.

sábado, 5 de maio de 2012

Lógica de programação e algorítimo



Para que se possa ser um bom programador, é necessario um boa lógica para a resolução dos mais variados problemas, e a melhor formar de se ter esse raciocínio lógico e estudando lógica de programação que basicamente inclui o estudo dos algoritimos. Eles são os primeiros elementos para a constituição de um programa que resolva uma dada situação. Hoje abordaremos tal assunto.

Algoritmo para ver se um candeeiro esta bom ou não
Lógica de Programação é a técnica de desenvolver algoritmos (sequências lógicas) para atingir determinados objetivos dentro de certos regras baseadas na Lógica matemática e em outras teorias básicas da Ciência da Computação que depois são adaptados para a Linguagem de Programação utilizada pelo programador para construir seu software.

Um algoritmo é uma sequência não ambígua de instruções que é executada até que determinada condição se verifique. O conceito de algoritmo é freqüentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema.

Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros. Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os sapatos antes de vestir a calça enquanto outro algoritmo especifica que você deve primeiro vestir a calça e depois as meias e os sapatos. Fica claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado.

O conceito de um algoritmo foi formalizado em 1936 pela Máquina de Turing de Alan Turing e pelo cálculo lambda de Alonzo Church, que formaram as primeiras fundações da Ciência da Computação.

Formalismo

Um programa de computador é essencialmente um algoritmo que diz ao computador os passos específicos e em que ordem eles devem ser executados.
Quando os procedimentos de um algoritmo envolvem o processamento de dados, a informação é lida de uma fonte de entrada, processada e retornada sob novo valor após processamento, o que geralmente é realizado com o auxílio de uma ou mais estruturas de dados.
A maneira mais simples de se pensar um algoritmo é por uma lista de procedimentos bem definida, no qual as instruções são executadas passo a passo a partir do começo da lista, uma idéia que é pode ser facilmente visualizada através de um fluxograma.

Término do algoritmo

Alguns autores restringem a definição de algoritmo para procedimentos que eventualmente terminam. Minksy constatou que se o tamanho de um procedimento não conhecido de antemão, tentar descobrí-lo é problema indecidível já que o procedimento pode ser executado infinitamente, de forma que nunca se terá a resposta. Alan Turing provou em 1936 que não existe máquina de Turing para realizar tal análise para todos os casos, logo não há algoritmo para realizar tal tarefa para todos os casos. Tal condição é conhecida atualmente como problema da parada. Basicamente, isto quer dizer que não existe um programa de computador que possa antever, de forma geral, se um outro programa de computador vai parar algum dia.
Para algoritmos intermináveis o sucesso não pode ser determinado pela interpretação da resposta e sim por condições impostas pelo próprio desenvolvedor do algoritmo durante sua execução.

Onde se aplicam os algoritmos

A maioria dos algoritmos é desenvolvida para ser implementada em um programa de computador. Apesar disso eles também podem ser implementados por outros modos tais como uma rede neural biológica (tal como no cérebro quando efectuamos operações aritméticas) em circuitos elétricos ou até mesmo em dispositivos mecânicos.
Pode-se dizer que todos nos usamos algoritmos para a resolução das mais variadas situações que acontecem na nossa vida. Por exemplo, quando temos fome, constituimos um algoritim que nos levara a resolução deste problema:
  1. Pensamos no que cozinhar;
  2. Cozinhamos o que queremos;
  3. E por fim comemos, e resolvemos o nosso problema.

A ideia de algoritimo é siguir-mos um sequencia lógica para a resolução de um problema…

Podem aperfeiçoar vossos conhecimentos sobre o assunto fazendo o download destas apostilas:



Linguagens de programação



Actualmente para o estudante de engenharia é muito importante saber alguma linguagem de programação. E por este motivo que nesta secção abordaremos um pouco sobre esta grande ferramenta para o desenvolvimento da sociedade, na área tecnológica.

Defini-se linguagem de programação cmo sendo um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique ao computador o que ele quer que ele faça com os dados introduzidos.

O conjunto de palavras (lexemas classificados em tokens), compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador.

Uma das principais metas das linguagens de programação é permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente. Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.

História da linguagem de programação

O primeiro trabalho de linguagem de programação foi criado para um computador que existia, criado por Ada Lovelace A linguagem de programação ADA foi batizada em homenagem a esta primeira programadora.

Uma das primeiras linguagens de programação para computadores foi provavelmente Plankalkül, criada por Konrad Zuse na Alemanha Nazista, mas que teve pouco ou nenhum impacto no futuro das linguagens de programação.

O primeiro compilador foi escrito por Grace Hopper, em 1952, para a linguagem de programação A-0. A primeira linguagem de programação de alto nível amplamente usada foi Fortran, criada em 1954. Em 1957 foi criada B-0, sucessora da A-0, que daria origem a Flow-Matic (1958), antecessor imediato de COBOL, de 1959. O COBOL foi uma linguagem de ampla aceitação para uso comercial. A linguagem ALGOL foi criada em 1958-1960, ALGOL-60 teve grande influência no projeto de muitas linguagens posteriores.
A linguagem Lisp foi criada em 1958 e se tornou amplamente utilizada na pesquisa na área de ciência da computação mais proeminentemente na área de Inteligência Artificial.

A orientação a objetos é outro marco importante na história das linguagens de programação. A linguagem Simula 67 introduz o conceito de classes. A linguagem Smalltalk expande o conceito de classes e se torna a primeira linguagem de programação que oferecia suporte completo à programação orientada a objetos. A linguagem C++ (originalmente conhecida como C com classes) populariza a orientação a objetos.
Diversas linguagens de programação surgiram desde então, grande parte orientadas a objetos. Entre estas incluem-se C, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider eRuby.

Interpretação e compilação

A interpretação e compilação é assim feita:



O processo da compilação

Uma linguagem de programação pode ser convertida, ou traduzida, em código de máquina por compilação ou interpretada por um processo denominado interpretação. Em ambas ocorre a tradução do código fonte para código de máquina.
Se o método utilizado traduz todo o código, para só depois executar o programa, então diz-se que o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador (que por sua vez nada mais é do que um programa). 
 Se o texto do programa é traduzido à medida que vai sendo executado, como em JavaScript, BASIC, Python ou Perl, num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a tradução é um interpretador. Programas interpretados são geralmente mais lentos do que os compilados, mas são também geralmente mais flexíveis, já que podem interagir com o ambiente mais facilmente. A tradução é tipicamente feita em várias fases, sendo as mais comuns a análise léxica, a análise sintática (ou parsing), a geração de código e a otimização. Em compiladores também é comum a geração de código intermediário.

Conceitos
  • Programação estruturada


Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e repetição.  A Programação estruturada orienta os programadores para a criação de estruturas simples em seus programas, usando as sub-rotinas e as funções. Foi a forma dominante na criação de software entre a programação linear e a programação orientada por objetos. Apesar de ter sido sucedida pela programação orientada por objetos, pode-se dizer que a programação estruturada ainda é marcantemente influente, uma vez que grande parte das pessoas ainda aprendem programação através dela.

  • Programação modular

Programação modular é uma forma de programação no qual o desenvolvimento das rotinas de programação é feito através de módulos, que são interligados entre si através de uma interface comum.Foi apresentado originalmente pela Information & Systems Institute, Inc. no National Symposium on Modular Programming em 1968, com a liderança de Larry Constantine.

  • Programação orientada a objectos


Programação Orientada a Objectos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é 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. O extensivo uso de objetos, particularmente em conjunção com o mecanismo de herança, caracteriza o estilo de programação orientada a objetos. Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programação. De fato, o paradigma "orientação a objetos" tem bases conceituais e origem no campo de estudo da cognição, que influenciou a área de inteligencia artificial e da lingüística no campo da abstração de conceitos do mundo real. Na qualidade de método de modelagem, é tida como a melhor estratégia, e mais natural, para se eliminar o "gap semântico", dificuldade recorrente no processo de modelar o mundo real, no domínio do problema, em um conjunto de componentes de software que seja o mais fiel na sua representação deste domínio. Facilitaria a comunicação do profissional modelador e do usuário da área alvo, na medida em que a correlação da simbologia e conceitos abstratos do mundo real e da ferramenta de modelagem (conceitos, terminologia, símbolos, grafismo e estratégias) fosse a mais óbvia, natural e exata possível. A análise e projeto orientados a objetos tem como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos. Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objectos.

  • Programação linear


Em matemática, problemas de Programação Linear são problemas de otimização nos quais a função objetivo e as restrições são todas lineares. Programação Linear é uma importante área da otimização por várias razões. Muitos problemas práticos em pesquisa operacional podem ser expressos como problemas de programação linear. Certos casos especiais de programação linear, tais como problemas de network flow e problemas de multicommodity flow são considerados importantes o suficiente para que se tenha gerado muita pesquisa em algoritmos especializados para suas soluções. Vários algoritmos para outros tipos de problemas de otimização funcionam resolvendo problemas de PL como sub-problemas. Historicamente, idéias da programação linear inspiraram muitos dos conceitos centrais de teoria da otimização, tais como dualidade, decomposição, e a importância da convexidade e suas generalizações.

Classificação

As linguagens de programação podem ser classificadas de várias formas, dentro das quais temos:
  • Classificação quanto ao grau de abstracção
  • Classificação quanto a estrutura de tipos
  • Classificação quanto ao paradigma


Classificação quanto ao paradigma

Diferentes linguagens de programação podem ser agrupadas segundo o paradigma que seguem para abordar a sua sintaxe e semântica. Os paradigmas se dividem em dois grandes grupos: imperativo e declarativo.

  1. Paradigmas Imperativos

Os paradigmas imperativos são aqueles que facilitam a computação por meio de mudanças de estado. Se dividem em:
  • Paradigma procedural, neste paradigma, os programas são executados através de chamadas sucessivas a procedimentos separados. Exemplos de linguagens deste paradigma são o Fortran e o BASIC.
  • Paradigma de estruturas de blocos, a característica marcante deste paradigma são os escopos aninhados. Exemplos de linguagens deste paradigma são o Algol 60, Pascal e C.
  • Paradigma de orientação a objectos, este paradigma descreve linguagens que suportam a interação entre objectos. Exemplos de linguagens deste paradigma são C++, Java, Python e Ruby.
  • Paradigma da computação distribuída, este paradigma suporta que mais de uma rotina possa executar independentemente. Um exemplos de linguagem deste paradigma é a linguagem Ada.

     2. Paradigmas Declarativos

Os paradigmas declarativos são aqueles nos quais um programa especifica uma relação ou função. Se dividem em:
  • Paradigma funcional, as linguagens deste paradigma não incluem qualquer provisão para atribuição ou dados mutáveis  Na programação funcional, o mapeamento entre os valores de entrada e saída são alcançados mais directamente. Um programa é uma função (ou grupo de funções), tipicamente constituída de outras funções mais simples. Exemplos de linguagens deste paradigma são as linguagens Lisp, Scheme e Haskell.
  •  Paradigma da programação lógica, este paradigma se baseia na noção de que um programa implementa uma relação ao invés de um mapeamento. Exemplos de linguagens deste paradigma são o Prolog e a linguagem Gödel.

Classificação quanto a estrutura de tipos
  • Fracamente tipada, como PHP e Smalltalk, onde o tipo da variável muda dinamicamente conforme a situação.
  • Fortemente tipada, como Java e Ruby, onde o tipo da variável, uma vez atribuído, se mantém o mesmo até ser descartada da memória.
  • Dinamicamente tipada, como SNOBOL, APL, Awk, Perl, Python e Ruby, onde o tipo da variável é definido em tempo de execução.
  • Estaticamente tipada, como Java e C, onde o tipo da variável é definido em tempo de compilação.

Classificação quanto ao grau de abstracção
  • Linguagem de programação de baixo nível, cujos símbolos são uma representação direta do código de máquina que será gerado, onde cada comando da linguagem equivale a um "opcode" do processador, como Assembly.
  • Linguagem de programação de médio nível, que possui símbolos que podem ser convertidos directamente para código de máquina (goto, expressões matemáticas, atribuição de variáveis), mas também símbolos complexos que são convertidos por um compilador. Exemplo: C, C++
  • Linguagem de programação de alto nível, composta de símbolos mais complexos, inteligível pelo ser humano e não-executável directamente pela máquina, no nível da especificação de algoritmos, como Pascal,  Fortran, ALGOL e SQL.

Algumas linguagens de programação

Existem várias linguagens de programação, dentre as várias temosJava
  • C
  • C++
  • Objective-C
  • PHP
  • Visual Basic
  • Perl
  • JavaScript
  • Delphi / Object Pascal 
OBS: Este é apenas uma breve introdução para este assunto. Para quem tiver interessado em saber mais fique atento que em momento oportuno, publicarei mais sobre cada linguagem de programação.

Ver também: