Executando verificação de segurança...
9

Programando em Pituguês! - Uma linguagem inspirada em Python

⚠️ Atenção: Esse texto é uma introdução e tutorial! Divirta-se! :)
Quando começamos a aprender a programar, uma das primeiras descobertas que nos deparamos é que: as linguagens de programação são todas em inglês! Bom, pelo menos as que são utilizadas no mercado de trabalho.

Estatisticamente falando, apenas 5% dos brasileiros entendem inglês em algum nível, enquanto apenas 1% possui fluência. Ou seja, nem todos os falantes de língua portuguesa tem conhecimento do idioma inglês.

O que faz com que a pessoa aprendiz passa encontrar barreiras que a faça dispor mais esforço para desenvolver várias habilidades ao mesmo tempo (programar e aprender outro idioma concomitantemente). Ela terá dificuldades de lidar com recursos e instruções da linguagem de programação, o que poderá comprometer sua aprendizagem de lógica e algoritmos.

Aí tem-se a importância de existir uma linguagem como o Pituguês, em que a pessoa nativa em português consiga programar em sua língua mãe, eliminando a barreira idiomática.

Mas de onde vem o Pituguês?

Sua sintaxe é inspirada na da linguagem de programação Python que, embora seu nome faça alusão a uma espécie de cobra e seu símbolo seja composto de duas cobras em Ying & Yang, seus criadores eram muito fãs da série de comédia “Monty Python’s Flying Circus” e batizaram a linguagem com o nome de “Python”.

Pegando carona até mesmo no nome, se formos traduzir “python”, temos “píton”. Assim, para trazer a ideia de uma linguagem de programação inspirada em Python para a língua portuguesa, uniu-se “píton” + “português” que resultou em: Pituguês!

E, como comentamos, o Pituguês vai se inspirar e buscar trazer características do Python para português, como…

Tipagem Dinâmica

Quando lidamos com linguagem de programação, devemos lembrar que existem tipos diferentes de dados, como dados textuais, numéricos, binários e etc.

Algumas linguagens exigem que o tipo de dado seja declarado como, por exemplo, em Java, declaramos uma variável da seguinte maneira…

int numero = 2025;
String nome = "Java";

Note que, em Java, indicamos o tipo do dado (int, para números inteiro, e String para tipos textuais), escrevemos o nome da variável e, por fim, damos um valor a ela. Se formos comparar com Python, já possui uma diferença acentuada…

numero = 2025
nome = "Python"

Como podem ver, já não é necessário indicar o tipo da variável, pois a linguagem irá verificar isso automaticamente, é o que chamamos de “inferir tipo”.

No Pituguês, não vai ser diferente, a nossa declaração de variáveis também vai inferir o tipo...

numero = 2025
nome = "Pituguês"

Indentação

A indentação nada mais é que o aninhamento de trechos de código que, no caso do Python, se dá através da tabulação (4 espaçamentos), ela tem o objetivo de determinar quais linhas de código pertencem a um bloco lógico, definindo a estrutura e hierarquia.

Ou seja, declaramos uma função, por exemplo, em seguida, escrevemos os dois pontos e, logo abaixo deles, com certo espaçamento, começamos a escrever o que a nossa função irá executar. Dessa forma que definimos o escopo e a hierarquia do código, determinando em que momento o trecho de código é iniciado e finalizado.

Caso a indentação não seja feita da maneira correta, sem o espaçamento ou com espaçamento excessivo, o próprio Python irá nos sinalizar com uma mensagem de erro.

Na documentação do Pituguês você consegue ter acesso a exemplos de como a indentação funciona:

Orientação a Objetos

A linguagem Python também contempla a Programação Orientada a Objetos (POO), que é um paradigma que nos permite uma forma de organização do programa em que podemos isolar trechos de código independentes, assim podemos proteger esse código e reutilizá-lo, além de torná-lo de fácil manutenção, uma vez que a escrita de uma parte do programa não impactará diretamente em outra.

Isso que a POO possibilita tem sua definição através dos pilares de abstração, encapsulamento, herança e polimorfismo que não vamos nos estender sobre estes conceitos, mas, caso não te sejam familiares, recomendamos a leitura deste artigo para deixar seu entendimento mais claro.

Embora o Pituguês também tenha herdado a POO do Python, ela ainda se dá de forma um pouco mais simplificada. Até o momento, podemos declarar classes mães e filhas que herdam características umas das outras, possibilitando reaproveitamento de código.

Você pode conferir exemplos atualizados de POO em Pituguês através da documentação.

Pituguês X Python

Assim como o Python, o Pituguês também é uma linguagem de Código Livre e está aberta a contribuições e, deste a postagem original deste tutorial e introdução a respeito da linguagem, já aconteceram mudanças bastante significativas...

Declaração de Variáveis

Há pouco tempo atrás, Pituguês adicionava a palavra var na declaração de variáveis, o que o distanciava de Python. No entanto, contribuições mais recentes da comunidade fizeram que consigamos declarar variáveis da mesma forma que em Python:

linguagem_de_programacao = "Pituguês"

Interpolação de texto

Em resumo, Pituguês existe no repositório de uma outra linguagem de programação em português chamada Delégua e acabou herdando algumas características dela, como a interpolação:

var linguagemDeProgramacao = "Delégua"
escreva("Linguagem de programação: ${linguagemDeProgramacao}")

Este tipo de interpolação também se distanciava do Python, mas contribuiçÕes recentes trouxeram proximidade entre Pituguês e Python e, agora, a interpolação segue o padrão f-strings:

linguagem_de_programacao = "Pituguês"
imprima(f"Linguagem de programação: {linguagemDeProgramacao}")

Lembrando que estamos atualização a documentação do Pituguês constantemente e, qualquer dúvida que senha sobre a sintaxe, basta consultá-la!

Mas como programar em Pituguês?

Para programar em Pituguês, basta que você instale uma extensão no VS Code. Se na aba de extensões você procurar por "pitugues", deve encontrar a extensão da Design Líquido que possui todo um ecossistema de linguagens em português como: linguagem de programação, de marcação, de estilo, de consulta e etc.

Nesta postagem você pode encontrar um tutorial semelhante a este, mas que demonstra por imagens como instalar a extensão e como executar seus programar em Pituguês!

Lembrando...

O Pituguês é uma iniciativa feita pela comunidade, para a comunidade e toda contribuição conta! 🐍💜
É uma linguagem que está em constante transformação e vocês podem acompanhar junto com a gente todo esse processo!

Junte-se a nós e ajude a construir o Pituguês — uma linguagem feita com comunidade, propósito e muito coração. 💜

Carregando publicação patrocinada...
4

Parabéns pela iniciativa, sempre gosto das experimentações das pessoas para aprender a computação além do CRUD.

Inferência de tipo e tipagem dinâmica são coisas completamente diferentes, até mesmo opostas.

A inferência ocorre em tipagem estática que não exige que se declare explicitamente qual o tipo daquela variável.

A tipagem dinâmica estabelece que o tipo da variável é único e permite armazenar dados de qualquer forma e que normalmente existe uma tag do tipo do dado, ou seja, se o dado mudar pode ser só o conteúdo ou pode mudar a tag já que a forma do dado era diferente do anterior. Obviamente que em termos populares essa tag acaba sendo chamada de tipo, e pomos até aceitar esse linguajar informal, mas ainda assim não há inferência de tipo. O tipo é um complemento do dado.

Java hoje tem capacidade de inferir o tipo e Python não faz isso porque depende dos dados, apesar que estão introduzindo a manifestação do tipo opcionalmente, mas que ainda mantêm a dinamicidade de "tipos". Uma implementação conforme de Python podia e poderá mais com a manifestação fazer alguma otimização que internamente o dado acabe sendo estático, mas do ponto de vista semântico precisa manter a dinamicidade, sob pena de se tornar outra linguagem. Semanticamente Python não infere tipo.

A pergunta que fica é, o Pituguês infere o tipo ou ele é dinâmico?

A linguagem Python também contempla a Programação Orientada a Objetos (POO), que é um paradigma que nos permite uma forma de organização do programa em que podemos isolar trechos de código independentes, assim podemos proteger esse código e reutilizá-lo, além de torná-lo de fácil manutenção, uma vez que a escrita de uma parte do programa não impactará diretamente em outra.

Um discurso teórico amplamente divulgado que faz muita gente não entender bem OOP. Veja mais: https://www.tabnews.com.br/GustavoFurtadoFatality/duvida-porque-muitos-acham-que-a-orientacao-a-objetos-e-ruim.

Veja mais: https://pt.stackoverflow.com/q/190463/101.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

2

Nossa, obrigada pela contribuição! Particularmente, sempre achei que inferência de tipo e tipagem dinâmica eram sinônimos. Essa informação é bem nova para mim. :)

Para responder a sua pergunta, "consultei o universitários" para confirmar e Pituguês seria uma linguagem que infere o tipo baseado no tipo que o lado direito retorna.

Também agradeço pelo material sobre POO! Vou dar uma lida com calma e, de repente, repensar nossa forma de comunicação sobre o assunto. <3

3
3
3

Pelo que entendi, esta seria uma "evolução" do antigo Portugol, que é baseado no "finado" Pascal. Mas este seria baseado no Python, uma linguagem mais moderna e orientada a objetos.

Acho bem válido essas linguagens baseadas em português para o pessoal começar a aprender, aproximando um pouco mais a pessoa que está aprendendo.

2

Acho que podemos dizer que o Pituguês seria uma variante do Portugol. :)

Um dos nossos pensamentos é justamente de facilitar o acesso e entendimento na programação por pessoas iniciantes.

E, um detalhe importante, é que existem outras linguagens Portugol também, mas elas geralmente dependem de IDEs muito específicas e uma das nossas propostas é que a pessoa consiga usar uma IDE, como VS Code, que já está no mercado e que permite uma instalação mais ágil e facilitada para o usuário.

Obrigada pelo apoio!

-4