Qu'est-ce que Mono et pourquoi peut-il être dangereux?

Mono est le nom d'un projet open source initié par Ximian et actuellement promu par Novell (après l'acquisition de Ximian) pour créer un groupe d'outils gratuits, basés sur GNU / Linux et compatibles avec .NET comme spécifié par ECMA. Pourquoi détesté par de nombreux utilisateurs GNU / Linux?

Qu'est-ce que Mono?

Non, cela n'a rien à voir avec Monkey Island. Mono est l'implémentation gratuite de la CLI (Common Language Infrastructure) et du C # (tous deux créés par Microsoft), selon les spécifications envoyées au ECMA pour sa standardisation. Cette implémentation est open source.

Mono inclut la CLI, qui contient la machine virtuelle qui est responsable du chargement des classes, le compilateur jit (Just-in-time) et le garbage collector; tout cela écrit à partir de zéro selon les spécifications ECMA-334.

Mono inclut également un compilateur C #, qui est paradoxalement écrit en C # et comme la CLI, ce compilateur suit les spécifications ECMA-335.

En outre, Mono a un catalogue de bibliothèques compatibles avec les bibliothèques .Net Framework, mais il a également une série de bibliothèques qui n'existent pas dans .Net Framework de Microsoft; comme GTK # qui permet de créer des interfaces graphiques natives de la boîte à outils GTK +, Mono.LDAP, Mono.Posix, etc.

Origine du Mono

Mono a été conçu par Miguel De Icaza, le projet étant parrainé à l'époque par sa société Ximian; actuellement Novell est le sponsor du projet Mono, depuis que Novell a acquis Ximian.

La motivation pour créer Mono est due à la recherche d'outils qui aideront à la création rapide d'applications dans l'environnement Linux.

Plateformes prises en charge mono

Mono fonctionne actuellement sur les plates-formes x86, PPC, SPARC et S390 en 32 bits; et x86-64 et SPARC en 64 bits; étant possible de créer et d'exécuter des applications sur les systèmes d'exploitation: Linux, Windows, OSX, BSD et Solaris.

Mono est-il compatible avec le .Net Framework?

L'un des objectifs de Mono est d'atteindre un degré élevé de compatibilité avec l'API 1.1, bien qu'il y ait déjà beaucoup de travail sur la compatibilité avec l'API 2.0 du .Net Framework.

Cela permet de garantir qu'un binaire compilé sous Windows avec le .Net Framework peut être exécuté sur l'une des plates-formes Mono sans avoir à recompiler le binaire, et qui à son tour peut utiliser les bibliothèques Mono -Ej: System compatibles. Données, System.Xml, etc. -.

Les bibliothèques fournies par Mono sont 100% compatibles avec leur homologue du .Net Framework. La dernière version 2.6.1. comprend entre autres caractéristiques importantes:

  • La CLI
  • Le compilateur C #
  • ADO.NET
  • ASP.NET
  • WebServices
  • Système
  • formes de fenêtres

Ce dernier étant - WindowsForms - celui qui nécessite plus de travail pour être achevé dans son intégralité. Bien qu'il soit à noter que le projet n'envisage pas la création de bibliothèques compatibles pour les services d'entreprise.

Quels types d'applications puis-je créer actuellement avec Mono?

Eh bien, il est possible de créer des applications de type Web et des services Web avec l'utilisation du module mod_mono qui permet au serveur Web Apache de servir des pages ASP.NET (aspx) et des services Web (asmx).

Il est également possible de créer des applications qui accèdent à des bases de données telles que Microsoft SQL, Oracle, Postgresql, etc.

Du côté des applications d'interface graphique, la suggestion est d'utiliser GTK #, puisque la boîte à outils sur laquelle il est basé (GTK +), permet aux applications graphiques d'être exécutées dans les environnements Linux, Windows et OSX sans changement; Cette suggestion devient importante, car l'implémentation compatible avec Windows Forms en Mono n'est pas encore terminée.

Est-il nécessaire que mon application soit compatible avec Mono et le .Net Framework, c'est-à-dire portable?

Il n'y en a vraiment pas de spécifiques, tant qu'il s'agit d'une application basée sur la CLI; bien qu'il y ait quelques points à prendre en considération:

  1. Linux est sensible à la casse dans les noms de fichiers et de répertoires; il est donc nécessaire d'avoir une cohérence avec les noms que nous utilisons.
  2. Le séparateur de chemin est différent sous Windows () et sous Linux (/), il est donc recommandé d'utiliser l'API Path.DirectoryPathSeparator, pour obtenir le séparateur correct lors de l'exécution de l'application.
  3. Si des bibliothèques non-CLI sont utilisées (Ex: bibliothèque en C, C ++ etc.), en utilisant p / Invoke, assurez-vous que la bibliothèque existe dans les différents environnements où l'application sera exécutée.
  4. N'utilisez pas de technologies qui n'existent que dans un environnement particulier (Ex: Registry sous Windows ou GConf sous Linux -Gnome-); ou fournir une solution qui permet à l'application de fonctionner correctement dans l'environnement où elle s'exécute.
  5. Les applications basées sur Windows Forms et qui sont très complexes peuvent ne pas fonctionner pour le moment, car Windows Forms en Mono n'est pas complet.

Quels outils de développement existent dans Mono?

Eh bien, il est possible depuis Windows de développer une application à l'aide de Visual Studio. Du côté Linux, il y a MonoDevelop, un IDE basé sur SharpDevelop.

MonoDevelop permet la gestion de projet, la coloration syntaxique, le code de saisie semi-automatique, la compilation et l'exécution de l'application à partir du même IDE.
Grâce à des ajouts (compléments), la fonctionnalité a été étendue, par exemple:

  • Connectez-vous aux bases de données depuis l'EDI
  • L'inclusion d'un débogueur qui permet, comme Visual Studio, d'exécuter du code ligne par ligne et de revoir les valeurs des variables.

Il y a actuellement des travaux pour intégrer un concepteur de formulaires, bien que ce concepteur se concentre sur la création de formulaires pour GTK # et non pour Windows Forms.

Applications faites pour Mono.

Il existe un bon nombre d'applications développées pour Linux en Mono, pour vous faire une idée, voici 2 listes avec ces applications:

Parmi ces applications remarquables sont:

  • MonoDevelop: C'est un IDE pour la programmation de programmes Mono sous Linux. L'IDE est réalisé en C #.
  • F-spot: Programme pour cataloguer les photographies, en plus de pouvoir apporter quelques modifications numériques aux photos.
  • Beagle: Outil qui indexe et recherche des informations parmi différents types de documents sous Linux.
  • Garçon manqué: Programme pour stocker des notes liées par des mots-clés.
  • muine: C'est un lecteur audio basé sur GStreamer.
  • PyMusique: programme qui fournit une interface graphique pour accéder à l'achat de musique avec le service iTunes d'Apple.
  • MonoUML: C'est un éditeur pour faire des diagrammes avec le standard UML.
  • Gnome faire: Lanceur d'applications rapide et efficace.
  • Docky: Dock pour votre bureau.
  • Banshee: Lecteur multimédia basé sur Gstreamer.

Singe et licences

Mono est l'implémentation open source du .Net Framework de Microsoft, basée sur les normes publiées à l'ECMA; Parce qu'il s'agit d'une implémentation basée sur un produit Microsoft, l'utilisation de Mono sous Linux a suscité une controverse - parmi les utilisateurs et les développeurs Linux - l'argument est que Mono peut enfreindre les brevets Microsoft, ce qui peut devenir un procès contre Monkey.

Selon le page du projet Mono, tant que la CLI et le compilateur C # respectent les standards acceptés par ECMA, ces 2 pièces sont sûres, par rapport aux bibliothèques spécifiques Mono, elles ne courent aucun risque; mais l'implémentation des bibliothèques liées à ASP.NET, ADO.NET et Windows Forms est sensible à la violation de certains brevets Microsoft - bien que pour le moment on ne sache pas que c'est le cas -; Pour cette raison, le projet Mono propose 3 options pour ce dernier cas:

  • Réimplémentez la fonctionnalité - pour éviter le brevet - en essayant de garder l'API compatible.
  • Éliminez les choses qui ne peuvent pas être réimplémentées.
  • Recherchez les éléments qui peuvent annuler le brevet.

Selon Wikipedia, l'implémentation par Mono de ces composants .NET non soumis à ECMA car sa standardisation a soulevé des inquiétudes quant à la possible contrefaçon de brevets logiciels pendant la durée du projet. En particulier, la discussion s'est développée sur la question de savoir si Microsoft pouvait ou non détruire le projet mono par des poursuites pour brevets contrefaits.

Il y a actuellement un débat animé sur l '(in) opportunité d'accepter et d'utiliser Mono dans la communauté des développeurs de GNU / Linux. Le principal argument contre Mono est qu'il n'est pas exempt de brevets logiciels et qu'il existe un risque que Microsoft ait besoin de licences pour utiliser C # / CLI.

D'autre part, le projet Gnome développe une langue alternative, Vala, créé spécifiquement pour développer des applications pour Gnome, mais exemptes de menaces potentielles de Microsoft.

Ma recommandation

Il existe actuellement de très bons programmes écrits en Mono. Vous ne pouvez penser qu'à F-Spot, Gnome Do ou Docky. Mais, ayant des alternatives gratuites qui n'ont pas tous ces problèmes, je préfère ne pas dépendre de Mono.
Sur la récente décision controversée de Debian et Ubuntu d'inclure Mono dans son installation par défaut, contrairement à Fedora qui l'a supprimé, simplement en incluant le populaire application Garçon manqué, écrit en C #, Richard Stallman a quelques mots de sagesse cela devrait inspirer d'autres distributions.

S'appuyer sur C # est dangereux, nous devons donc décourager son utilisation.
Le problème n'est pas propre à Mono, toute implémentation C # gratuite aurait le même problème. Le danger est que Microsoft envisage probablement de forcer un jour toutes les implémentations C # gratuites en utilisant (leurs) brevets logiciels. C'est un danger sérieux et seuls les imbéciles l'ignoreraient jusqu'au jour où cela se produira réellement. Nous devons prendre des précautions pour nous protéger.
Nous devrions organiser les choses pour qu'elles reposent le moins possible sur des implémentations C # gratuites. En d'autres termes, nous devons décourager les gens d'écrire des programmes C #. Par conséquent, nous ne devons pas inclure d'implémentations C # dans l'installation par défaut des distributions GNU / Linux, et nous devons distribuer et recommander des applications non-C # au lieu d'applications C # comparables chaque fois que possible.

Désinstaller Mono

Je souhaite supprimer mono de ma distribution Ubuntu (et ainsi économiser beaucoup d'espace que ses dépendances occupent et qui, dans le cas d'Ubuntu, ne sont là que pour "supporter" 2 applications installées par défaut: F-Spot et Tomboy). Si vous n'utilisez aucun de ces deux, désinstallez-les de Synaptic ainsi que de tous les packages qui indiquent Mono ou CLI.

Pour désinstaller Mono dans Ubuntu, vous pouvez également ouvrir le terminal et taper:

sudo apt-get remove --purge mono-common libmono0 libgdiplus sudo rm -rf / usr / lib / mono

Alternatives à Mono

Comme nous l'avons vu, tout d'abord, si vous êtes programmeur, ne programmez pas en C #. Il existe d'innombrables autres langues, encore mieux. En outre, Gnome a récemment publié un nouveau langage avec une fonctionnalité très mono appelée Vala.
Je viens de supprimer Mono et avec lui certaines de mes émissions préférées ont été supprimées ... quelles émissions alternatives existent pour les remplacer:

Plus d'informations

Pour plus d'informations sur le projet Mono, visitez le site officiel à l'adresse Anglais, Plus monologue qui est un agrégateur pour les blogs de développeurs Mono; ou en espagnol sur le site Mono Hispano, en plus du blogue des personnes qui maintiennent ce site.
N'oubliez pas de laisser vos commentaires concernant Mono… =)


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Ariel dit

    Je ne pense pas que Microsoft utilisera ses brevets contre Mono, Monodevelop, Xamarine à l'avenir. De plus, je pense que ces outils vous permettront d'une manière ou d'une autre de vous étendre plus facilement à d'autres plates-formes qui reprennent chaque jour leur place privilégiée dans le monde du développement logiciel en général. Je pense que Mono fait un excellent travail en portant les technologies C # et .NET sur d'autres plates-formes, ce qui les rend riches de nouvelles opportunités technologiques en ce qui concerne le soft. Mono sait ce que signifient les brevets et prend sûrement toutes les précautions nécessaires pour éviter les contrefaçons. D'autre part, JAVA prend sa position de leader avec sa plateforme JAVA EE6, qui à mon goût va au-delà des capacités actuellement proposées par Visual Studio. C'est pour cette raison plus que tout que je pense que Microsoft trouvera pratique de porter son C # sur Linux, MacOSX, BSD, Solaris, Android, etc ... Par contre, je ne suis pas d'accord pour prendre ces quelque peu fanatiques positions de dire NON à Microsoft sous Linux ou de dire non à Linux sous Microsoft, je crois que la vraie évolution est dans la variété et refuser la vérité est la régression.

  2.   Utilisons Linux dit

    À ce jour, rien n'a changé. Si vous souhaitez pouvoir exécuter vos programmes sur différents systèmes, je recommande Java ou python. Si vous êtes à l'aise avec la syntaxe c #, vala est également une bonne alternative.
    Étreinte! Paul.

  3.   pablo dit

    Salut.

    Il n'y a pas longtemps, j'ai décidé de migrer le langage et j'ai choisi C #, pour pouvoir utiliser le code et le compiler pour une utilisation sur les plates-formes Linux et Windows.

    Maintenant, en voyant ce post, je me demande si j'ai bien fait (je le dis d'après l'écriture de Richard Stallman).

    Pouvez-vous me dire si cette situation a changé quelque chose à ce jour?

    (Je sais que ce post a au moins 2 ans)

  4.   Sergio dit

    Comme l'a fait remarquer l'homonyme, je ne pense pas que Microsoft devrait limiter ses capacités d'expansion, en effet, il n'en gagne pas sa vie. Je les vois même capables de libéraliser le langage, car ils gagnent de l'argent grâce aux implémentations, aux frameworks et aux IDE.

    Je commence à penser que M. Stallman est un peu vieux pour ces choses aujourd'hui. Je me suis amusé à lire votre citation et à penser que, alors que la communauté avait les yeux fixés sur C #, Oracle a déposé son premier procès contre Android, que bien que le cousin pauvre, il ne faut pas oublier qu'il s'agit de Linux, pour contrefaçon de brevet pour le utilisation de… JAVA!

    Mon opinion est que la communauté Linux ne peut pas être autorisée, par simple fierté, à fermer les yeux sur les alternatives et ses portes à un grand nombre de développeurs de qualité, brandissant le slogan «s'adapter ou faire demi-tour». Dans l'isolement, il y a la mort, même si elle est lente.

    N'oublions pas qu'un langage de programmation est un concept très différent d'une application, c'est un bien universel. Qui pourra censurer l'anglais en faisant valoir que c'est la langue du capitalisme?

    1.    Javier L. dit

      Ils parlent de MS comme s'ils ne connaissaient pas ses mouvements au niveau marketing, ou ils ont déjà oublié l'incident de 99 lorsque MS a modifié une partie de la plate-forme JAVA pour que le logiciel écrit dans sa propre suite ne fonctionne pas dans un autre navigateur qui n'était pas IE6, lorsque le Le monde l'a remarqué, des poursuites ont plu partout, mais surtout, une grande partie du logiciel écrit a dû être réimplémentée. MS est une entreprise qui veut profiter par tous les moyens. Pour ceux qui utilisent le logiciel libre, il n'est pas pratique d'utiliser des outils propriétaires s'il y a autant d'outils gratuits disponibles.

    2.    jlboch dit

      Sergio, tu es naïf quand tu oublies que les gringos ne font rien, absolument rien, ni qu'ils ne font du travail caritatif s'ils ne s'assurent pas de produire des millions de dollars, même après leur acte,
      Ce que les gringos aiment le plus dans ce monde, ce sont les drogues et les dollars (dans cet ordre)
      C'est pourquoi ils ont dominé le monde et les marchés avec leur capitalisme: en utilisant la loi du bâton et la loi du dollar, le vrai DIEU des gringos sont les dollars, même si les hypocrites se cassent la poitrine dans les temples protestants ou dans les églises. catholique

      1.    CA max. dit

        L'Anti-Microsoft abondera toujours pour les pratiques monopolistiques supposées, et s'il est vrai qu'au cours des années Microsoft a démontré des comportements qui ne sont pas très agréables pour l'utilisateur final, n'oublions pas que c'est une entreprise commerciale et ce qu'ils feront toujours faire avec leurs produits est une affaire. Mais le monde a changé, il s'est globalisé, et Microsoft a refusé à l'époque de l'accepter, mais il n'y avait pas d'autre choix, l'intégration du standard Open-XML dans MSOffice le prouve, il a même été contraint de «partager» code de sa plate-forme contraint par les règles antitrust et il devait le faire, le Net Framework et ses langages sont enregistrés dans l'organisme européen ECMA dont l'objectif est de standardiser les technologies de l'information, pour le C # il correspond à l'ECMA-334 , pour la CLI (qui implémente Mono) ECMA-335 et le C ++ / CLI est ECMA-372, cela garantit que ces langages et plates-formes sont disponibles pour le grand public, Microsoft ne forcera donc rien à l'avenir avec respect de ces langues. La tentative d'Anti-Microsoft de décourager l'utilisation du langage C # est absurde, c'est un jeu aussi sale que ceux dénoncés par Microsoft, la spécification du langage est ouverte, il existe d'autres langages et dans ce monde le meilleur est la concurrence qui amène des améliorations dans tous les domaines, le programmeur doit par lui-même découvrir les différents langages et technologies et connaître leurs caractéristiques et c'est lui qui décidera lui-même avec lequel il restera pour mener à bien ses développements.

  5.   Utilisons Linux dit

    Bonne contribution. Je vous remercie!

  6.   Adrian dit

    Ce Stalmann !! Voir les conspirateurs Microsoft sous votre lit XD.

  7.   sergio dit

    Si l'on tient compte du fait que l'intention de Microsoft avec .net est de gagner du terrain par rapport à Java, je pense qu'il est trop beau d'avoir des implémentations Linux pour tronquer ses possibilités.

    mon opinion est que si microsoft ne s'était pas intéressé à cela, il n'aurait pas aidé à créer ces normes et il aurait protégé ses bibliothèques .net pour éviter (ou au moins empêcher) leur décompilation. Et non pas que nous sommes déjà sur la version 4.0 si je ne me trompe pas et que toutes ses bibliothèques sont décompilées sans problème et ne sont toujours pas obscurcies, ce qui améliorerait les performances de l'architecture.

    Il est également vrai que Microsoft a toujours facturé même pour l'application la plus stupide et a maintenant dans son répertoire, par exemple, des versions gratuites complètement fonctionnelles de Visual Studio pour .net et sans restrictions par la licence et ce n'est pas la seule chose (Truespace pour exemple est également allé du côté du libre).

    C'est une bataille entre Java et .Net et, comme dans toutes les guerres, tout allié est le bienvenu.

    Et la vérité est, que cela nous plaise ou non, que nous vivons dans un monde plein de licences ... en fait, certains portails mettent en avant les brevets «contrefaits» sur une simple page Web et ils sont si courants que nous ne considérons même pas que cela puisse être breveté quelque chose de si extrêmement simple. Les brevets sont là et, si quelqu'un veut abandonner un projet, il est fort possible qu'il finisse par trouver un brevet contrefait.

    Juste au cas où cela n'aurait pas été clair, je n'ai pas l'intention d'engager ici un conflit qui cherche à savoir si Windows ou Linux est meilleur, ils sont simplement différents et chacun a ses avantages et ses inconvénients, comme tout le reste. Mais c'est une autre histoire.

    Salutations.

  8.   e2flecher dit

    Avec Microsoft, vous ne savez jamais.

  9.   Ken Torrealba dit

    Cordialement,

    Il y a quelque temps, j'ai suivi un tutoriel, chapitre 1, sur Mono, et cela me semblait super facile et plus naturel que Java, j'aimais ce dernier. Malheureusement, je n'ai pas pu obtenir le prochain numéro du magazine.

    Si je comprends bien, C # est l'évolution de J ++
    Cette implémentation problématique de Java que Microsoft lui a coûté un procès par Sun, que Sun a remporté, puisque Microsoft avait des bibliothèques (package) qui ne pouvaient être exécutées que sur Windows, ce qui était le contraire de la devise de Java «vous écrivez un vous voyez, vous exécutez n'importe quand et n'importe où ».

    Mise en page J ++ et C # de Microsoft scrap

    Maintenant, les faits sont les suivants: Microsoft a "fait don" d'une certaine partie de C # pour rendre Mono légal, de sorte que ces sections ne souffriraient pas de poursuites futures, mais ce que Microsoft n'a pas donné s'il a de bonnes chances que Microsoft exige de celui qui l'utilise , ceci est le cas, car cela s'est déjà produit avec d'autres logiciels, mais cela se produirait si Mono commence à voler des clients, ou si une entreprise commence à gagner de l'argent (beaucoup) avec le soutien et la mise en œuvre du langage ou veut attribuer elle est la leur, alors que les deux ne feront que la voir évoluer.

    Enfin, il convient de noter que Miguel de Izcasa est frustré de ne pas pouvoir travailler pour Microsoft, à cause de son passeport..., ce qui l'a poussé à créer des logiciels compatibles avec Windows. desde Linux, pour que ceux-ci réalisent "ce qu'ils ont raté"

  10.   kuk dit

    Je n'aime pas ça 🙁

  11.   Les développeurs dit

    Je pense que l'une des raisons d'utiliser GNU / Linux est parce qu'il est open source et si nous commençons à utiliser un logiciel créé par Microsoft, nous serions impliqués dans une contradiction, pourquoi avez-vous également besoin de logiciels Microsoft alors qu'il y a une grande communauté dans le monde de l'open source pour se soutenir mutuellement (à l'origine de l'open source) et ainsi améliorer toute application non open source, n'est-ce pas?

    Rappelons-nous qu'au départ .NET n'était pas gratuit et s'il le publiait (la partie qui sortait) c'était parce que les développeurs ne l'utilisaient pas en raison de son application limitée et avec cela Microsoft perdait sa présence parmi tous les développeurs.

    Si ce que nous voulons, c'est que nos applications fonctionnent sur différentes plates-formes, pourquoi ne pas utiliser Java ou Python. Les nouvelles applications créées par Xamarin pour développer pour iOS ou Android, ne sont qu'un moyen de #monopoliser le développement sous un seul langage, car comme nous le savons tous, il est toujours préférable d'utiliser la langue native.

    Concernant Richard Stallman, je pense que c'est la personne qui a le plus d'expérience sur l'open source et à cause de cela, au moins il faut s'arrêter pour analyser un peu les problèmes auxquels il a été confronté, car connaître l'histoire permet d'éviter de faire les mêmes erreurs.

    Comme tout le monde, les développeurs doivent payer des factures (nourriture, santé, etc.), et donc nous devons obtenir un avantage économique pour notre travail, mais nous avons différentes façons de l'obtenir (heureusement), comme des dons, des conseils, des développements basé sur l'open source, etc. Nous devons faire appel à nos compétences et à notre ingéniosité, car ce nouveau monde «tourne» comme il le fait grâce à chacun des développeurs qui existent et ils font que tout fonctionne comme il se doit. De mon point de vue, nous sommes les fondements de la nouvelle technologie et de la nouvelle société et non les entreprises.

    Ne le crois pas???

  12.   Adrian Fernandez dit

    Je ne pense pas que M $ fera quoi que ce soit pour attraper ceux qui violent les brevets C #. Il ne l'a pas fait avant, il ne le fait pas aujourd'hui, donc il ne le fait guère de sitôt. En revanche, Stallman est connu pour sa paranoïa persistante contre ce qui n'est pas du logiciel libre (il est même mécontent du noyau Linux), imaginant depuis 20 ans, un monde de développeurs persécutés pour M $.
    En fin. Monodevelop est un excellent outil avec lequel travailler. Et si quelqu'un a peur d'utiliser C # d'après ce que vous avez vu, il existe toujours Basic, qui est actuellement aussi capable que C # dans la plupart des développements.

  13.   Daniel Noriega dit

    Eh bien, je suis également d'accord avec certains commentaires, je suis ingénieur en électronique mais je suis toujours au courant de l'actualité de la programmation et j'essaie toujours d'apprendre une langue pleinement. Ce qui a été vraiment difficile pour moi, c'est d'essayer de choisir la langue à apprendre, j'utilise C ++ mais je ne connais pas les API donc ce n'est presque rien, c'est pourquoi j'essaie de voir sur quelle API me concentrer. Mais ce que je veux, c'est la possibilité de développer du code multiplateforme, et évidemment la première chose qui ressort est JDK ou .Net.

    Ensuite, je vois ce post et je vois honnêtement qu'il y a trop de paranoïa. Je ne pense pas que Microsoft va poursuivre le mono, je pense qu'au contraire, Microsoft gagne un avantage pour que son langage gagne du terrain parmi les programmeurs en devenant un langage qui peut être étendu à d'autres plateformes. Je suis un utilisateur Linux mais je suis aussi un utilisateur Windows et j'aime Linux, mais s'il y a une chose que je ne supporte pas à propos de Linux c'est qu'une bonne partie de la communauté est fière et obtuse et vit chaque jour se battre pour des bêtises, insulter et rabaisser ceux qui ils en savent moins.

  14.   Image de balise Jose Manuel Alcaraz dit

    Bien sûr, ne vous consacrez pas à la divination ... vous l'avez cloué ... .net est maintenant open source ... xD

  15.   Alexis dit

    ehhh comme je l'ai dit maintes fois ... je chie sur Richard Stallman ... il exprime son opinion et les fanboys sautent comme si sa parole était un commandement sacré ... bien que MS puisse faire usage de ses brevets dans le futur, il n'en est pas moins vrai que (pour au moins là où j'habite) les plates-formes prédominantes au niveau de l'entreprise sont .NET et Java… donc apprendre à manipuler Mono finirait par profiter à une éventuelle carrière de développeur; Il n'est pas très sain pour le monde Linux d'écraser toute alternative qui diffère des «idéaux» de M. Stallman, personnellement j'utilise Mono pour l'expérimentation et l'apprentissage (puisque je n'installe même pas windows sur mon pc, mais je ne peux pas l'imposer à mon message de travail) et je ne me sens pas comme un pécheur salutations hahahaha.

  16.   Jou dit

    Je ne me soucie pas vraiment de savoir si C # est un danger ou si un autre langage est ouvert OU etc, tant qu'il s'adapte à n'importe quel système d'exploitation et qu'il est rentable et produit de l'argent, c'est bien, je suis actuellement un programmeur de crevettes Linux qui utilise le langage Basic similaire à Windows Visual Basic et si je vois qu'il facilite une programmation simple et professionnelle et s'étend à de nombreuses plates-formes, bienvenue.

  17.   La terreur dit

    Messieurs, puisque Microsoft a déjà acheté Xamarin en 2016, Mono a un long chemin à parcourir. Arrêtez le fanatisme bon marché et mettez-vous au travail sur d'autres options de programmation. .NET est officiellement portable sur les plates-formes non-Windows depuis 2014 (avec la création de DotNet Foundation) et l'implémentation de .NET dans des environnements non-Windows s'est progressivement développée. Non seulement pensez-vous à ces choses des services Internet ou des serveurs Windows comme avant, mais vous devez penser à Apache Web Server / Nginx avec .NET. Dans mon cas: j'ai conçu des applications ASP.NET MVC 4/5 sur IIS puis sur Apache Web Server sur Linux Ubuntu depuis un an maintenant, et jusqu'à présent, je n'ai eu aucun problème à exécuter une application ASP.NET MVC sur deux plates-formes Web différentes.

    Voici ma contribution, au cas où vous seriez intéressé par la migration des applications ASP.NET MVC vers Apache / Ubuntu:

    Partie 1:
    https://radioterrormexico.wordpress.com/2016/06/22/ejecutar-aplicaciones-asp-net-en-plataformas-no-windows-parte-13/

    Partie 2:
    https://radioterrormexico.wordpress.com/2016/06/23/ejecutar-aplicaciones-asp-net-linux-ubuntu-server-parte-23/

    Exemple Github:
    https://github.com/boraolim/MonoServe-2016

  18.   Hector dit

    Ce débat a une forte odeur politique ... hahahaaaa XD

  19.   Allemand A. COPERTINO dit

    La même chose se produirait avec Java, si Oracle est satisfait, cela rend java PAYABLE et sa propriété et nous sonnons tous. C'est très subjectif. Et je ne pense pas qu'une entreprise ou Linux lui-même encourage ce type de développement si cela va poser problème aux utilisateurs à l'avenir.

  20.   Elvino est manquant dit

    Eh bien à l'heure de la mondialisation et de la déglobalisation, il est bon de se souvenir de certaines manœuvres monopolistiques de certains
    ou des comportements à manipuler, pas pour rien Novel acquiert Ximian, mais lit
    que s'est-il passé avec Mysql / Sun Microsystm puis Oracle sucking Sun et avec lui Mysql pour faire disparaître
    Il a fallu un certain temps à Monty (créateur de Mysql) pour le réaliser mais il a renfloué son projet et a donné naissance à MariaDB et a fini par être une douleur dans le cul dans Oracle
    mais la même chose peut arriver avec Mono.
    Je suis un programmeur de réseautage multilingue Cobol, C, Java et Harbor, et dans cet ordre sous Aix, Linux et Windows
    Je mixe des applications par Socket, je communique des applications entre différents langages et différentes plateformes pour une banque

    Je pense que si le projet est grand, c'est-à-dire qu'il comprendra des milliers de lignes de code, vous devez jouer la sécurité pour assurer sa croissance / modification et son évolutivité
    maintenant si le code est petit, je n'aurais aucun problème à le faire sous C #, s'il est bon, puissant et résout vraiment les problèmes pour moi, c'est bien.
    salutations

  21.   smitty dit

    .Net Core + C # = Futur

  22.   Jésus Arce dit

    La note allait bien jusqu'à ce que le "si vous êtes un programmeur, n'utilisez pas C #" apparaisse ... à ce moment-là, ils ont perdu toute leur crédibilité.

  23.   Japhet Granados dit

    En 2020, il était déjà prouvé que rien de ce qui était dit dans ce post ne s'était produit. Microsoft a créé .NET Core et l'a rendu gratuit. Maintenant avec 3 plates-formes avec des bibliothèques de base très similaires mais à la fin différentes (puisqu'elles ont été créées à partir de zéro), l'étape suivante a été d'unifier les trois en une, et c'est précisément ce qui se fait avec .NET 5 (sans le mot "Core" ou "Framework") qui, comme on l'a dit, est une nouvelle plateforme, mais désormais open source, multiplateforme, et qui peut être utilisée pour développer des applications web, des applications de bureau, des applications mobiles, IoT, AI, Cloud, entre autres. Cette évolution s'est produite grâce au grand nombre de développeurs qui ont contribué grâce au fait que .NET est désormais open source. Cela devait se produire car comme il y avait plus d'entreprises et de développeurs utilisant .NET de manière ouverte, Microsoft a ouvert la possibilité de vendre ses services (principalement dans le Cloud), qui ne se limitent pas non plus à l'utilisation de .NET ou de C #. Microsoft n'est pas stupide, fermer son logiciel et engager des poursuites était la chose dangereuse pour eux. Mais bon, je ne suis pas marié à .NET ni à aucune autre langue. Mais je vois très intéressant ce qui se fait dans ladite communauté. En ayant le soutien d'une grande entreprise, la communauté gratuite peut croître encore plus vite, d'autant plus qu'il y a la Fondation .NET qui est en charge de revoir les projets open source existants dans .NET, ce qui garantit qu'il y a une commande, des processus débogués de Microsoft lui-même pour l'examen desdits projets.