Linguagem de
programação:
Uma linguagem de programação é 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 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. Linguagens de programação podem ser usadas
para expressar algoritmos com precisão.
O conjunto de palavras, compostas de acordo com essas
regras, constitui o código fonte de um software. Esse código fonte é depois
traduzido para código de máquina, que é executado pelo processador.
Classificação
quanto ao grau de abstração:
Linguagem de programação de baixo nível, cujos simbolos 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 alto nível, composta de símbolos
mais complexos, inteligível pelo ser humano e não-executável diretamente pela
máquina, no nível da especificação de algoritmos, como Pascal, Fortran, ALGOL e
SQL.
Linguagem de
programação de alto nível:
Linguagem de programação de alto nível é como se chama, na
Ciência da Computação de linguagens de programação, uma linguagem com um nível
de abstração relativamente elevado, longe do código de máquina e mais próximo à
linguagem humana. Desse modo, as linguagens de alto nível não estão diretamente
relacionadas à arquitetura do computador. O programador de uma linguagem de
alto nível não precisa conhecer características do processador, como instruções
e registradores. Essas características são abstraídas na linguagem de alto
nível.
Por se tratar de uma classificação subjetiva, isto é, sem
limites bem definidos, não é possível afirmar que "determinada linguagem
pode ser mais humana que outra". Apesar disso, por questão de
praticabilidade e objetividade, a classificação geralmente se limita em
"linguagem de alto nível" e "linguagem de baixo nível".
Alguns exemplos de linguagens de alto nível: ASP,
ActionScript, C/C++, C#, Pascal/Object Pascal, Euphoria, Java, MATLAB, PHP,
Python, R, Ruby, Tcl, Basic/Visual Basic
Assembly:
Assembly ou linguagem de montagem é uma notação legível por
humanos para o código de máquina que uma arquitetura de computador específica
usa, utilizada para programar dispositivos computacionais, como
microprocessadores e microcontroladores. A linguagem de máquina, que é um mero
padrão de bits, torna-se legível pela substituição dos valores em bruto por
símbolos chamados mnemónicos.
Por exemplo, enquanto um computador sabe o que a
instrução-máquina IA-21 (10110000 01100001) faz, para os programadores é mais
fácil recordar a representação equivalente em instruções mnemónicas MOV AL,
61h. Tal instrução ordena que o valor hexadecimal 61 (97, em decimal) seja
movido para o registrador 'AL'.
A conversão da linguagem de montagem para o código de
máquina é feita pelo montador ou assembler, que é basicamente um tradutor de
comandos, sendo mais simples que um compilador.
Código de
máquina:
Todo computador possui um conjunto de instruções que seu
processador é capaz de executar. Essas instruções, chamadas de código de
máquina, são representadas por sequências de bits, normalmente limitadas pelo
número de bits do registrador principal da CPU. Esse código é chamado de código
binário. São formados por 0 e 1.
As instruções correspondem a seqüencias muito simples de
operações, como transferir um dado em memória para a CPU ou somar dois valores
e são normalmente interpretadas por micro-código.
Um programa em código de máquina consiste de uma sequência
de números que significam uma sequência de instruções a serem executadas.
Geração da
linguagem de programação de alto nivel:
Primeira geração -
São linguagens que dão ênfase a simplicidade e eficiência. Uma linguagem típica
desta geração é a linguagem Pascal. As estruturas de dados desta geração
mostram um deslocamento da máquina para a aplicação. As estruturas de controle
são mais simples e eficientes.
Segunda geração -
Esta geração é essencialmente o sinônimo para linguagens com abstração de
dados. A maioria das linguagens desta geração focam na modularização e no
encapsulamento. Uma linguagem típica desta geração é a linguagem Ada.
Terceira geração -
Nesta geração, Maclennan agrupa diversos paradigmas como a orientação a objeto
e o paradigma funcional, paradigma lógico.
Henri Bal e Dick
Grune, já apresentam uma classificação em gerações de forma diferente,
enfatizando mais o aspecto da aplicação. São elencadas 4ª gerações.
Algoritmo:
Um algoritmo é uma sequência finita de instruções bem
definidas e não ambíguas, cada uma das quais podem ser executadas mecanicamente
num período de tempo finito e com uma quantidade de esforço finita.
O conceito de algoritmo é frequentemente ilustrado pelo
exemplo de uma receita culinária, 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.
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.
Programa:
Um programa de computador ou programa informático é uma
coleção de instruções que descrevem uma tarefa a ser realizada por um
computador. O termo pode ser uma referência ao código fonte, escrito em alguma
linguagem de programação, ou ao arquivo que contém a forma executável deste
código fonte.
Programação:
ato de programar um computador é um
processo iterativo que consiste na criação ou alteração de código fonte,
seguido de testes, análise e posterior refinamento do resultado. Uma pessoa que
realiza este trabalho é conhecida como programador de computador ou
desenvolvedor de software. A criação de programas de computador, quando baseada
em metodologias ou processos formalizados, é conhecida como engenharia de
software.
(informação retirada em www,wikipedis.com)