IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Ruby Discussion :

Cibyl, un langage léger pour programmer en Ruby et Crystal avec une syntaxe dérivée du C


Sujet :

Ruby

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Cibyl, un langage léger pour programmer en Ruby et Crystal avec une syntaxe dérivée du C
    https://github.com/senselogic/CIBYL

    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
    // Recursive Fibonacci function
     
    def fibonacci(
        n : Int32
        )
    {
        if ( n <= 1 )
        {
            return 1;
        }
        else
        {
            return fibonacci( n - 1 ) + fibonacci( n - 2 );
        }
    }
     
    puts fibonacci( 5 );
    A noter que Cibyl n'est clairement PAS adressé aux développeurs qui apprécient déjà Ruby et Crystal...

    Son unique but est de permettre à la minorité de programmeurs qui trouvent que les langages dérivés du C ont une lisibilité qui leur convient mieux, de ne pas laisser Ruby et Crystal de côté à cause d'une simple préférence syntactique.

  2. #2
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut
    Est-ce que cibyl compile le code. Crystal avait du potentiel, malheureusement les responsables ne semblent pas comprendre ce qu'est un langage pure objet. Cela va finir une devenir une version de C++.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Pour le moment Cibyl est un simple transpileur.

    Dès qu'il détecte un changement dans un ou plusieurs fichiers .cb/.ecb du répertoire Cibyl qu'il surveille, il les transforme immédiatement en fichiers Crystal ou Ruby.

    Il n'y a pas encore d'option pour lancer automatiquement une commande shell chargée de compiler/exécuter l'application en cours de développement.

    Je peux la rajouter, mais il y aura alors le problème de pouvoir arrêter manuellement la compilation ou l'exécution de l'application, ce qui complique un peu la situation...

  4. #4
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut
    C'est déjà intéressant dans sa forme actuelle. Mais qu'est-ce qui ce passe avec les extensions écrites en C ? Et en terme de performances, il y a t-il un gain de vitesse ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Le code qui est généré aura exactement les mêmes performances que s'il avait été programmé manuellement en Ruby ou Crystal.

    Aucun gain de vitesse n'est à attendre, l'intérêt de Cybil étant purement esthétique.

    En effet, le but essentiel de Cibyl est de permettre aux développeurs provenant des langages orientés-objets dérivés du C (C++, C#, Go, Dart, JavaScript, etc) de continuer d'utiliser une syntaxe similaire si tel est leur souhait (blocs {}, commentaires // et /* */, etc).

  6. #6
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut
    Je me suis mal exprimé. je voulais savoir si l'on devait refaire les interfaces pour les librairies en C. J'en déduis que c'est géré automatiquement.

    Pour le code en Ruby, j'imagine qu'il doit y avoir un gain de vitesse puisque cela devient un code compilé comme Crystal.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Pour les librairies en C, il n'y a effectivement aucune opération supplémentaire.

    Par contre, comme le code Cibyl est traduit en Ruby de façon littérale, le code s'exécutera exactement à la même vitesse que si le code qui est généré avait été programmé directement en Ruby.

    Si vous appréciez particulièrement la syntaxe et les conventions actuelles de Ruby/Crystal, et n'avez pas à porter en Crystal ou Ruby des applications web ou autres initialement développées en Phoenix/PHP, JavaScript, Dart, Go, C#, Java, etc, il y aura peu d'avantages à utiliser Cibyl, hormis les commentaires /* */, les préfixes $ au lieu de @@, etc.

  8. #8
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut
    Je croyais qu'il transformait le code en D. Mais en fait c'est une espèce de traducteur de langage, si je comprend bien ?

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Madmac Voir le message
    Je croyais qu'il transformait le code en D. Mais en fait c'est une espèce de traducteur de langage, si je comprend bien ?
    Oui c'est exactement cela

    Cibyl fonctionne un peu de la même façon que CoffeeScript par rapport au JavaScript.

    Il s'agit d'un langage léger permettant d'utiliser un langage existant de la façon habituelle, mais avec une syntaxe légèrement altérée permettant de bénéficier de certains avantages.

    Dans le cas de Cibyl, il s'agit essentiellement de permettre un portage plus aisé depuis les langages web avec une syntax C-like (PHP et Go dans mon cas), plus quelques petits bonus (commentaires /* */, préfixe $ pour les variables globales, etc).

Discussions similaires

  1. [PowerShell] script pour manipuler en powershell un csv avec une seule colonne
    Par laurentSc dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 11/04/2017, 14h44
  2. Réponses: 4
    Dernier message: 28/04/2015, 07h05
  3. programmer un sudoku en python avec une interface graphique..
    Par tsara29 dans le forum Général Python
    Réponses: 1
    Dernier message: 13/04/2013, 16h51
  4. [MySQL] Difficultés avec une syntaxe
    Par Velkan.nexus dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 29/01/2008, 19h07
  5. Besoin d'aide avec une syntaxe
    Par jvv 64 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/03/2007, 11h33

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