Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mon programme Discussion :

Topic Lazen [FAQ, MAJ, ETC..]


Sujet :

Mon programme

  1. #1
    Invité
    Invité(e)
    Par défaut Topic Lazen [FAQ, MAJ, ETC..]
    Bienvenue sur le Topic officiel de Lazen géré par Jomtek (Fondateur et Codeur de Lazen ) et Lethalic (Co-Fondateur et Codeur de Lazen )..

    Sur ce topic, vous pourrez posez des questions sur le développement de Lazen, vous pourrez poster vous même vos petits exemples de code et vous pourrez vous proposer pour nous aider à coder Lazen (Tout autre personnes que Lethalic Et Jomtek n'aurons pas accès au code du noyau..).

    Biensure, Lazen est en développement et il se pourrait que ce langage change de nom. Soyez patients, nous vous enverrons des nouvelles le plus vite possible sur le téléchargement de la béta.

    Voici une mini-documentation de Lazen:

    Pour créer une variable, on utilise define (certains diront que ça ressemble à du Python)

    voici un petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define ExempleDeVariable = "Hello";
    Vous avez sûrement remarqué le point virgule à la fin, vous n'êtes pas obligé de le mettre, c'est juste un goût, pareil pour les parenthèses ( ) exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define ExempleDeVariable = ("Hello");
    Vous pouvez aussi biensure faire des opérations entre nombres:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define ExempleDeVariable = (5 + 5);
    Et entre variables..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    define nombre1 = "5";
    define nombre2 = "5";
    define ExempleDeVariable = (nombre1 + nombre2);


    Vous pouvez aussi les soustraire, multiplier, faire une racine carré etc..

    Maintenant, pour afficher la variable qu'on a créé, que faut-il faire ?

    Il faut utiliser l'argument Print:

    On peut print des chaines de caractères:

    Mais on peux aussi print des variables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    define variable = "Salut !";
    Print("%*variable*%");
    Il faut utiliser le %*NOM DE LA VARIABLE*%..


    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    define Pere = "Hakim";
    define Mere = "Catherine";
    define Fils = "Antoine";
    
    Print("Le père d'%*Fils*% se nomme %*Pere*%, et sa mère se nomme %*Mere*%..");
    
    //Le père d'Antoine se nomme Hakim, et sa mère se nomme Catherine..
    Bref, postez ce que vous voulez (à propos de Lazen) (Critiques Négatives bien construites autorisées) et passez un bon moment !

    Nom : Logo 3.png
Affichages : 117
Taille : 640,4 Ko

    | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
    vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    Dernière modification par Invité ; 12/02/2017 à 16h16.

  2. #2
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    octobre 2011
    Messages
    1 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 233
    Points : 4 133
    Points
    4 133
    Par défaut
    tu ne précises pas si c'est compilé ou interprété
    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 24 798
    Points : 168 365
    Points
    168 365
    Par défaut
    Il manque encore pas mal de détails, mais, avant d'entrer dans les implémentations du langage, pour moi, la première question, c'est : pourquoi un nouveau langage ? Pour quoi est-il prévu ? Qu'a-t-il de différent ? Ou c'est "juste" un passe-temps (loin d'être facile !) ?
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est juste un passe-temps, j'ai appris beaucoup de choses grâce à ça..

    En + je développe un Antivirus en même temps donc je suis habitué aux heures de code difficiles..

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 698
    Points : 6 337
    Points
    6 337
    Billets dans le blog
    1
    Par défaut
    Si je peux me permettre, la gestion de la casse me semble hasardeuse :

    define
    Print

    A mon sens, il faut choisir : soit on est tout en minuscule, soit première lettre en majuscule, soit tout majuscule, mais il faut rester cohérent
    Et ce, même si le langage est lui-même case insensitive : c'est très déroutant de lire du code qui ne suit pas de logique dans le nommage.
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Invité
    Invité(e)
    Par défaut
    La syntaxe du langage est à case insensitive et il est complètement compact, dans le code, les utilisateurs peuvent donc mettre:

    Print("hello !");

    print("hello !");

    Print("hello !")

    print("hello !")

    PRINT("hello !");

    PrintEstUnTest("hello !");

    Etc..
    Du Moment que l'Analyseur Lexique aperçoit que la ligne en "lower" (minuscule) commence par "print", alors il l'affiche comme il le faut..

    Certaines personnes peuvent trouver ça moche, mais je pense que le Programmeur est libre d'écrire son code comme il le préfère.. Pourquoi restreindre le code si l'analyseur le comprend parfaitement comme le programmeur le veut ? C'est l'un des "avantages" de ce langage, il n'est pas comme les autres langages, il peux être bidouillé dans tous les sens du moment que le préfixe est détecté au début..

    Mises à jour:

    -Le Langage inclut Maintenant un mode GUI et Console..

    Mises à jour Futures:

    -Le langage peux Maintenant travailler avec de l'encryption (de nouvelles fonctions ont vont être ajoutées de manière à ce que le langage puisse crypter du MD5 - SHA1 - SHA256 - SHA512)

    -Le langage comprendra parfaitement les désirs du programmeur, exemple:

    Dans un autre langage, pour récupérer la signature d'un fichier, vous devrez faire un code complexe,

    Exemple en VB.NET:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Imports System.IO
    Imports System.Security
    Imports System.Security.Cryptography
    Imports System
    	
     Function hash_generator(ByVal hash_type As String, ByVal file_name As String)
            On Error Resume Next
            Dim hash
            If hash_type.ToLower = "md5" Then
                hash = MD5.Create
            ElseIf hash_type.ToLower = "sha1" Then
                hash = SHA1.Create()
            ElseIf hash_type.ToLower = "sha256" Then
                hash = SHA256.Create()
            Else
                MsgBox("Type de signature inconnu : " & hash_type, MsgBoxStyle.Critical, "Erreur de Kabre")
                Return False
            End If
            Dim hashValue() As Byte
            Dim fileStream As FileStream = File.OpenRead(file_name)
            fileStream.Position = 0
            hashValue = hash.ComputeHash(fileStream)
            Dim hash_hex = PrintByteArray(hashValue)
            fileStream.Close()
            Return hash_hex
        End Function
        Public Function PrintByteArray(ByVal array() As Byte)
            Dim hex_value As String = ""
            Dim i As Integer
            For i = 0 To array.Length - 1
                hex_value += array(i).ToString("X2")
            Next i
            Return hex_value.ToLower
        End Function
        Function md5_hash(ByVal file_name As String)
            Return hash_generator("md5", file_name)
        End Function
    
        Function sha_1(ByVal file_name As String)
            Return hash_generator("sha1", file_name)
        End Function
    
        Function sha_256(ByVal file_name As String)
            Return hash_generator("sha256", file_name)
        End Function
    dim getSignature = md5_hash("NOM DU FICHIER")
    C'est très difficile et le code est quand même long..

    En Lazen, vous aurez juste à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define getSignature = &file_hash("NOM DU FICHIER", "MODE D'ENCRYPTION (MD5, SHA1 etc..)");
    La différence est prometteuse..

  7. #7
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    octobre 2011
    Messages
    1 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 233
    Points : 4 133
    Points
    4 133
    Par défaut
    Citation Envoyé par Jomtek Voir le message
    Pourquoi restreindre le code si l'analyseur le comprend parfaitement comme le programmeur le veut ? C'est l'un des "avantages" de ce langage, il n'est pas comme les autres langages, il peux être bidouillé dans tous les sens du moment que le préfixe est détecté au début..
    Parce qu'un programmeur travaille rarement seul sur du code, sans conventions ce n'est pas maintenable.
    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

Discussions similaires

  1. Topic Lazen [FAQ, MAJ, ETC..]
    Par Invité dans le forum C#
    Réponses: 1
    Dernier message: 12/02/2017, 10h36
  2. [JavaScript] [FAQ][MAJ] Comment n'autoriser que la saisie de chiffres dans un champ texte?
    Par Bisûnûrs dans le forum Contribuez
    Réponses: 8
    Dernier message: 10/01/2012, 18h08
  3. [JavaScript] [FAQ][MAJ] verification de date
    Par SpaceFrog dans le forum Contribuez
    Réponses: 1
    Dernier message: 06/08/2007, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo