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

Mono .NET Discussion :

Apprendre le C# avec Mono


Sujet :

Mono .NET

  1. #1
    Membre habitué Avatar de Rapha222
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Points : 168
    Points
    168
    Par défaut Apprendre le C# avec Mono
    Salut,
    Je programme depuis quelques années en PHP et en Python, qui sont des langages interprétés et j'aimerais apprendre un language de plus bas niveau. Ayant déjà essayé le C, j'ai été très vite déçu et j'ai regardé les alternatives; puisque je passe la plupart de mon temps sur Linux, j'ai regardé pour un language portable, java est venu en premier puis j'ai découvert la plateforme Mono et j'ai directement été conquis par le système, sa portabilité, et son intégration à la plateforme (contrairement a java) : bref je veux apprendre le C# avec GTK# (j'ai déjà fait du GTK+ avec Python) pour coder sur la plateforme Mono des applications qui fonctionnent aussi bien sous Windows que sur Linux.

    Malheureusement, après quelques recherches, je n'ai pas pu trouver un cours/Livre complet sur le C# adapté pour Mono ainsi qu'une initialisation complète à GTK#
    Que me conseillez vous en français (ou en anglais à la limite) et adapté a mon niveau (je n'ai jamais fait un language avec un typage statique) ?

    D'avance, merci
    Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
    Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Le langage que ce soit sur Windows ou avec Mono utilise les même concepts(génériques, méthodes anonymes, covariance, contravariance...).

    L'idée étant qu'un programmeur C# de Windows puisse aussi bien programmer sous linux, il ne devrait pas y avoir de différence.

  3. #3
    Membre habitué Avatar de Rapha222
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Points : 168
    Points
    168
    Par défaut
    Citation Envoyé par harz62 Voir le message
    Le langage que ce soit sur Windows ou avec Mono utilise les même concepts(génériques, méthodes anonymes, covariance, contravariance...).

    L'idée étant qu'un programmeur C# de Windows puisse aussi bien programmer sous linux, il ne devrait pas y avoir de différence.
    Les cours que j'ai trouvé parlent de C# 3.0, qui n'est pas encore intégré dans mono (sauf si je me trompe) ?
    Sinon y'a quoi comme bon cours pour debuter ?
    Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
    Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Il ne me semble pas que la version 3.0 soit intégrée. Il y a des tutos sur le site pour le langage sinon tu peux aussi te référer à MSDN

  5. #5
    Membre habitué Avatar de Rapha222
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Points : 168
    Points
    168
    Par défaut
    Je vais voir ca

    Certains tutos datent de plus de 3 ans, et le projet mono a pas mal evolué, c'est ce qui m'a induit en erreur :p

    Merci
    Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
    Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    A ma connaissance, mono en es à la version 2 du framework.

    Sinon comme dit plus haut que tu sois sous Windows ou Linux, le langage reste le même à une exception près, la classe System.Windows.Forms qui est donc GTK# sous Linux (experts mono, n'hésitez pas à me corriger si je me trompe).

    a+

  7. #7
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Le namespace "System.Windows.Forms" existe aussi sous Mono et on peut donc très bien l'utiliser pour faire des applications C# ...

  8. #8
    Membre habitué Avatar de Rapha222
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Points : 168
    Points
    168
    Par défaut
    Voila, j'ai un peu commencé a lire ce tuto http://tahe.developpez.com/dotnet/csharp/ et ca me plaît vraiment comme language (beaucoup plus que le C et/ou le Java)

    Sinon, j'ai toujours rien pour GTK#, sauf les 2-3 faiblards tutoriaux de la doc officielle de GTK#, mon but étant des faire des applis GTK.
    Lorsque l'on utilise les Winforms sous Mono, c'est bien une interface GTK (transcription Winforms -> GTK) ? Mais j'immagine que ca ce programme comme des winforms et donc pas moyen d'utiliser les vrais fonctions de GTK# ... ?

    Merci en tout cas
    Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
    Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub

  9. #9
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Rapha222 Voir le message
    Voila, j'ai un peu commencé a lire ce tuto http://tahe.developpez.com/dotnet/csharp/ et ca me plaît vraiment comme language (beaucoup plus que le C et/ou le Java)

    Sinon, j'ai toujours rien pour GTK#, sauf les 2-3 faiblards tutoriaux de la doc officielle de GTK#, mon but étant des faire des applis GTK.
    Lorsque l'on utilise les Winforms sous Mono, c'est bien une interface GTK (transcription Winforms -> GTK) ? Mais j'immagine que ca ce programme comme des winforms et donc pas moyen d'utiliser les vrais fonctions de GTK# ... ?

    Merci en tout cas
    Oui tu fais comme pour des applis Winforms, le but est de pouvoir passer son appli de Windows à Linux, simplement en recompilant son code.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Oui tu fais comme pour des applis Winforms, le but est de pouvoir passer son appli de Windows à Linux, simplement en recompilant son code.
    ben non, pas besoin de recompiler justement

  11. #11
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par tomlev Voir le message
    ben non, pas besoin de recompiler justement
    Ah ben encore mieux.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Citation Envoyé par tomlev Voir le message
    ben non, pas besoin de recompiler justement
    Même les DLL sont utilisables telle-quelles ?
    Si c'est le cas, je vais commencer à regarder ça de plus près (j'avais abandonné Mono un peu à cause de ça...)
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par alband85 Voir le message
    Même les DLL sont utilisables telle-quelles ?
    Si c'est le cas, je vais commencer à regarder ça de plus près (j'avais abandonné Mono un peu à cause de ça...)
    En principe oui, avec certaines restrictions bien sûr. En gros, tout ce qui n'est pas dépendant de l'OS devrait être portable (lapalissade )... par exemple, tu ne pourrais pas utiliser sous Linux l'assembly System.Windows.Forms.dll, puisque ça fait tout le temps référence à l'API Win32. Mais si tu écris une DLL qui fait des traitements sans code spécifique à l'OS, elle devrait en principe être directement réutilisable sous Linux

  14. #14
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par tomlev Voir le message
    par exemple, tu ne pourrais pas utiliser sous Linux l'assembly System.Windows.Forms.dll
    Mais non très cher, tu peut l'utiliser. Les gars de Mono on porté cette dll vers Linux et elle fonctionne.
    http://www.mono-project.com/Gui_Toolkits#Windows.Forms

  15. #15
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Les dév de Mono ont refait une assembly ayant les mêmes fonctionnalités et avec les même nom, mais ce n'est pas la même, c'est ce que veut dire tomlev. Parce que la WinForm.dll fournie par 'crosoft est blindée de P/Invoke, est n'est pas du tout portable (quoi qu'avec Wine... )

    Une assembly qui serait pure .Net (i.e. ne faisant référence qu'à d'autres assemblies et pas des dll natives) serait portable sans recompil'. J'ai pas testé, ceci dit
    ಠ_ಠ

  16. #16
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par smyley Voir le message
    Mais non très cher, tu peut l'utiliser. Les gars de Mono on porté cette dll vers Linux et elle fonctionne.
    http://www.mono-project.com/Gui_Toolkits#Windows.Forms
    Oui mais il voulait dire que tu ne pourras pas utiliser LA dll System.Windows.Forms sur une machine Linux.

    En gros faire un C/C sur un Linux ne fonctionnera pas, alors qu'une dll "simple" (genre lecture d'un fichier) fonctionnera sous Linux.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  17. #17
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Les dév de Mono ont refait une assembly ayant les mêmes fonctionnalités et avec les même nom, mais ce n'est pas la même, c'est ce que veut dire tomlev. Parce que la WinForm.dll fournie par 'crosoft est blindée de P/Invoke, est n'est pas du tout portable (quoi qu'avec Wine... )

    Une assembly qui serait pure .Net (i.e. ne faisant référence qu'à d'autres assemblies et pas des dll natives) serait portable sans recompil'. J'ai pas testé, ceci dit
    Citation Envoyé par Skyounet Voir le message
    Oui mais il voulait dire que tu ne pourras pas utiliser LA dll System.Windows.Forms sur une machine Linux.

    En gros faire un C/C sur un Linux ne fonctionnera pas, alors qu'une dll "simple" (genre lecture d'un fichier) fonctionnera sous Linux.
    C'est effectivement ce que je voulais dire

  18. #18
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Bah il y a toujours la dll System.Windows.Forms.dll dans le dossier de mono et je crois que mono charge la sienne quand le fx n'est pas installé (ou alors, il la charge toujours) ... je vous suit plus ...

  19. #19
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    En d'autres termes, tu peux développer sous Visual studio, tester l'exécutable sous framework . net Windows et, miracle, l'exécuter aussi sous Linux.

    Moyennant quelques restrictions dues à ce que le portage des lib Windows (en particulier Winforms) n'est pas effectué à 100%, l'exe généré par Visual Studio tournera aussi sous Mono Windows et Mono Linux.

    Solution testée et opérationelle avec une palette limitée de composants visuels (soit les controles de base : boutons, combobox, Textbox, images, ...)
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/11/2008, 12h12
  2. compilation avec Mono
    Par Elstak dans le forum Mono
    Réponses: 6
    Dernier message: 15/07/2008, 14h18
  3. Passage de code sous MAC OS avec Mono
    Par Elstak dans le forum Mono
    Réponses: 4
    Dernier message: 15/07/2008, 09h27
  4. Comment apprendre a programmer avec l'API W32
    Par Claude URBAN dans le forum Windows
    Réponses: 8
    Dernier message: 22/01/2007, 23h40
  5. [WebForms]Asp.net avec mono
    Par akito dans le forum Mono
    Réponses: 19
    Dernier message: 28/01/2005, 12h28

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