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

Langages de programmation Discussion :

Je souhaite créer un langage de programmation


Sujet :

Langages de programmation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 0
    Points
    0
    Par défaut Je souhaite créer un langage de programmation
    Je veux creer un langage de programation dont le nom est U, ou Uflos.
    Le language devrais ressembler a ceci:
    fonction.nom
    {
    /: un commentaire
    /:: un long ::/
    screen.print("Un message a l'écran");
    }
    Voila pour ce petit exemple , j'avais fait plus, mais un voulant envoyer mon message, bha, j'ai eu une erreure , donc, merci si vous avez lu ce court post, et oublier pas de répondre si vous vous y connaisser car la :o je ne sais pas quoi fairre

    sinon

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Bonjour,

    je me pose quelques questions :

    - Quel est ton niveau dans les autres langages de programmation?

    - Pour quel but tu souhaites créer ton langage ?

    Si c'est a but pédagogique ou pour le fun , regarde par la : http://www.codeproject.com/Articles/...mming-Language

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    Principalement de c++, sinon que de l'HTML, php et css3.
    Une petite base d'assembleur aussi.

    Ce cerais plutôt un langage de programation pour le fun, mais aussi pour que je puisse (baucoup) l'utiliser
    Possibilité d'aller de mon langage au c++ pour être envoyer a gcc pour un fairre un exe (dans mon cas, pas une exe, je suis sous linux)

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 282
    Points : 939
    Points
    939
    Par défaut
    Tu cites C++. Je pense à C et fais une association d'idée.
    Tu souhaites finalement faire un "DSL" (Domain Specific Language) ? Un langage rien qu'à toi ?
    Il y a des langages avec lesquels tu peux l'envisager : Lisp & co, OCaml, Haskel, etc.

    Plus simplement, as-tu pensé à Lua ?
    poke 1024,0; poke 214,214

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    Pas un langage "rien" qu'as moi, il seras public biensûr mais je voudrait fairre un language qui serais "facile" de compréhention pour les débutants dans le codage, sans pour autant leur faciliter leur tache.
    Aussi (mais aussi principalement), je le fait pour m'exercer dans le codage, car je voudrait aprendre encore le python et ruby.

    Sonietest

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    Alors voici un petit exemple de ce que je pense fairre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function.main
    {
    screen.print("Bonjour, quel est votre nom?");
    def nom; /: On définit la variable de son nom
    screen.in("Votre nom est " in=nom); /: Une entrée (= a cin >> variable en c++, mais on peu add du text direct)
    screen.clear; /: efface tout contenu de l'écran
    screen.print("Votre nom est " nom); /: écrit Votre nom est 'NOM' 
    screen.fix(5); /: Met en pause l'écran, cad qu'il attend 5 sec avant de passer a 'end;'
    end; /: finit l'application
    }

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 282
    Points : 939
    Points
    939
    Par défaut
    Tu as du taf devant toi, et je ne suis pas certain que tu te rendes compte à quel point.
    Tu veux créer un langage ? ok, alors il faut passer par la case compilation pour comprendre. Il y a plein de ressources sur le sujet via Google. D'emblée, tu dois te frotter aux notions de grammaire, d'analyse lexicale, d'analyse sémantique, etc (même si tu veux juste interpréter, pas compiler).

    Fouine ces sujets, c'est passionnant, mais tu vas vite comprendre ce qui t'attends. C'est pour cela que je mentionnais des langages qui, d'emblée, te permettent de créer ce qu'on appelle un "DSL" (Domain Specific Language).

    Bon courage !
    poke 1024,0; poke 214,214

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    Je sais qu'il y a un livre (dont je ne me souvient plus du nom) pour se creer un langage de programation, mais vaut-il le coup d'être acheter? N'y aurait-il pas de "tuto" sur internet?
    Merci d'avance

    Sonietest

  9. #9
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Je doute qu'il n'y ai qu'un seul livre sur le sujet.

    AdmChiMay a raison , c'est d'ailleurs pour ça que je t'ai précisé si c'était juste pour le fun ou a but pédagogique. C'est très dur , et quand on dit dur , c'est pas "au bout de 2 semaines j'y arriverai" mais vraiment extrêmement dur.

    Si t'es chaud a investir autant de temps , pourquoi ne pas l'investir dans la maitrise parfaite du C++ ou d'un autre langage ?

    Fais plutôt un gros projet Open Source dans un domaine que t'aimes bien , plutôt que de t'attaquer a un gros poisson comme ça direct.

    Quel est ton niveau en C++ ?

  10. #10
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 376
    Points
    20 376
    Par défaut
    Citation Envoyé par Tijl12 Voir le message
    Pas un langage "rien" qu'as moi, il seras public biensûr mais je voudrait fairre un language qui serais "facile" de compréhention pour les débutants dans le codage, sans pour autant leur faciliter leur tache.
    Aussi (mais aussi principalement), je le fait pour m'exercer dans le codage, car je voudrait aprendre encore le python et ruby.

    Sonietest
    salut quel intérêt ?

    Des langages il y en a des tas dans le monde de l'informatique.

    Ensuite tu vas y investir un nombre d'heures monstrueux sur ton temps libre et au final ça risque de ne pas intéresser grand monde.
    Ceci dit à but pédagogique oui ça peut être intéressant car ça permet de comprendre beaucoup de choses en interne.

    Pour info , j'ai développé un interpréteur de macros en langage Basic mais pour un logiciel particulier .

    L'interpréteur que je développe c'est dans une finalité si possible commerciale..donc c'est pour une finalité très précise et bien définie.
    C'est une banalité que j'écris mais si tu connais la finalité de ton projet avec un certain degré de précision tu sais parfaitement où tu vas.

    Maintenant pour répondre à la question , chercher dans Google, il y a le code source de Tiny Java Script sur code.google.com
    Tu peux t'inspirer du projet libre GAMBAS de langage BASIC fait par un français sur Source Forge

    Citation Envoyé par Tijl12 Voir le message
    Mais passont au vif du sujet: Je sais qu'il y a un livre (dont je ne me souvient plus du nom) pour se creer un langage de programation, mais vaut-il le coup d'être acheter? N'y aurait-il pas de "tuto" sur internet?
    il y a des livres sur la théorie des compilateurs mais ils sont un peu pointus à appréhender..


    ensuite concernant la maitrise du C++ à la base pour réaliser ton propre interpréteur de langage ça ne suffit pas,il faut réflechir à toute la problématique et savoir comment tu vas faire pour construire ton propre interpréteur / compilateur de langage comme le montre AdmChiMay

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 309
    Points : 928
    Points
    928
    Par défaut
    La vraie difficulte ici n'est pas vraiment l'implementation. Pour un langage simple, ecrire un interpreteur dans un langage fait pour (par exemple OCaml) peut se faire en un weekend, et avec des technologies comme LLVM, tu peux meme ecrire un compilo vers code natif en quelques semaines.

    La vraie difficulte est celle du design, et pour ca, il va te falloir un peu plus d'experience que "html et css3" (et meme C++ et PHP). Dans quelle famille de langage tu penses te situer? Imperatif, fonctionel, logique, autre? Si tu choisis imperatif (le contraire me surprendrait), est ce que tu pars sur de l'objet? Si oui classe ou prototype (a la javascript) ou l'approche bizarre de Go sans heritage? Quel genre d'heritage? Multiple, simple, interface? En parlant d'interface, langage typé ou non? Si non typé, tres permissif a la PHP ou un poil plus raisonnable a la python? Si typé, quels genre de types? Et comment gerer le polymorphisme? Heritage, interface seulement (Go, encore...), template/generics, ou peut etre meme des trucs un peu fun a la OCaml?
    Et comment tu geres les erreurs? Exceptions a la java? retour systematique d'erreurs a cote de la valeur a la Go (je ne comprendrai jamais ce langage), un type special ErreurOu<T>? Ou alors simplement des type algebriques generaux (ADT) qui offrent plein d'autres avantages, mais qui doivent ensuite interagir avec le reste.

    Et mon intuition vu ton "experience" et le fait que tu penses qu'attendre 6 heures pour avoir une reponse est trop long est que tu n'es pas encore a meme de repondre a ces questions. Donc ma suggestion: continue a programmer, utilise d'autres langages que C++ (et arrete d'utiliser PHP ), et quand tu auras de vraies idees pour "ton" langage (au dela d'avoir des commentaires qui commencent par '/:' juste pour pas faire comme tout le monde), tu pourras t'y mettre.

  12. #12
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Citation Envoyé par TropMDR Voir le message
    En parlant d'interface, langage typé ou non? Si non typé, tres permissif a la PHP ou un poil plus raisonnable a la python?
    PHP et Python sont (plus ou moins fortement) typés. Dynamiquement certes mais typés malgré tout.

    En langages non typés, on citerait plutôt la plupart des langages machines, où ni la variable ni la valeur qu'elle contient ne porte le type mais où celui-ci est déterminé par l'opération à réaliser.

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 309
    Points : 928
    Points
    928
    Par défaut
    J'aurais du dire "statiquement typé" effectivement, désolé.

  14. #14
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Comme dit plus haut, créer un langage de programmation est une tâche de titan.

    Cependant il existe aujourd'hui une alternative, ometa, qui peut être utilisé comme un traducteur : tu fournis les idiomes du langage via une grammaire PEG (similaire à BNF) et pour chaque idiome sa traduction dans un langage hôte. Cela limite de beaucoup la somme de travail nécessaire mais aussi les possibilités.

Discussions similaires

  1. Créer un langage de programmation
    Par conagui dans le forum Assembleur
    Réponses: 12
    Dernier message: 17/02/2015, 00h44
  2. Comment créer un langage de programmation?
    Par Terfas dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 06/01/2015, 10h53
  3. Comment créer un langage de programmation ?
    Par @v@lon dans le forum Langages de programmation
    Réponses: 27
    Dernier message: 16/06/2014, 22h04
  4. Créer un langage de programmation
    Par Michael Douglas dans le forum Assembleur
    Réponses: 14
    Dernier message: 19/12/2013, 19h14
  5. Créer un langage de programmation pour ensuite interpréter du PHP
    Par psgkiki dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 25/06/2008, 10h08

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