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 :

Que pensez-vous du domaine de la compilation ?


Sujet :

Langages de programmation

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Que pensez-vous du domaine de la compilation ?
    je viens de terminer un projet de compilation pour un mini langage orinté objet et je trouve que ce domaine est assez difficile et demande bcp de travail, en plus le projet etait réalisé en ocaml !! à vos plumes

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par cold_fire
    je viens de terminer un projet de compilation pour un mini langage orienté objet et je trouve que ce domaine est assez difficile et demande bcp de travail, en plus le projet etait réalisé en ocaml !! à vos plumes

    effectivement, ce domaine est assez difficile... et de nombreux problèmes restent ouverts, et continuent d'occuper des chercheurs à plein temps.

    pour informations, ce domaine est tellement vaste qu'à ma connaissance aucun master ne le traite intégralement (sauf les cas pathologiques de master proposant plus de 100 ECTS de cours possibles...)
    d'ailleurs, de nombreuses techniques utilisées en compilation peuvent servir dans d'autres domaines :
    - inférence de type -> vérification (ex: Lucid-Synchrone avec de l'inférence de types sur les horloges pour certifier des circuits synchrones)
    - unification du polymorphisme -> programmation par contraintes (en fait, c'est un peu l'inverse...)

    de mon côté, je n'ai jamais compilé de l'orienté objet... si tes sources sont disponibles, je suis preneur


    je ne sais pas jusqu'où tu es allé, certainement de la compilation vers une machine virtuelle... si c'est le cas, je te conseille de jeter un coup d'oeil sur la partie back-end (allocation de registres, exportation en assembleur, ordonnancement) ; et à la partie middle-end (optimisation grâce à la forme SSA)

  3. #3
    Membre régulier Avatar de anas.eh
    Profil pro
    Inscrit en
    Février 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 181
    Points : 119
    Points
    119
    Par défaut
    Certes c'est assez difficile, nous avons eu l'ocasion dans notre école de réaliser un pseudo interpréteur CShell en FLEX et BISON (pour l'analyse lexicale, syntaxique et sémantique), même si ces outils nous ont facilité beaucoup la tâche ce projet nous a rendu follement stressés; il faut faire des tests : y en a ceux qui réussissent et ceux non, et on sait même pas pourquoi :s

    Je veux noté que parmis tout les projets que nous avons réalisés, celui là était si marquant par sa difficulté.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 82
    Points : 178
    Points
    178
    Par défaut Fascinant !
    J'ai appris la compilaion à Jussieu au début des années 70 et j'ai eu la chance de travailler dans ce domaine.
    J'ai dirigé une équipe qui faisait des compilateurs et j'ai été responsable du développement d'un compilateur C depuis le début jusqu'à la livraison de la première version.
    J'ai réalisé (en équipe avec 2 autres personnes) un générateur de code multilangage et, à cette occasion, nous avons défini un langage intermédiaire entre les phases d'analyse sémantique des différents compilateurs et le générateur de code commun.
    J'ai aussi enseigné les techniques de compilation.
    Je suis bientôt à la retraite et ne travaille plus dans ce domaine mais je garde de cette période mes plus beaux souvenirs professionnels.
    C'est un domaine fascinant qui demande effectivement beaucoup de travail car le "ticket d'entrée" n'est pas donné, mais quelle satisfaction au bout du compte.

  5. #5
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par cold_fire Voir le message
    en plus le projet etait réalisé en ocaml !!
    Remplace "en plus" par "heureusement". Caml est l'un des langages les plus adaptés pour ce travail. J'aime beaucoup le domaine de la compilation, j'ai réalisé entre autres un compilateur en C++ et un en Caml. La différence (en complexité, en lisibilité...) est vraiment flagrante.

    Le problème, c'est que ce n'est pas un domaine qui recrute beaucoup. Par deux fois, j'ai réussi à trouver un boulot dans ce domaine, mais c'est pas évident à trouver.

  6. #6
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Citation Envoyé par LLB Voir le message
    Remplace "en plus" par "heureusement". Caml est l'un des langages les plus adaptés pour ce travail. J'aime beaucoup le domaine de la compilation, j'ai réalisé entre autres un compilateur en C++ et un en Caml. La différence (en complexité, en lisibilité...) est vraiment flagrante.

    Le problème, c'est que ce n'est pas un domaine qui recrute beaucoup. Par deux fois, j'ai réussi à trouver un boulot dans ce domaine, mais c'est pas évident à trouver.
    Pour l'implémentation en C++, as-tu tenté d'utiliser boost.Spirit ? Je suis juste curieux de savoir qu'est-ce que ça donne en conditions réelles.

  7. #7
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par HanLee Voir le message
    Pour l'implémentation en C++, as-tu tenté d'utiliser boost.Spirit ? Je suis juste curieux de savoir qu'est-ce que ça donne en conditions réelles.
    Non, c'était à base de flex/bison.

    Je viens de regarder Boost.Spirit et c'est vrai que ça a une approche assez originale.

Discussions similaires

  1. Que pensez-vous de cet hébergeur : Domaine Achat
    Par sraharison dans le forum Autres hébergeurs
    Réponses: 2
    Dernier message: 23/06/2015, 16h29
  2. Que pensez-vous des générateurs de doc PHP ?
    Par Nonothehobbit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 64
    Dernier message: 10/07/2007, 11h17
  3. Que pensez vous du nouveau kernel 2.6 ?
    Par GLDavid dans le forum Administration système
    Réponses: 58
    Dernier message: 02/08/2004, 16h45
  4. Que pensez vous du mariage ASP Flash?
    Par tyma dans le forum Flash
    Réponses: 4
    Dernier message: 09/07/2003, 16h00

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