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

Actualités Discussion :

Les développeurs Linux devraient-ils s’intéresser à Mono ?

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    1 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 089
    Points : 26 554
    Points
    26 554
    Par défaut Les développeurs Linux devraient-ils s’intéresser à Mono ?
    Les développeurs Linux devraient-ils s’intéresser à Mono ?
    Un développeur défend la plateforme

    Mono est un projet open source mis en œuvre en 2004 afin de porter le Framework .net sur plusieurs plateformes. Le succès réel de celui-ci a été remarqué depuis 2011, c’est-à-dire avec la reprise de cette plateforme par Xamarin afin de favoriser le développement des applications à la fois pour Windows, Linux, Android et iOS.

    Depuis lors, on assiste à plusieurs itérations de cette plateforme s’efforçant d’assurer une compatibilité avec le langage C#, les API de la norme ECMA, le serveur Web de la technologie ASP.NET, etc.

    Plusieurs avantages peuvent être donc reconnus à cette plateforme, mais le constat consternant est que la plateforme est assez peu utilisée par les développeurs Linux. Un éditorialiste nous donne cinq raisons qui devraient pousser tout développeur Linux à considérer Mono lors du choix de sa plateforme de développement.

    Premièrement, l’équipe à la base du projet assure une veille permanente par rapport à C# afin d’intégrer les dernières versions du langage. Par exemple dans la version 3.8 du projet, l’équipe a intégré une préversion de C# 6.0. De ce fait, nous avons une intégration des fonctionnalités telles que les constructeurs primaires, les filtres d’exception, l’opérateur Nameof pour ne citer que ceux-là. Les développeurs C# n’ont donc pas de soucis à se faire, car aussi bien sur Windows avec .net que sur les autres systèmes avec Mono, ils arriveront à tirer parti de l’ensemble des fonctionnalités offertes par ce langage.

    Deuxièmement, Mono est soutenu par MonoDevelop, un environnement de développement intégré multiplateforme incluant un débogueur, un environnement graphique pour la conception d’interfaces graphiques en Gtk#, un outil de visualisation des classes, une complétion de code ainsi que bien d’autres fonctionnalités. Les développeurs sous Linux ne sont donc pas obligés d’investir dans un EDI à grands frais pour utiliser Mono.

    Nom : Mono_Logo.jpg
Affichages : 6950
Taille : 30,5 Ko

    Troisièmement, Mono évolue avec l’ère du temps. Les smartphones étant en grande progression au fil des années, il est possible de développer des applications Android et iOS avec Mono. Toutefois, deux facteurs un peu limitants sont à prendre en compte pour ces plateformes. Pour compiler une application pour iOS, il va falloir utiliser OSX et également débourser environ 300 dollars pour obtenir la version commerciale de l’EDI de Xamarin afin de générer une version compilée des applications pour iOS.

    Quatrièmement, Mono est multiplateforme. Cela sous-entend que les applications conçues sur Windows tourneront sans difficulté avec Mono sur les plateformes telles que Linux, Mac OS X, BSD, Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone et Android. Seules quelques spécifications telles que les applications WPF ne pourront pas être prises en charge.

    Et en dernier point, vous pouvez utiliser Mono dans un projet développement de jeux. Dans ce sens, nous avons l’éditeur de scripts Unity qui peut être utilisé avec Mono.

    En résumé, voici quelques raisons qui somme toute peuvent être prises en compte par les développeurs de la plateforme Linux afin d’adopter Mono.

    Toutefois, les raisons évoquées ci-dessus peuvent également s’appliquer à de nombreuses autres plateformes de développement disponibles sur Linux. Et Mono sur Linux ne bénéficient pas de la même richesse que .NET Framwork, qui est intimement lié à Windows. Ce qui représente un gros frein pour son adoption par de nombreux développeurs. Il faut aussi noter que les développeurs Linux sont plus orientés dans le développement des solutions embarquées et des outils, dont l’accès aux ressources systèmes pousse ces derniers vers des langages comme C.

    De plus, avec la publication de .NET Core, une implémentation open source de .NET soutenue par Microsoft, Mono pourrait perdre de sa pertinence et les développeurs pourraient plus se lancer dans l’adoption de cette dernière.


    Source : Dice.com

    Et vous ?

    Que pensez-vous de ces arguments ? Les trouvez-vous convaincants ?

    Quel est le frein selon-vous à l’adoption de Mono sur Linux ?

    Pensez-vous que les développeurs Linux devraient s’intéresser à Mono ? Pourquoi ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par Olivier Famien Voir le message
    Que pensez-vous de ces arguments ? Les trouvez-vous convaincants ?
    1) je doute que les "développeurs Linux" soient fan de C#

    2) les "développeurs Linux" ont déjà des IDE OpenSource pour leurs langages

    3) le "développeur Linux" ne cherche pas à développer pour iOS et sous Android il peut accéder directement à la sous-couche Linux

    4) le "développeur Linux" cherche à amener des utilisateurs sous Linux par la qualité de ses productions, et certainement pas à porter ces atouts sur d'autres plateformes

    évidemment, c'est ma vision du "développeur Linux" si toutefois ceci veux dire quelque chose.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre chevronné
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2013
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 485
    Points : 2 151
    Points
    2 151
    Par défaut
    En fait, c'est des arguments qui cherche juste à indiquer que C# et .net fonctionne sous Linux (presque) aussi bien que sous Windows.
    Par contre, il ne cherche pas à convaincre que l'environnement mono est mieux que les autres.

    En plus, la remarque sur iOS est hors de propos et dessert le message de l'article (je m’interroge sur la culture informatique de l'éditorialiste)
    => Quelque soit la technologie utilisée, il vous faudra un Mac pour compiler une application pour iOS

    Il serait intéressant, plutôt, d'avoir un comparative avec d'autre système, comme:
    • mono vs java
    • mono vs python/django
    • mono vs javascript (+ cordova pour mobile)
    • mono vs c/c++
    • mono vs pascal objet
    • ....


    Si mono n'apporte pas un plus en terme de productivité, les linuxiens n'ont en effet aucun intérêt à adopter cet environnement.

    Le seul argument que je retiens de cet article, c'est le support à Unity vu que ce framework de jeu utilise C# pour ses scripts.

  4. #4
    Membre confirmé
    Profil pro
    Expert technique .NET
    Inscrit en
    Août 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique .NET

    Informations forums :
    Inscription : Août 2007
    Messages : 272
    Points : 530
    Points
    530
    Par défaut
    @Laurent 1973
    Il serait intéressant, plutôt, d'avoir un comparative avec d'autre système, comme:
    mono vs java
    mono vs python/django
    mono vs javascript (+ cordova pour mobile)
    mono vs c/c++
    mono vs pascal objet
    ....
    De mon avis, pas vraiment : à part pour le premier, ce sont des langages très différents dans leurs principes.
    Mono apporte effectivement un gros plus en productivité, exactement le même que C# ; ce serait donc, à mon sens, une bonne chose que les linuxiens l'utilisent. Le seul défaut est pour moi Xamarin Studio, qui, s'il est certes très bien fait, reste en dessous d'autres IDE plus poussés (ex : NetBeans - note : je n'aime personnellement pas Eclipse) mais ne gèrent pas Mono.

    Je suis d'accord avec toi sur la remarque pour IOS : c'est lié à IOS même, pas à Mono, donc hors sujet.

    Après, reste à voir ce que donner .NET Core (le portage de .NET par M$ sous Linux), qui risque de faire très mal à Mono.

  5. #5
    Membre éprouvé
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2005
    Messages : 363
    Points : 1 036
    Points
    1 036
    Par défaut
    Faudra encore attendre un peu pour profiter pleinement de c# sous linux.

    De plus mono embarque certaines restrictions (hors parties non libre de c#/win32/wpf) assez pénalisantes.

    Quant à monodevelop, c'est encore une vaste blague pour le moment. Pas plus tard que ce matin, je l'ai bien planté à cause d'un mauvais drag&drop.

    De version en version C# s'améliore.

    Ensuite, reste à voir si les linuxiens sortirons un jour de leur vision du "c'est de ms alors c'est de la merde".

    Moi, j'attends une plus grande compatibilité avec .net windows et surtout un vrai IDE. Et pour l'instante, VS+Resharper c'est imbatable.

  6. #6
    Membre éclairé
    Ingénieur de recherche
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Points : 825
    Points
    825
    Par défaut
    Trop de parti pris dans cet article pour pouvoir être lu sans a priori.

    Je ne crois pas que le rôle d'un chroniqueur d'actualité soit de porter un jugement aussi cinglant que "les développeurs Linux, vous êtes consternants à refuser d'utiliser Mono". Si ce n'était pas sa volonté, alors l'article est très mal rédigé.


    Maintenant pour le fond, C# étant Microsoft, il est évident, même si cela peut être regrettable, que ça ne va pas être un choix de cœur pour beaucoup de développeurs Linux. Aussi les avantages d'utiliser cet environnement restent à démontrer et à quantifier, cela semble avant tout rester aujourd'hui une affaire de préférence et d'habitude, pas un choix objectivement défendable.

  7. #7
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Citation Envoyé par Olivier Famien Voir le message
    Que pensez-vous de ces arguments ? Les trouvez-vous convaincants ?
    Je plus gros argument en faveur de C# face à Java c'est Visual Studio. Pas de VS sur Linux, pas de C#.

    J'imagine que MonoDevelop s'est amélioré avec le temps, mais la dernière fois que j'ai testé (ya ~1 ou 2 ans) il est resté installé 15 minutes, face à VS il ne fait simplement pas le poids.

  8. #8
    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 Olivier Famien Voir le message
    Depuis lors, on assiste à plusieurs itérations de cette plateforme s’efforçant d’assurer une compatibilité avec le langage C#, les API de la norme ECMAScript, le serveur Web de la technologie ASP.NET, etc.
    C# n'a rien à voir avec ECMAScript. ECMAScript est un standard pour des langages de script, implémenté notamment par JavaScript. Par contre, C# 2 est standardisé par l'ECMA.

    Citation Envoyé par Olivier Famien Voir le message
    Premièrement, l’équipe à la base du projet assure une veille permanente par rapport à C# afin d’intégrer les dernières versions du langage. Par exemple dans la version 3.8 du projet, l’équipe a intégré une préversion de C# 6.0. De ce fait, nous avons une intégration des fonctionnalités telles que les constructeurs primaires, les filtres d’exception, l’opérateur Nameof pour ne citer que ceux-là. Les développeurs C# n’ont donc pas de soucis à se faire, car aussi bien sur Windows avec .net que sur les autres systèmes avec mono, ils arriveront à tirer parti de l’ensemble des fonctionnalités offertes par ce langage.
    En fait cet argument ne tient plus vraiment, dans la mesure où le nouveau compilateur C# MS fonctionne sous Linux. Donc il n'y a plus "besoin" de Mono pour compiler du code C# sous Linux (et même pour l'exécuter, puisque le nouveau runtime "CoreCLR" est multi-plateforme). Après, rien n'empêche de continuer à utiliser Mono, mais ce n'est plus la seule option.

    Citation Envoyé par Olivier Famien Voir le message
    Quatrièmement, mono est multiplateforme. Cela sous-entend que les applications conçues sur Windows tourneront sans difficulté avec mono sur les plateformes telles que Linux, Mac OS X, BSD, Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone et Android. Seules quelques spécifications telles que les applications WPF ne pourront pas être prises en charge.
    Eeeeeuuuuuuuuh... mouais, on y est pas encore vraiment. Certains types d'application fonctionneront sans modifications d'une plateforme à l'autre (applis console qui n'utilisent aucune fonctionnalité spécifique à la plateforme, applis web qui n'utilisent pas de fonctionnalité spécifique à IIS...), mais déjà pour tout ce qui est application "desktop" c'est mort, vu que les frameworks UI sont complètement différents d'une plateforme à l'autre (il y a bien GTK#, mais c'est un peu limité par rapport à WPF par exemple).

    Maintenant, c'est vrai qu'on peut partager pas mal de code entre les plateformes. Il faut juste bien séparer les parties UI pour pouvoir en faire une implémentation différente pour chaque plateforme.

    Citation Envoyé par Paul TOTH Voir le message
    1) je doute que les "développeurs Linux" soient fan de C#
    C'est vrai, mais c'est sans doute pour de mauvaises raisons (principalement, le mépris de tout ce qui vient de MS, et la perception que "C# c'est que pour Windows"). Espérons que les mentalités vont changer maintenant que C# est open-source. Le langage a suffisamment de qualités pour intéresser toutes sortes de développeurs.

  9. #9
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    Salut

    Je suis dév Web à la base.
    Linuxien très largement convaincu, mais pas extrémiste (pas de barbe....)
    J'utilise le C# sous linux pour toutes les applis bureau que j'ai voulu faire sous nunux, sans jamais de soucis, depuis bien 6 ans.
    J'aime bcp ça.

    face à VS il ne fait simplement pas le poids.
    Tu parles des Go de RAM au démarrage ou du poids de l'install et des maj ?
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  10. #10
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Citation Envoyé par wamania Voir le message
    Salut

    Je suis dév Web à la base.
    Linuxien très largement convaincu, mais pas extrémiste (pas de barbe....)
    J'utilise le C# sous linux pour toutes les applis bureau que j'ai voulu faire sous nunux, sans jamais de soucis, depuis bien 6 ans.
    J'aime bcp ça.


    Tu parles des Go de RAM au démarrage ou du poids de l'install et des maj ?
    C'est vrai que Visual n'est pas léger, mais prenez un éclipse avec un plugin designer , entity, etc . C'est très lourds aussi.

    Visual est un des plus gros logiciel de Microsoft. On ne soupçonne pas toujours les quantités d'éléments qu'il peut gérer.

    Sinon des avis sur QT/c++ ? ( coté client lourd)

  11. #11
    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 wamania Voir le message
    J'utilise le C# sous linux pour toutes les applis bureau que j'ai voulu faire sous nunux, sans jamais de soucis, depuis bien 6 ans.
    Tu utilises quoi comme stack UI, GTK# ?

    Citation Envoyé par wamania Voir le message
    Tu parles des Go de RAM au démarrage ou du poids de l'install et des maj ?
    Touché

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    .
    Inscrit en
    Mai 2015
    Messages
    589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Angola

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mai 2015
    Messages : 589
    Points : 0
    Points
    0
    Par défaut
    Donc il n'y a plus "besoin" de Mono pour compiler du code C# sous Linux (et même pour l'exécuter, puisque le nouveau runtime "CoreCLR" est multi-plateforme).
    Toutes les classes du Framework .Net ne sont pas encore passées en libre sous CoreClr. Donc pour le moment Mono en contient plus que la CoreClr. Mais a terme ca vas changer et mono ne servira plus a rien vu qu'on aura l’implémentation Microsoft des class .Net

    Et Mono ne prend pas en charge l'asynchrone. Ce qui est directement fort pénalisant.

    Le gros avantage qu'auront les développeurs .Net sera de pouvoir développer pour chaque plateforme depuis le même IDE et avec les meme classes. Pouvoir développer en .Net et déployer sur une architecture serveur de type Linux c'est vraiment parfait.

    La seul chose impossible pour le moment sont les applications desktop sous Linux. Mais vu les parts de marche de Linux dans le desktop c'est pas trop grave.

  13. #13
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    MonoDevelopp est un bon IDE sous GNU/Linux, il est plutot léger et confortable je trouve.

    @dfiad77pro Qt/C++ est bien sympathique également, d'autant que tu peux coder en partie en QML/Javascript, et cela permet gratuitement de compiler pour le Desktop( Windows,GNU/Linux ou Mac) + pour mobile (Android, iOS, BB et Wphone)
    Pour iOS: il nécessite un mac pour compiler avec la version Mac de Qt
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  14. #14
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 50
    Points : 194
    Points
    194
    Par défaut
    mono c'est sympa pour le linuxien qui veut réviser ses connaissances en C#/dot.net tout en restant sous linux, il n'aura qu'à lancer monodevelop et faire des petits projets personnels, pas d'obligation d'avoir un dual boot linux/windows ou de lancer une machine virtuelle windows, c'est très pratique,

    l'ennemi de mono ce n'est pas le développeur linux mais le commercial en entreprise qui ne jure que par le couple windows/dot.net, dans la tête des décideurs en entreprise la technologie dot.net est assimilée à l'univers windows et à visual studio, il ne leur viendrait jamais l'idée de demander à leurs développeurs de concevoir des applications dot.net sous un environnement linux,

    perso je suis plutôt java, avec eclipse comme environnement de développement, ça se défend très bien sous linux, et ce langage est aussi la base pour créer des applications android

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par Olivier Famien Voir le message
    Que pensez-vous de ces arguments ? Les trouvez-vous convaincants ?
    Ben le problème est que le billet répond à cette question :

    Toutefois, les raisons évoquées ci-dessus peuvent également s’appliquer à de nombreuses autres plateformes de développement disponibles sur Linux. Et Mono sur Linux ne bénéficient pas de la même richesse que .NET Framwork, qui est intimement lié à Windows. Ce qui représente un gros frein pour son adoption par de nombreux développeurs.
    Aucun de ces arguments ne valorise Mono par rapport aux autres technos disponibles pour les "Linuxiens". Ce sont 5 arguments qui isolément dégagent l'intérêt de la techno, mais qui ne sont que 5 argument parmi beaucoup d'autres que l'on pourrait prendre en compte lors d'un choix. Mais certains ont le défaut d'être purement subjectifs : "il est possible de développer des applications Android et iOS avec Mono", "les applications conçues sur Windows tourneront sans difficulté avec Mono sur les plateformes telles que Linux, Mac OS X, BSD, Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone et Android.". Bref, Mono, ça pourrait être bien... Ou pas...

  16. #16
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 211
    Points
    23 211
    Par défaut
    Bonjour,

    Personnellement, bien que je ne sois absolument pas fan de Java, je ne vois pas pourquoi je coderais en C# quand je peux le faire en Java. Qu'est-ce que le C# m'apporterait de plus par rapport à Java si je ne développe pas sur consoles (Nintendo Wii, …) ?

    Si je n'ai pas d'arguments pour privilégier C# dans mon choix, je ne vois pas pourquoi je le choisirais alors que je connais un peu mieux le Java.

    Par contre, je me pose des questions, que se passe-t-il si demain Microsoft abandonne C# pour des raisons X ou Y ?

  17. #17
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Bonjour,

    Personnellement, bien que je ne sois absolument pas fan de Java, je ne vois pas pourquoi je coderais en C# quand je peux le faire en Java. Qu'est-ce que le C# m'apporterait de plus par rapport à Java si je ne développe pas sur consoles (Nintendo Wii, …) ?

    Si je n'ai pas d'arguments pour privilégier C# dans mon choix, je ne vois pas pourquoi je le choisirais alors que je connais un peu mieux le Java.

    Par contre, je me pose des questions, que se passe-t-il si demain Microsoft abandonne C# pour des raisons X ou Y ?

    Ben ils le laisserait à la communauté normalement,

    et le jour ou ils abandonnent ça voudra peut-être dire qu'ils ont trouvés mieux

  18. #18
    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 Aeson Voir le message
    Et Mono ne prend pas en charge l'asynchrone. Ce qui est directement fort pénalisant.
    Qu'est-ce qui te fait dire ça ? async/await est tout à fait supporté par Mono.
    http://www.mono-project.com/docs/abo...compatibility/

    Il n'y a que pour ASP.NET que le support de l'asynchrone est incomplet.

    Citation Envoyé par Neckara Voir le message
    Personnellement, bien que je ne sois absolument pas fan de Java, je ne vois pas pourquoi je coderais en C# quand je peux le faire en Java. Qu'est-ce que le C# m'apporterait de plus par rapport à Java si je ne développe pas sur consoles (Nintendo Wii, …) ?

    Si je n'ai pas d'arguments pour privilégier C# dans mon choix, je ne vois pas pourquoi je le choisirais alors que je connais un peu mieux le Java.
    Tu n'as pas du bien regarder... C# a commencé comme un quasi-clone de Java, avec quelques trucs en plus, et a évolué beaucoup plus vite pour proposer beaucoup plus de features. Quelques trucs utiles qui existent en C# mais pas en Java (liste non exhaustive) :

    - types valeur
    - passage de paramètres par référence
    - propriétés
    - delegates (grosso modo, des pointeurs de fonction)
    - événements
    - itérateurs (permettent de générer facilement des séquences de façon lazy)
    - types anonymes (rien à voir avec ceux de Java, ça ne remplit pas le même rôle)
    - Linq (Java 8 a les streams, mais Linq pousse le concept beaucoup plus loin)
    - de vrais génériques réifiés (Java implémente les génériques en utilisant le principe de type erasure, donc les génériques n'existent plus lors de l'exécution)
    - typage dynamique (principalement pour l'interop avec des langages dynamiques)
    - async/await pour la programmation asynchrone
    - expression trees
    - pointeurs (rarement utilisés, mais utiles dans certains scénarios où les performances sont critiques)

    Pour l'instant, la seule feature de Java que j'aime bien et qui n'existe pas en C#, c'est les default methods.

    Pour ce qui est de mieux connaître Java, C# y ressemble suffisamment pour que tu ne sois pas perdu.

    Citation Envoyé par Neckara Voir le message
    Par contre, je me pose des questions, que se passe-t-il si demain Microsoft abandonne C# pour des raisons X ou Y ?
    La même chose qui se passerait si Oracle abandonnait Java... c'est open-source, donc la communauté peut le reprendre sans problème.

    Cela dit, ça me semble hautement improbable que MS abandonne C#, qui est sans doute la meilleure chose que MS ait produite ces 15 dernières années. Ce serait vraiment se tirer une balle dans le pied, tous les développeurs tourneraient le dos à MS et iraient voir ailleurs.

  19. #19
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 211
    Points
    23 211
    Par défaut
    Citation Envoyé par tomlev Voir le message
    C# a commencé comme un quasi-clone de Java, avec quelques trucs en plus, et a évolué beaucoup plus vite pour proposer beaucoup plus de features. Quelques trucs utiles qui existent en C# mais pas en Java
    Je pense que ce serait un argument pour intéresser les développeurs Linux à Mono.

    Tu n'as pas du bien regarder... C# a commencé comme un quasi-clone de Java, avec quelques trucs en plus, et a évolué beaucoup plus vite pour proposer beaucoup plus de features.
    Je ne faisais que mettre en avant une question qu'on peut légitiment se poser et pas rentrer dans un débat C# vs Java.

    C# a certes des «features bas niveau» (je ne sais pas comment les qualifier) qui facilitent l'écriture de code, certaines très utiles comme le passage de paramètre par référence où en Java on est obligé de passer un "hack" comme un tableau de un élément, d'autres que je considère, personnellement, à tord ou à raison, comme une hérésie : les propriétés.

    D'un autre côté Java a aussi un très grand nombre de «features haut niveau» (?) (framework, API, etc.) comme l' API android, les Java Card, les JSP, les serveurs RMI, etc.


    Mais concrètement, moi, qui me prétend développeur Java, est-ce que je gagne vraiment à passer au C# ?
    Certes, je vais gagner quelques "petites" features qui vont faciliter l'écriture du code, c'est bien, mais il n'y a pas que ça à prendre en compte.
    Les éventuels années d'outils de l'entreprise développés en Java, tous les API, framework, outils Java, ce sont aussi des choses à prendre en considération et qui pèse, à mon sens plus lourd que de simples «features bas niveau». Sinon, à ce niveau là, autant coder en C++.

    Je ne dis pas que le Java est meilleurs que le C#, juste que je ne suis pas vraiment convaincu quant à l'utilité de passer à Mono alors que j'ai déjà à ma disposition des outils qui me satisfassent.
    Bien sûr ils ont chacun des avantages et des inconvénients, mais moi développeur, qu'est-ce que je gagne ?
    Certes le passage par référence est génial, mais ce n'est pas cela qui va justifier à mes yeux un changement de langage. Par contre, est-ce que je vais gagner en productivité ? En qualité du code ? etc. Ça c'est des questions qui me semblent plus intéressantes à prendre en compte.

    Pour ce qui est de mieux connaître Java, C# y ressemble suffisamment pour que tu ne sois pas perdu.
    Il n'y a pas que connaître les bases du langages, il y a aussi connaître différents outils liés au langage. J'ai eu des cours (très mauvais) de C# avec je ne sais quel bibliothèque graphique avec des délégates, etc. je peux t'assurer que pas une seule personne savait ce qu'elle faisait. D'un autre côté, je reconnais que le cours était très très mauvais. C'est peut être aussi un peu pour cela que j'ai peut être quelques réticences au C#.
    Je pense que la chose qui me gêne un peu, c'est le fait qu'en fonction de la sémantique de la classe (entité ou valeur), l'objet est passé soit par référence soit par copie.

    Par la suite, j'ai eu l'occasion de refaire du C# pour un projet avec Visual Studio. Cela ne m'a pas vraiment perturbé même si je ne suis pas sûr d'avoir respecté tous les bons principes du langage. C'est plus Visual Studio qui m'a rebuté mais là n'est pas la discutions.
    Pour ce projet, j'avais un existant en Java que je devais reproduire en C#, travail qui aurait été inutile si on avait codé en Java.

    Bref, pour pisser du code, on ne peut pas dire que j'ai été vraiment "perdu", en revanche, si on me demande une alternative à hibernate en C#, je sèche complètement.


    La même chose qui se passerait si Oracle abandonnait Java... c'est open-source, donc la communauté peut le reprendre sans problème.
    Je ne suis pas très au fait et c'est relativement "récent", mais j'ai cru savoir que tout n'était pas open source, pas nécessairement lié au langage mais à certains outils/framework très utilisés. Comme c'est aussi relativement "récent", et si Microsoft revient sur sa décision ?
    Bien que vous puissiez le juger fortement improbable, cela ne m'empêche pas, peut-être à tord, de me poser la question.
    Ce qui peut malheureusement faire une différence et influencer ma décision finale.

    et le jour ou ils abandonnent ça voudra peut-être dire qu'ils ont trouvés mieux
    S'ils passent à autre chose de "mieux", la communauté risquerait de suivre et donc de délaisser le C#.



    Je ne veux pas dire "linuxien, linuxiene, fuyez le C#, Java c'est mieux", je me pose juste des questions et vous fais part d'éventuelles réticences que je peux avoir, à vous de me convaincre et peut-être de convaincre d'autres linuxiens. ^^

  20. #20
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 789
    Points : 18 933
    Points
    18 933
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Bonjour,

    Personnellement, bien que je ne sois absolument pas fan de Java, je ne vois pas pourquoi je coderais en C# quand je peux le faire en Java. Qu'est-ce que le C# m'apporterait de plus par rapport à Java si je ne développe pas sur consoles (Nintendo Wii, …) ?

    Si je n'ai pas d'arguments pour privilégier C# dans mon choix, je ne vois pas pourquoi je le choisirais alors que je connais un peu mieux le Java.

    Par contre, je me pose des questions, que se passe-t-il si demain Microsoft abandonne C# pour des raisons X ou Y ?
    Si c'est pour windows (ou autres plateformes Microsoft) il y à des raisons, par exemple C# étant optimisé Windows les applications C# sont bien plus performantes sous Windows que Java sous windows, voir les bench sur ce sujet.
    Il y à aussi une forte richesse de programmation des applications Windows prise en charge par le Framework Dotnet ce qui n'existe pas en Java.

    Citation Envoyé par Neckara Voir le message
    Par contre, je me pose des questions, que se passe-t-il si demain Microsoft abandonne C# pour des raisons X ou Y ?
    Tu peu poser cette question pour n'importe quel langage, pas seulement pour Microsoft. Si une technologie deviens moribonde plus personne va la faire évoluer. Pour ce qui est de C# d'après ce sondage : Quel est votre langage de programmation préféré en 2014 : C# est en croissance et numéro 1, peu de chance que ça soit "abandonné" donc...
    Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...

Discussions similaires

  1. Les développeurs âgés sont-ils bons pour le garage ?
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 136
    Dernier message: 29/12/2017, 09h10
  2. Les développeurs ASP.NET devraient-ils opter pour Node.js ?
    Par Francis Walter dans le forum ASP.NET
    Réponses: 1
    Dernier message: 18/03/2014, 13h17
  3. Réponses: 46
    Dernier message: 12/05/2012, 09h56
  4. Réponses: 177
    Dernier message: 08/07/2011, 16h11
  5. Les jeunes diplômés devraient-ils travailler "pour du beurre" ?
    Par Katleen Erna dans le forum Actualités
    Réponses: 180
    Dernier message: 17/03/2011, 17h35

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