Tudo e mais alguma coisa sobre Programação

Konichiwa Dokusha-san, hoje vamos falar sobre programação, mais precisamente: o que é, como se faz de uma forma genérica, termos, conhecimentos específicos, distinções e até sobre a inventora do primeiro algoritmo do mundo!

Antes de mais nada, é preciso estabelecer que a programação é o instrumento essencial do funcionamento dos sistemas de informação, assim, esta é, tal como o nome indica, a ação de programar, ou seja, a preparação de máquinas para cumprirem uma determinada tarefa, como por exemplo, a preparação dos dados necessários para obter uma solução de um problema com uma calculadora eletrónica.


Fig.1 - Ilustração futurista sobre computadores

Obviamente são necessárias várias coisas para programar. Do lado do hardware temos a necessidade de um dispositivo com capacidade de processamento para interpretar aquilo que lhe dizemos e do lado do software temos a necessidade de programas e formas de transmitir ao ultimo o que queremos que ele faça. É aqui que entram as linguagem de programação.


Fig.2- Linguagem de programação Python

As linguagens de programação tratam-se de um método padronizado, constituído por um conjunto de regras sintáticas e semânticas, de implementação de um código fonte - que pode ser compilado e transformado num programa de computador.
Ou seja, basicamente estas tratam-se de um conjunto de caracteres sempre iguais que se usados de uma certa e constante forma nos permitem dizer ao pobre coitado do aparelho digital que estamos a usar o que queremos que ele faça por nós, o seu mestre.

Com isto em mente, podemos afirmar que as linguagens de programação nos permitem a nós, um programador, especificar precisamente quais os dados sobre o qual o computador irá atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas de acordo com as circunstâncias. Assim, estas linguagens são uma parte essencial para se puder programar e servem especialmente para expressar algoritmos com precisão. Aqui têm alguns exemplos em conjunto com extensões:


Fig.3- Exemplos de Linguagens de Programação

Agora, existem linguagens de alto e baixo nível e a principal diferença entre ambas é a seguinte:


  • As linguagens de alto nível aproximam-se mais da linguagem humana.

  • A linguagens de baixo nível aproximam-se mais da linguagem das máquinas.

O objetivo principal das linguagens de alto nível é facilitar a programação, fazendo com que o programador se possa expressar de uma maneira mais simples, mais rápida e eficaz.

Já as linguagens de baixo nível, foram das primeiras a surgir e é devido as limitações inicias do hardware que estas possuem as suas devidas características.

Em baixo estão apresentados dois exemplos de uma escrita em código de Hello World! numa linguagem alta e numa outra baixa:

Alto nível (Fig.4):
Python
1
print("Hello World!")


Baixo nível (Fig.5):

Assembly (x86)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lea si, string
call printf    
hlt            
string db "Hello World!", 0
printf PROC
mov AL, [SI]
cmp AL, 0    
je pfend    
mov AH, 0Eh
int 10h      
inc SI      
jmp printf  
pfend:
ret          
printf ENDP

Certo, dado que já esclarecemos o que são as linguagens usadas, vamos aos Algoritmos.

Um algoritmo é uma sequência de passos para realizar uma tarefa ou resolver um problema. No nosso dia a dia utilizamos algoritmos para realizar múltiplas atividades, sendo que estes servem para definir a sequência de passos que devemos realizar para atingir um objetivo. Um excelente exemplo disto é uma receita para um bolo ou então as instruções para abrir uma caixa. Da mesma forma que nós os usamos para atingir algo, também o hardware de uma máquina usa os algoritmos que escrevemos com as linguagens de programação para chegar a um certo objetivo.

Fig. 6 - Exemplo de um Algoritmo


Todavia, agora que sabemos o que é um algoritmo, qual a diferença entre este e um programa? Num certo sentido, pode-se dizer que um algoritmo é um programa abstrato, tal como se pode também dizer, que um programa é um algoritmo concretizado.
Os programas são visualizados mais facilmente como uma coleção de algoritmos menores combinados de um modo único, da mesma forma que um carro é construído a partir de componentes.

Dessa forma, um algoritmo é uma descrição passo a passo de como o computador irá executar uma operação específica, como, por exemplo, uma ordenação. Um programa, por outro lado, é uma entidade que na verdade implementa uma ou mais operações de forma que seja útil para as pessoas que o utilizam.



Fig.6 - Exemplos de Programas

Bem caro Dokusha, dado que já fizemos todas estas importantes distinções, vamos agora falar daquela que se considera ser a primeira programadora da historia, Augusta King.

Augusta Ada Byron King, Condessa de Lovelace, nascida em Byron a 10 de dezembro de 1815, e falecida a 27 de novembro de 1852 com apenas 36 anos foi uma matemática e escritora inglesa, sendo que hoje é reconhecida principalmente por ter escrito o primeiro algoritmo para ser processado por uma máquina, a máquina analítica de Charles Babbage.

Durante o período em que esteve envolvida com o projeto de Babbage, foi ela quem desenvolveu os algoritmos que permitiriam à máquina computar os valores de funções matemáticas, além de publicar uma coleção de notas sobre a máquina analítica. É por este trabalho que é considerada a primeira programadora de toda a história.



Fig. 7 - Retrato de Augusta Ada Byron King

Finalmente, para terminar este post, iremos, essencialmente, partilhar contigo, Dokusha-san, aquilo que achamos e pensamos da programação, começando por citar a seguinte frase:

No mundo digital em que vivemos saber programar é uma competência tão importante

como aprender inglês, matemática, ler ou escrever.


Decidimos citar esta frase pois a verdade é que a tecnologia avançou muito nos últimos anos e, a cada momento que passa, os aparelhos digitais sejam eles computadores, smarthphones, etc evoluem de tal forma que seria uma estupidez não dizer que estão em toda a parte. Afinal de contas, "The future is now, Old Man" e seja na indústria, agricultura, saúde, entretenimento, em qualquer segmento que tu, caro Dokusha, e outros queiram trabalhar, a tecnologia estará lá.

E realmente, trabalhar com algo que não se entende limita aqueles que o fazem, sendo que se todos souberem nem que seja o básico deste relmo que nos engloba poderão ser mais eficientes e encontrar e resolver problemas relacionados com este por eles próprios.
Nós aqui na Tecnologia com os Weebs acreditamos que o futuro estará repleto de tecnologias que nós só hoje sonhamos com e que será parte do dia a dia saber programar, da mesma forma que é ler.




Como sempre, esperamos que tenhas tornado um bocadinho mais culto no relmo da informática e que tenhas apreciado o que aqui postámos hoje. Daqui os Weebs do Canto, signing out!


Webgrafia:
287641

Comentários

Enviar um comentário