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

Programmation système Discussion :

Votre avis sur mon idée


Sujet :

Programmation système

  1. #1
    Membre expert

    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2006
    Messages
    1 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 347
    Points : 3 351
    Points
    3 351
    Par défaut Votre avis sur mon idée
    Bonjour,

    Avant d'aller plus loin dans mon idée, je souhaiterai vous la soumettre afin d'avoir votre avis sur son intérêt.

    Voici le lien github du projet :
    https://github.com/FreeTalent-BB/rscript

    L'idée met venu alors que je développais. Je me suis rendu compte que je réutilisais beaucoup de bout de code, soit par habitude, soit pour gagner du temps. J'ai stocké beaucoup de petites fonctions ou de bouts de code dans des fichiers à part, et je fais pas mal de "Copier-Coller" pour les intégrer à mes scripts.

    Et ça, quelque soit le langage que j'utilise.

    Du coup, je me suis dit : Pourquoi ne pas créer un système de tags ou mots clés, que je pourrais insérer dans mon script, et qui serait remplacé par le code adéquate par un petit "compilateur". Le fichier de sortie pourrait également être lancé depuis une application spécifique (un compilateur C/C++, navigateur web, Java...).

    Cet outil pourra être extensible, en fonction des langages et des besoins.

    J'utilise déjà ce type de compilateur pour mes développements "rétro" (Amiga et CPC). Au lieu de saisir 5 lignes de code pour afficher un Sprite, j'insère un tag avec quelques paramètres et le source final est complété par mon outil.

    Existe t-il ce genre d'outil multi-langage ?

    Pensez-vous que cela soit d'un intérêt énorme ?

    Merci.
    "La révolution informatique fait gagner un temps fou aux hommes, mais ils le passent avec leur ordinateur !"

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

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 274
    Points : 4 211
    Points
    4 211
    Par défaut
    Quelle différence avec une librairie exposant des fonctions?
    Play50HZ, le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  3. #3
    Membre expert

    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2006
    Messages
    1 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 347
    Points : 3 351
    Points
    3 351
    Par défaut
    Citation Envoyé par yildiz-online Voir le message
    Quelle différence avec une librairie exposant des fonctions?
    Oui, je me doute bien que mon idée doit faire écho à autre chose. Je pense qu'elle peut avoir un intérêt certain pour les langages qui n'ont pas ce concept de librairies et fonctions exposées. Comme les vieux langages BASIC par exemple ou encore l'Assembleur. Cependant, je trouve intéressant de voir que l'on pourrait utiliser un tag qui serait transverse à plusieurs langages, ou plusieurs moteurs.

    Par exemple, si je prends les moteurs 3D, ThreeJS et Babylon 3D pour le javascript, le code pour créer des scènes 3D est sensiblement différent, pourtant le résultat à l'écran est le même. Au lieu d'avoir 1 script pour chacun des moteurs, un seul script et un tag de création de scène qui renverra le code adapté au moteur que l'on souhaite utiliser. On pourrait imaginer pouvoir changer à la volée le moteur sans avoir à changer énormément de code.

    On peut imaginer la même chose pour le C/C++, avoir un jeu de tags destiné à l'affichage 3D qui se traduira en fonction de la librairie que l'on souhaite utiliser (SDL, Direct X, OpenGL...).

    En fait, c'est un peu le même système que pour PHP. Tout ce qui est entre <? et ?> dans une page HTML, est traduit en code HTML.
    "La révolution informatique fait gagner un temps fou aux hommes, mais ils le passent avec leur ordinateur !"

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

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 274
    Points : 4 211
    Points
    4 211
    Par défaut
    Citation Envoyé par zecreator Voir le message
    Par exemple, si je prends les moteurs 3D, ThreeJS et Babylon 3D pour le javascript, le code pour créer des scènes 3D est sensiblement différent, pourtant le résultat à l'écran est le même. Au lieu d'avoir 1 script pour chacun des moteurs, un seul script et un tag de création de scène qui renverra le code adapté au moteur que l'on souhaite utiliser. On pourrait imaginer pouvoir changer à la volée le moteur sans avoir à changer énormément de code.
    Il y a le pattern strategy pour ce genre de problématiques: une partie abstraite commune, et des implémentations concrète spécifique à utiliser en fonction du choix de techno.

    Moi je vois au moins 4 problèmes à ton approche:

    1) Le code est moins lisible, impossible de parcourir le code à générer depuis l'IDE.
    2) Le code sera dupliqué physiquement, ce qui va augmenter la taille du binaire.
    3) Le code généré peur contenir des variables/fonctions dont le nom clash avec du code ou il est inséré.
    4) Les analyseurs de code statique ne pourront pas identifier le code dupliqué volontairement du code dupliqué qui devrait être nettoyé.
    Play50HZ, le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  5. #5
    Membre expert

    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2006
    Messages
    1 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 347
    Points : 3 351
    Points
    3 351
    Par défaut
    Citation Envoyé par yildiz-online Voir le message
    Il y a le pattern strategy pour ce genre de problématiques: une partie abstraite commune, et des implémentations concrète spécifique à utiliser en fonction du choix de techno.

    Moi je vois au moins 4 problèmes à ton approche:

    1) Le code est moins lisible, impossible de parcourir le code à générer depuis l'IDE.
    2) Le code sera dupliqué physiquement, ce qui va augmenter la taille du binaire.
    3) Le code généré peur contenir des variables/fonctions dont le nom clash avec du code ou il est inséré.
    4) Les analyseurs de code statique ne pourront pas identifier le code dupliqué volontairement du code dupliqué qui devrait être nettoyé.
    Oui, en lisant ce que tu viens d'écrire, je pense que cela n'a pas d'intérêt sur les langages modernes. En fait, j'avais commencé a réfléchir à ça lorsque je me suis remis à la programmation sur Amstrad CPC. En BASIC, pour afficher un Sprite, tu dois passer par toute une série de CALL &XXXX, certains avec plusieurs paramètres assez chiant. Du coup, en créant des TAGS qui sont remplacés par le code BASIC, ça me simplifiait grandement la vie (et mon code devenait plus lisible du coup).

    Merci pour ton avis éclairé.
    "La révolution informatique fait gagner un temps fou aux hommes, mais ils le passent avec leur ordinateur !"

  6. #6
    Futur Membre du Club Avatar de meynaf
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : octobre 2018
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Désolé de réveiller une discussion vieille de 5 mois (pas taper ), mais pour faire ça on peut aussi utiliser des macros. Je le faisais tout le temps en asm sur amiga.
    Pour passer le truc d'un système à un autre il faut trouver une syntaxe d'appel de macros qui passe partout, et c'est pas nécessairement facile.
    Il y a aussi la solution de se faire une petite vm maison, c'est à dire son propre système de script. On implémente alors ce mini-langage de programmation sur chacune des plates-formes visées.

Discussions similaires

  1. Votre avis sur mon MacOs version Web
    Par arnolem dans le forum Mon site
    Réponses: 10
    Dernier message: 14/08/2006, 12h32
  2. Votre avis sur mon site
    Par bibom dans le forum Mon site
    Réponses: 18
    Dernier message: 28/07/2006, 18h03
  3. Réponses: 5
    Dernier message: 28/07/2006, 09h07
  4. votre avis sur mon premier site
    Par hajmainou dans le forum Mon site
    Réponses: 6
    Dernier message: 21/06/2006, 01h59
  5. [Mémoire Licence] Votre avis sur mon titre
    Par soad029 dans le forum Stages
    Réponses: 8
    Dernier message: 23/05/2006, 20h21

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