Turing: uma nova linguagem de programação na Era dos Robôs

Apresento uma nova linguagem de programação, cuja base é a interação com robôs e/ou ChatBots, o que torna sua sintaxe e programação extremamente simples, permitindo até mesmo uma criança desenvolver um programa em Turing.

O nome da linguagem é uma homenagem ao genial cientista Alan Turing, considerado por muitos como pai da Inteligência Artificial.

A arquitetura básica envolve a utilização de vários robôs e a comunicação através de Chat, utilizando perguntas e comandos encaminhados através de uma ou várias APIs, valendo tanto para o Interpretador como o Compilador da linguagem Turing proposta:

Basic Architecture of the Turing Programming Language - v1

Dessa forma, a linguagem permite que a comunicação com um número infinito de robôs e/ou ChatBots

1. Estrutura básica da linguagem Turing

Para melhor entendimento da linguagem, sua estrutura é composta das seguintes tags principais:

! – indica impressão ou saída de informações
# – indica uma variável a ser impressa
? – indica uma pergunta para um ou mais robôs
> – indica um comando para um ou mais robôs
/ – indica um endereçamento único de robô ou uma lista específica de robôs
// – indica um comentário

2. Exemplo clássico de “Hello World” em Turing

Para simplificar o entendimento, vamos começar com um programa extremamente simples em qualquer linguagem de programação, ou seja, o clássico “Hello World”.

Em Turing temos:

!Hello World

Mas podemos ir além e programar algo mais avançado, identificando os nomes e locais dos robôs, introduzindo o tag de controle “?”, que realiza a comunicação com o robô fazendo uma pergunta, como por exemplo:

Name? what is your name
Where? where do you live
!Hello World, my name is #Name and I live on #Where

Note-se que a resposta da pergunta será atribuída à variável “Name”, ou seja, as variáveis são definidas antes do tag de controle “?”.

3. Comunicando com vários robôs em Turing

Outra característica da linguagem Turing, como visto na arquitetura básica, é a possibilidade de endereçar diferentes robôs.

Nesse caso, podemos fazer uma única pergunta para toda rede de robôs existente, como por exemplo:

Name? what is your name
!Robot 1 name is #Name1
!Robot 2 name is #Name2

Ou ainda, endereçar apenas um único robô, utilizando o tag de controle “/”, como por exemplo:

1/Name? what is your name
!Hello #Name1

4. Enviando comandos para robôs em Turing

Além da comunicação através de perguntas, é possível enviar comandos aos robôs, e nesse caso a linguagem Turing é ainda mais aberta e genérica, pois é possível utilizar interpretadores de outras linguagens, sendo encaminhado diretamente o código de programação a ser executado pelo robô, como nos exemplos abaixo em php e python:

// executa código em php no robô 1 (default)
php>
{
echo date('h:i:s');
sleep (10);
}

// executa código em python no robô 3
3/python>
{
#!/usr/bin/python
import time
time.sleep(5)
}

5. Conclusão

Como pode ser visto, a capacidade de comunicação da linguagem Turing diretamente com robôs torna a sintaxe simples e totalmente aberta para explorar outras linguagens, com infinitas possibilidades de programação.

A linguagem Turing é de uso livre e aberto, desde que citado o autor, então fique à vontade para utilizar as ideias apresentadas, sendo que ainda encontra-se em nível de especificação.

____
Rogerio Figurelli – @ 2018-11-30

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s