sábado, 25 de julho de 2020

Saber programar

Programar é comunicar com uma máquina, e basicamente, usa-se uma linguagem, e partilham-se conceitos. Tudo normal. Como na comunicação entre humanos, só que mais simples...
Nos últimos 50 anos, com a evolução dos computadores, apareceram milhares de linguagens de programação, todas com as suas características distintivas, e a maioria em rápido desuso.
Na minha opinião, deve-se começar por aprender uma só, que seja muito usada, e para a qual existam bastantes ajudas.
Actualmente, eu recomendo Python, pela sua simplicidade,
Os mais treinados nestas artes serão capazes de instalar a linguagem Python no seu computador, visitando o seu sítio oficial, mas eu recomendo a utilização da plataforma Google Colab, que simplifica muito a vida aos iniciados. Tudo acontece numa página Web.
Antes disso, dois ou três conceitos muito simples, e numa linguagem que todos entendam.
Na conversa com um computador, podemos referir entidades, pelos seus nomes, e invocar operações. Por exemplo, aqui

Um programa!

definiu-se uma entidade (um número) com um nome (x), e um valor (4) e invocou-se a operação imprimir (print). E isto é um programa! Basta premir o botão de executar.
Está na altura de experimentar!... isto é, entrar na plataforma, começar uma página nova, escrever aquelas duas linhas de código, e carregar no botão... (ou usar a caixa de comentários em caso de dificuldade)
Aprender a programar é como aprender a falar, não é preciso saber as palavras todas antes de começar, aprende-se falando, perguntando, ouvindo, descobrindo.
Mas há uma questão essencial, que consiste na definição do problema que pretendemos que o computador resolva. Sem essa definição rigorosa, pode-se eventualmente produzir um programa, mas será muito possivelmente uma "solução à procura de um problema"...
O que caracteriza um programa, ou um programador, é o rigor no enunciado do problema. É esse o seu maior valor. Depois, o programador terá de escolher uma linguagem de programação que utilize conceitos adequados a esse enunciado.
A título de exemplo, imagine-se que o nosso problema é mostrar que existe uma relação entre a potência de um automóvel e o seu consumo de combustível.
Se tivermos acesso a uma tabela com estas características para um grande número de automóveis, e soubermos extrair valores dessa tabela e mostrá-los sob a forma gráfica, talvez tenhamos o problema resolvido.
A linguagem Python entende-se perfeitamente com tabelas, com os cabeçalhos, com os conteúdos de cada célula, e com gráficos. Alguém que estude Python sabe que o seu maior poder está nas packages desenvolvidas por terceiros e que são especializadoa em problemas específicos, que podem ir da matemática às redes, aos gráficos, à inteligência artificial, à aprendizagem automática, ao processamento de linguagem natural, etc.
Há uma package chamada Altair: Declarative Visualization in Python que nos pode dar uma grande ajuda e transformar um problema aparentemente complexo em meia dúzia de linhas de código, como se vê neste pequeno programa, que explora uma tabela de características de carros à venda nos Estados Unidos e faz um gráfico dos consumos (milhas por galão) em função da potência de cada um

Experimentar não custa...

E assim, de repente, chegamos à Ciência de Dados, em que utilizamos dados disponíveis para suportar as nossas teorias, etc.
Todos podem ver, experimentar ou copiar o código aqui.

Sem comentários:

Enviar um comentário