Skip to content

Linguagem de programação com objetivo de simplificar o aprendizado de programação.

License

Notifications You must be signed in to change notification settings

SincroB-Dev/safira-ide

 
 

Repository files navigation

Imagem


Desenvolvimento da linguagem de programação Safira
Faça do Download das versões estáveis >>

GitHub estrelas GitHub last commit GitHub contributors GitHub language count GitHub repo size

Introdução

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.

Imagem


Para usuários

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.

  1. Baixe o arquivo .zip do Google Drive.
  2. Extraia-o em alguma pasta, você precisará do Winrar para extrai-lo.
  3. Execute a Safira!

**Para distribuições Linux, certifique de fornecer as permissões para executar. **

Como programar em Safira?

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)


Para desenvolvedores

Se você quer ajudar no desenvolvimento da Safira, este é o local para você!

Sobre a Safira

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.

Quem pode ajudar no desenvolvimento?

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.

Interface gráfica

  • A biblioteca multiplataforma Tkinter é o único recurso usado atualmente para a criação das interfaces na Safira.

Para iniciar o desenvolvimento:

Está é uma versão de desenvolvimento, com bugs e implementações em andamento.

  1. clone este repositório
  2. Baixe e instale o Python3.8 (3.7 e 3.6 são aceitos)
  3. Crie e ative um ambiente virtual
python3.8 -m venv .
source ./activate
  1. Instale as dependências
python -m pip install requeriments.txt
  1. 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
  1. 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.

  2. Salve os requisitos

python -m pip freeze > requeriments.txt
  1. 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

Atualmente tento seguir estes padrões

Nomes de Widgets Tkinter

Widgets tkinter Nomes de variáveis
Button bt_
Label lb_
Frame fr_
Entry et_
Text tx_

Classes

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

Funções

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}

Outras boas prátcas

    # 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

Download

Outros Links

About

Linguagem de programação com objetivo de simplificar o aprendizado de programação.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 91.3%
  • C++ 4.4%
  • HTML 3.6%
  • CSS 0.3%
  • Batchfile 0.2%
  • Shell 0.2%