Desenvolvimento da linguagem de programação Safira
Faça do Download das versões estáveis >>
A Safira é uma linguagem de programação focada na lógica com o objetivo de amortecer o impacto do primeiro contato com o mundo da programação, oferecendo uma interface simples, intuitiva e uma codificação natural.
A Safira é focada apenas na estrutura básica e em pequenos scripts, sendo que o principal diferencial dela é aceitar comandos em níveis naturais, como se fosse uma pessoa conversando com outra e comandos em linguagem similar as principais linguagens do mercado.
Nos primeiros contatos com a Safira, é recomendado o uso de comandos no idioma nativo, como o português, exemplo:
Se o foco for ensinar linguagem Python para um grupo de pessoas com dificuldade, é recomendado começar com comandos bem simples, como:
nome vale o que o usuario digitar
se nome for igual a "Gabriel" entao {
mostre "Olá Gabriel"
}
Posteriormente, é recomendado a variação, mesmo que seja comando por comando, no ritmo do aluno para a seguinte codificação:
nome = input
if nome == "Gabriel" {
print "Olá Gabriel"
}
Perceba que a Safira está muito mais próximo do Python agora.
Desta forma, a complexidade das linguagens de programação, é reduzida e o conceito é levado mais em conta.
A safira entende comando em inglês, português, espanhol e de forma similar a outras linguagens do mercado.
É assim que fica a codificação de um programa maior na Safira.
Se você só quer experimentar a Safira, está é a guia para você!
Atualmente, você precisará de um computador para usar a Safira, ainda não temos uma versão para smartphones. Baixe a última versão estável, no final da página em Download ou clicando aqui.
- Baixe o arquivo .zip do Google Drive.
- Extraia-o em alguma pasta, você precisará do Winrar para extrai-lo.
- Execute a Safira!
**Para distribuições Linux, certifique de fornecer as permissões para executar. **
Faça testes na interface e consulte a guia exemplos da própria IDE para ver os comandos que a Safira possui. (Atualmente não temos um tutorial passo a passo)
Se você quer ajudar no desenvolvimento da Safira, este é o local para você!
Hoje a safira é feita no Python3.8, tenha ele instalado na máquina e com um ambiente virtual preparado. As principais plataformas de desenvolvimento e suporte da Safira é Ubuntu 20, Linux Mint e Windows 10 por enquanto. A IDE final deve ser ter menos que 30 mb, ser um executável e devendo funcionar no Windows 10 prioritariamente.
Atualmente precisamos de pessoas que possam dar feedback sobre o projeto, usá-lo para encontrar bugs, de desenvolvedores que possam melhorar o código, tornando o mais escalável, de designs para ajudar no desenvolvimento de interfaces mais bonitas e que sejam úteis para os usuários e de pessoas para colocar a mão na massa e ajudar a criar o sistema.
Existe a pretensão da Safira mudar de linguagem? Sim, é uma possibilidade, mas vamos com calma.
- A biblioteca multiplataforma Tkinter é o único recurso usado atualmente para a criação das interfaces na Safira.
Está é uma versão de desenvolvimento, com bugs e implementações em andamento.
- clone este repositório
- Baixe e instale o Python3.8 (3.7 e 3.6 são aceitos)
- Crie e ative um ambiente virtual
python3.8 -m venv .
source ./activate
- Instale as dependências
python -m pip install requeriments.txt
- Instale novas bibliotecas Instale as bibliotecas, dentro do ambiente virtual. Por favor, evite ao máximo bibliotecas não nativas do Python, elas podem causar problemas ao serem migradas para diferentes sistemas operacionais.
python -m pip install requests
-
Desenvolva! Programe, sempre tentando separar todas as etapas, a fim de que seja possível executar as novas partes de forma independênte da IDE.
-
Salve os requisitos
python -m pip freeze > requeriments.txt
- Suba no git Suba suas alterações no GITHUB. De preferência, entre em no nosso Discord para conversarmos antes de você subir alterações. https://discord.gg/AvSSZsVA
Widgets tkinter | Nomes de variáveis |
---|---|
Button | bt_ |
Label | lb_ |
Frame | fr_ |
Entry | et_ |
Text | tx_ |
Classes devem começar com letra maiúscula, e terem type anotations e docstring para documentá-las
class Atualizar:
""" Essa classe fornece recursos de atualizações """
def __init__(self, versao:str) -> None:
pass
todas as letras em minúscula e separado por _, usando type anotations e docstrings
def analisar_comando(self, texto: str, pontos: dict={}) -> dict:
return {'pontos': pontos}
# Recomendado
if (valor):
# Nao recomendado
if (valor == True)
### Recomendado
if (valor is None):
### Não recomendado
if (valor == None)
### Recomendado
from requests import post
### Recomendado
from requests import requests_post
### Não recomendado pois carrega toda a biblioteca
import requests
### Recomendado
try:
...
except Exception as erro:
print('Erro ao realizar coloração: ', e)
### Não recomendado
try:
...
except:
pass