Sython - Docs¶
Bienvenue sur la documentation du langage Sython.
Vous pouvez accéder rapidement aux différences informations via la barre de gauche via le sommaire de la page. Je vous conseille daller voir la page « introduction » si vous decouvrez Sython
Note
Il est important de ce rappeler que Sython est un projet OpenSource et développé par des personnes non professionnel.
Vous pouvez, vous aussi, y participer via le github.
Sommaire :
Introduction¶
Sython a Ă©tĂ© crĂ©e par LavaPower. Celui-ci voulait amĂ©liorer ces compĂ©tences en Python et dĂ©cida de crĂ©er Sython, un langage simple mais demandant dâĂȘtre rigoureux.
Sython est exemptĂ© de concept difficile et dâune syntaxe symbolique. Le but Ă©tant dâĂȘtre langage permettant de se familiariser avec le monde de la programmation.
Note
« Langage simple » nâinduit pas « Langage limitĂ© ». (MĂȘme si câest le cas pour lâinstant)
De plus il est important de comprendre que Sython va vous apprendre Ă ĂȘtre rigoureux dans vos syntaxes. Dans le sens oĂč :
int a = 1 + 2
show(a)
Fonctionnera
int a = 1+2
show(a)
Fonctionnera aussi mais :
int a = 1+ 2
show(a)
Ne fonctionnera pas (soit vous aurez une erreur, soit un comportement non prévu)
FAQ¶
Quâest-ce que Sython ?¶
Sython est un langage de programmation créé par LavaPower.
Pourquoi créer un nouveau langage de programmation ?¶
Le but premier nâest clairement pas de faire de la concurrence Ă des langages comme Python.
Le but en créant ceci est un entrainement à la programmation et un premier essai dans un domaine inconnu.
Quel sont les dépendances de Sython ?¶
Sython nâa besoin que de Python pour fonctionner.
Quels sont les platformes oĂč Sython est utilisable ?¶
Du moment que Python est installable, Sython est utilisable. Cela inclus :
- Windows
- Linux
- Mac
- Et bien dâautresâŠ
Quels logiciels puis-je utiliser pour coder en Sython ?¶
Actuellement, aucun IDE nâest compatible avec SythonâŠ
Le mieux reste dâutiliser un Ă©diteur de texte lambda comme Sublime Text ou encore Nodepad++
Je souhaite participer au développement de Sython, comment faire ?¶
Envoyez moi un message par Discord (LavaPower#1389) pour voir ce que vous pouvez faire
Téléchargement¶
Dépendances¶
Avant de télécharger Sython, il faut télécharger Python. Je vous invite à aller sur le site officiel : http://python.org et de prendre la derniÚre version.
Ensuite, pour avoir Sython, il faut télécharger la derniÚre release (ou le github pour la version en développement).
DerniÚre Release¶
PAS ENCORE SORTIE
Github¶
Github de Sython : http://github.com/LavaPower/Sython
Installation¶
Aucune installation nâest Ă faire.
Pour utiliser Sython, il suffit de faire : âpython Sython.pyâ <- Dans ce cas vous serez en mode âinteractifâ, en mode console
Sinon, il faut crĂ©er votre programme avec comme extension â.syâ puis de lancer le programme via : âpython Sython.py script.syâ <- Dans ce cas vous serez en mode ânon-intĂ©ractifâ, en mode script
Variables¶
Sython est un langage fortement type ainsi vous connaissez toujours le type de votre variable. De plus, les conversions ne sont pas implicite.
Déclaration¶
Actuellement, Sython comporte 3 types basiques différents :
- int, pour les entiers
- float, pour les nombres Ă virgules
- str, pour les chaines de caractĂšres
Pour déclarer une variable, il faut suivre le paterne suivant : <type> <nom> = <valeur>
Exemple :
int entier = 1
float flottant = 1.0
str texte = "Bonjour"
Note
Comme vous avez pĂ» lâapercevoir, les flottants nâutilise pas une virgule mais un point pour diffĂ©rencier la partie entiĂšre de la partie dĂ©cimal
Affectation¶
Si vous voulez rĂ©affecter une nouvelle valeur Ă votre variable, vous pouvez la redĂ©clarer comme au-dessus mais il est plus Ă©conomique dâutiliser le paterne suivant : <nom> = <valeur>
Exemple :
// DĂ©claration
int entier = 1
//Nouvelle affection
entier = 2
Note
Ici, il y a aussi lâintroduction des commentaires via le double symbole « // ».
Attention, les commentaires doivent ĂȘtre au dĂ©but de la ligne et sans indentation.
Opérations¶
Actuellement, Sython supporte 4 opérations :
- Addition : â+â
- Soustraction : â+â
- Multiplication : â*â
- Division : â/â
Ces opĂ©rations sont utilisables dans la dĂ©claration et dans lâaffection. Cependant, elles sont la cible de restriction :
- Il est impossible dâappliquer une opĂ©ration sur deux valeurs de type diffĂ©rent (Pas de conversion implicite)
- Il est impossible de multiplier, diviser, soustraire deux chaines de caractĂšres. Seul lâaddition est possible avec ce type.
- Le resultat dâune division entre deux entiers nâest pas forcĂ©ment un entier et peut entrainer une perte de donnĂ©es sâil est enregistrĂ© dans un entier
Exemple :
int entier1 = 2
int entier2 = 3 + 4
int entier3 = entier1 * entier2
str phrase = "Bonjour "+"tout le monde"
Conversion¶
MalgrĂ© le fait que les conversions ne peuvent ĂȘtre fait par Sython, vous pouvez les faire par vous mĂȘme. La technique est tout simplement une dĂ©claration avec le nouveau type.
Exemple :
str nombre = "1"
// 'nombre' contient "1"
int nombre = nombre
// 'nombre' contient 1
Note
Attention, si la conversion nâest pas possible, vous aurez une erreur
Entrée - Sortie¶
Câest bien de crĂ©er des variables mais il est mieux dâafficher quelque chose nan ?
Affichage¶
Lâaffichage est trĂšs simple : il utilise la fonction âshow()â qui prend un seul paramĂštre.
Exemples :
//Le bon vieux 'Hello World'
show("Hello World")
//Ce code va calculer le resultat de 2 + 2 puis l'afficher
int result = 2 + 2
//Ici la conversion est nécessaire pour additionner deux str entre eux
str result = result
show("Le résultat de 2 + 2 est "+result)
Note
Comme vous avez pĂ» le voir, les additions (et autres opĂ©rations) sont possibles dans la fonction âshow()â
Interaction¶
Afficher des trucs est sympa mais si nous voulons rĂ©cupĂ©rer des informations Ă©crites par lâutilisateur ?
Câest simple, la fonction âenter()â est faite pour vous ! Celle ci ne prend quâun seul paramĂštre.
Exemples :
str name = enter("Entrez votre nom : ")
show("Votre nom est "+name)
int age = enter("Entrez votre age : ")
str age = age
show("Vous avez "+age+" ans")
Note
Dans notre deuxiĂšme code, la variable âageâ est dâabord un int. Ceci permet que lâutilisateur ne rendre que des entiers, sâil ne le fait pas, le programmation crashera.
Il est prĂ©vu de rajouter des fonctions pour vĂ©rifier si un str peut ĂȘtre convertit en entier / flottant.
Conditions¶
Tests¶
Avant de crĂ©er des conditions avec des âifâ⊠Il faut dâabord crĂ©er des tests.
Les tests sont des objets dont on veut savoir sâil est vrai ou pas.
En Sython, ces tests peuvent ĂȘtre :
- Une simple valeur / variable -> Il suffit de mettre la valeur ou le nom de la variable
- Une Ă©galitĂ© entre deux valeurs -> If suffit de suivre ce paterne : â<valeur/variable> == <valeur/variable>â
- Une inĂ©galitĂ© entre valeurs -> Il suffit dâutiliser des signes â<=â â>=â â<â â>â dans le parterne du haut Ă la place de â==â
If¶
Commençons par la condition la plus simple : âsi <âŠ> alors <âŠ>â. En Sython, la synthaxe se dĂ©marque de Python avec lâutilisation dâaccolade :
if <test> {
<code>
}
Note
Le placement des accolades est Ă respecter, de plus, lâindentation ne peut se faire que via des espaces pour lâinstant.
Exemple :
int a = 1
if a == 1 {
show("a = 1")
}
Note
Ce code affichera âa = 1â
Elif¶
En complĂ©mentaritĂ© du âifâ, ce trouve âelifâ. Celui-ci correspond en français Ă âsinon si <âŠ> alors <âŠ>â et sâutilise comme le if.
if <test> {
<code>
}
elif <test> {
<code>
}
Exemple :
int age = enter("Entrez votre age : ")
if age > 18 {
show("Vous ĂȘtes majeur depuis au moins un an !")
}
elif age == 18 {
show("Vous ĂȘtes majeur depuis moins d'une annĂ©e ! Bravo Ă vous !")
}
Note
Attention : Dans ce code, si lâutilisateur entre un nombre infĂ©rieur Ă 18, rien ne sâaffichera mais nous allons y remĂ©dier.
Else¶
Le dernier du trio gagnant est le âelseâ. Il correspond Ă âsinonâ et lui nâa pas de test, il sera vrai si les tests du haut sont faux.
if <test> {
<code>
}
elif <test> {
<code>
}
else {
<code>
}
Exemple :
int age = enter("Entrez votre age : ")
if age > 18 {
show("Vous ĂȘtes majeur depuis au moins un an !")
}
elif age == 18 {
show("Vous ĂȘtes majeur depuis moins d'une annĂ©e ! Bravo Ă vous !")
}
else {
show("Vous ĂȘtes mineur, profitez !")
}
Boucles¶
Les boucles ne sont pas encore codées dans le langage mais prévues dans un futur proche !
Fonctions¶
Les fonctions ne sont pas encore codées dans le langage mais prévues dans un futur proche !
\ Sort by:\ best rated\ newest\ oldest\
\\
Add a comment\ (markup):
\``code``
, \ code blocks:::
and an indented block after blank line