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

 C Discussion :

Interface graphique sans la POO ?


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 52
    Points : 29
    Points
    29
    Par défaut Interface graphique sans la POO ?
    Bonjour à tous

    Voila après quelques recherches je viens me renseigner au près de vous pour savoir s'il existe ou non une bibliothèque graphique (pour une interface utilisateur) en C (ou c++) qui n'utiliserai pas le principe de la POO ?

    Je n'ai rien contre la POO, je l'utilise pour des projets dirigés (pas le choix) je saisis le concept mais je préfère la méthode de programmation pure (manipuler les pointeurs, structures, etc) je ne dit pas que ce n'est pas possible avec la POO mais quand je programme pour moi, j'ai plus de plaisir à concevoir mon programme sans classe, à cogiter dans ma tête pour trouver l'algorithme 'parfait' utiliser malloc, les tableaux, et tout ce qui s'en suit Le résultat finale ne m’intéresse que très peu, c'est plus les méthodes utilisés qui m’intéresse, rester au plus près du système (bas niveau) et comprendre comment celui-ci fonctionne

    Bref pour mon projet personnel, j'aurai aimé intégrer une interface graphique (multi-plateforme) sans passer par l'objet

    Est-ce possible ? est-ce que ça existe ? ou dès lors que je souhaiterai utiliser une interface graphique (comme gtk) je devrai obligatoirement passer par la POO ?

    Merci à vous d'avoir pris du temps pour lire mon poste

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Je n'utilise pas de bibliothèque graphique dans des langages non orienté objet, mon avis sera peut-être un peu biaisé mais je pense que faire un IHM sans POO, c'est comme se dire que c'est cool de faire des trous avec un vilebrequin plutôt qu'une perceuse. La construction d'IHM utilise massivement les patrons de conception tels que Modèle-Vue-Contrôleur ou encore Observateur-Observable. On peut les réaliser sans OO mais ce sera au final de l'OO déguisée, avec des types de structures et une liste de méthodes associées à ces types.

    Ensuite, je ne vois pas du tout en quoi faire des classes t'empêche de trouver les algo parfaits, de réfléchir sur des structures de données (qu'est ce qu'une classe sinon une structure un peu particulière), de gérer finement la mémoire (tout le monde n'a pas un GC comme Java). Ce qu'on appelle POO est un monde vaste !

    Enfin, l'IHM n'a pas grand chose de bas niveau et proche de la machine. Si c'est ça ton bonheur, il y a des tas d'autres projets à faire où tu t'amuseras plus

  3. #3
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    Je ne connais pas de lib comme gtk qui font la meme chose sans passer par la POO. Si tu veux vraiment t'en passer, rien ne t'empeche de prendre une autre lib graphique et de faire tous les modules toi-meme, mais ca te prendra enormement de temps pour un resultat sans aucun doute beaucoup moins bon.

  4. #4
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Peut-être n'ai-je pas compris la question, mais pour faire du graphique pur (je ne parle pas d'IHM), il y a la SDL qui fonctionne parfaitement en C.

    A+

    Pfeuh

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Si tu veux faire une GUI en C pour tes applications ton choix est très restreint: GTK+ ou Win32 (pour faire des IHM natives Windows) !

    GTK+ n'est pas OO mais en utilise simplement les concepts pour son architecture, comme cela a été dit plus haut, c'est de l'OO déguisée rien de plus. J'utilise moi-même les concepts de la POO dans certains de mes projets comme mon moteur 2D que je suis en train de faire en C/SDL2.

    C'est plus de l'organisation de code et d'objets (structures entre autres) qu'autre chose, la base de mon système n'en reste pas moins du C pur et dur !

    Je pense que tu peux très bien utiliser GTK+ comme je le fait également, tu ne fera pas de POO pour autant

    Après si tu veux rester au plus proche de la machine, ne fait pas de GUI graphique alors et prend plutôt la direction d'une IHM texte en mode console avec la bibliothèque Graphics

    Tu feras alors des IHM de ce genre: http://www.developpez.net/forums/d31...-sous-console/
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Je n'utilise pas de bibliothèque graphique dans des langages non orienté objet, mon avis sera peut-être un peu biaisé mais je pense que faire un IHM sans POO, c'est comme se dire que c'est cool de faire des trous avec un vilebrequin plutôt qu'une perceuse.
    Je n'étais pas passé depuis un moment, désolé du retard..

    A tous : la Xlib, la biblothèque de base de X11, est bien une bibliothèque graphique, - en C et appelable en C - permettnt de créer des fenêtres, des boutons, des champs de saisie, etc.. Son codage lui-même est en POO, elle manipule des objets, mais elle s'insère dans tout programme C, même non POO.

    Je crois plutôt que ce que le PO souhaitait, c'était justement une blbilothèque basée sur le C (ce qu'est X11 et la Xlib) et non pas sur C++ ou autres LANGAGES OO.

    Maintenant, aussi à tous, GTK, ou wxwidgets, sont construits sur X11, comme Motif. ce sont des surcouches définissant des widgets..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    A tous : la Xlib, la biblothèque de base de X11, est bien une bibliothèque graphique, - en C et appelable en C - permettnt de créer des fenêtres, des boutons, des champs de saisie, etc.. Son codage lui-même est en POO, elle manipule des objets, mais elle s'insère dans tout programme C, même non POO.

    […]

    Maintenant, aussi à tous, GTK, ou wxwidgets, sont construits sur X11, comme Motif. ce sont des surcouches définissant des widgets..
    Tout-à-fait d'accord. Je suis personnellement assez fan de la X-Lib, à l'inverse de pas mal de monde apparemment.

    Cela dit, GTK est plus qu'une simple surcouche définissant les widgets. Il s'agit d'une authentique API qui est censée se suffire à elle-même, ce qui a permis, par exemple, de la porter sous Windows et d'utiliser les infrastructures natives. Elle définit également toutes sortes de facilités comme les « signaux » GTK qui permettent de relier relativement facilement un événement donné à une fonction.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Je suis d'accord, mais la Xt(oolkit) de base avec X11 (libXt) a ça aussi (XtEventHandler) ... C'est d'ailleurs elle qui définit la notion de Widget alors que la Xlib ne définit que des "fenêtres", qui sont simplement des rectangles. (et ce que tu dis sur Gtk n'est pas tout à fait vrai, puisque cygwin permet quand même de faire tourner sur Windows des progs X11 de manière ssez aisée..)

    Je crois que les autres - les non-fans - ne le sont que par ignorance, de leus cours et de leurs profs et des formations/tutoriels..

    Il est d'ailleurs pour le moins étrange qu'aucun forum ne soit consacré à X11. On a des bribes ici, des bribes sous systèmes/linux, des bribes dans outils C/C++, des bribes dans GTK ou wxidgets, des bribes dans MacOSX... On m'avait proposé de faire un cours (que j'ai tout prêt) mais je ne savais pas où le mettre...

    Je crois qu'il y a un manque considérable des bases, une transmission qui ne s'est pas faite lors de la mode du C++, fin 90 début 2000.. C'est d'ailleurs égalenent vrai pour Java, dont la plupart des fans ne savent pas que cela a été le pont (bridge) entre les systèmes X11 (tous sauf M$) et M$, qui refusait X11...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Il est d'ailleurs pour le moins étrange qu'aucun forum ne soit consacré à X11. On a des bribes ici, des bribes sous systèmes/linux, des bribes dans outils C/C++, des bribes dans GTK ou wxidgets, des bribes dans MacOSX... On m'avait proposé de faire un cours (que j'ai tout prêt) mais je ne savais pas où le mettre...
    Suffit de lancer la machine et de proposer l'ouverture d'un sous-forum pour cette lib Pour savoir où proposer le tutoriel suffit de proposer le tutoriel d'après le langage que tu as utilisé Tu lanceras peut être en engouement pour cette lib, il n'est jamais trop tard !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Franck.H Voir le message
    Pour savoir où proposer le tutoriel suffit de proposer le tutoriel d'après le langage que tu as utilisé
    C, quoi d'autre

    Mais ça ne change pas grand chose, ce n'est pas là que les questions sont, en général.. En fait elles sont pas mal réparties entre les divers sous-forums concernés ..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  11. #11
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    C, quoi d'autre

    Mais ça ne change pas grand chose, ce n'est pas là que les questions sont, en général.. En fait elles sont pas mal réparties entre les divers sous-forums concernés ..
    Oui, disons qu'il faudrait voir pour ouvrir un sous-forum dans la partie dédiée aux bibliothèques où GTK+ demeure aussi, d'ailleurs j'ai jamais vraiment compris pour quelle raison il y un forum GTK basé ici et sur Linux

    Je pense qu'il suffit de faire les propositions qui vont bien, par exemple à Lana.Bauer

    A mettre ici par exemple un sous-forum dédié à XLib: http://www.developpez.net/forums/f37...bibliotheques/ et bien sûr quelqu'un qui se dévoue pour déplacer tous les message relatifs à XLib
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. interface graphique sans aucun composant
    Par moooona dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 29/05/2008, 17h36
  2. [Débutant] Réinitialiser une interface graphique sans en sortir
    Par Alucard9800XT dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 23/04/2007, 16h32
  3. Sql - interface graphique - Sans serveur
    Par mélinée dans le forum Langages de programmation
    Réponses: 17
    Dernier message: 02/12/2006, 20h49
  4. Interface graphique sans IDE
    Par stoof23 dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 28/04/2004, 10h21

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