Vad är Mono och varför kan det vara farligt?

Mono är namnet på ett öppen källkodsprojekt initierat av Ximian och för närvarande främjas av Novell (efter förvärvet av Ximian) för att skapa en grupp gratis verktyg, baserade på GNU / Linux och kompatibla med .NET enligt ECMA. Varför är det hatad av många GNU / Linux-användare?

Vad är Mono?

Nej, det har inget att göra med Monkey Island. Mono är gratis implementering av CLI (Common Language Infrastructure) och C # (båda skapade av Microsoft), enligt specifikationerna som skickas till ECMA för sin standardisering. Denna implementering är öppen källkod.

Mono inkluderar CLI, som innehåller den virtuella maskinen som är ansvarig för att ladda klasserna, jit-kompilatorn (Just-in-time) och sopuppsamlaren; allt detta skrivet från grunden enligt specifikationer ecma-334.

Mono innehåller också en C # -kompilator, som paradoxalt är skriven i C # och precis som CLI följer denna kompilator specifikationerna ecma-335.

Dessutom har Mono en katalog med bibliotek som är kompatibla med .Net Framework-biblioteken, men det har också en serie bibliotek som inte finns i Microsofts .Net Framework; som GTK # som gör det möjligt att skapa inbyggda grafiska gränssnitt för GTK + verktygslåda, Mono.LDAP, Mono.Posix, etc.

Mono ursprung

Mono blev tänkt av Miguel De Icaza, projektet sponsrades vid den tiden av hans företag Ximian; för närvarande Novell är sponsor för Mono-projektet sedan Novell förvärvade Ximian.

Motivationen för att skapa Mono beror på sökandet efter verktyg som hjälper till att snabbt skapa applikationer i Linux-miljön.

Monostödda plattformar

Mono körs för närvarande på x86-, PPC-, SPARC- och S390-plattformar i 32-bitars; och x86-64 och SPARC i 64 bitar; att kunna skapa och köra applikationer på operativsystemen: Linux, Windows, OSX, BSD och Solaris.

Är mono-kompatibelt med .Net Framework?

Ett av Monos mål är att uppnå en hög grad av kompatibilitet med API 1.1, även om det redan finns mycket arbete med kompatibilitet med API 2.0 i .Net Framework.

Detta för att säkerställa att en binär kompilerad i Windows med .Net Framework kan köras på någon av Mono-plattformarna utan att kompilera binär, och som i sin tur kan använda kompatibla Mono -Ej: Systembibliotek. System.Xml, etc -.

Biblioteken som tillhandahålls av Mono är 100% kompatibla med deras motsvarighet till .Net Framework. Den senaste versionen 2.6.1. innehåller bland annat viktiga funktioner:

  • CLI
  • C # -kompilatorn
  • ADO.NET
  • ASP.NET
  • Webbservice
  • Systemkrav
  • WindowsFormer

Den senare är - WindowsForms - den som kräver att mest arbete ska slutföras i sin helhet. Även om det bör noteras att projektet inte överväger att skapa kompatibla bibliotek för Enterprise Services.

Vilka typer av applikationer kan jag för närvarande skapa med Mono?

Det är möjligt att skapa webbapplikationer och webbtjänster med mod_mono-modulen som gör det möjligt för Apache-webbservern att betjäna ASP.NET (aspx) och Web Services (asmx) -sidor.

Det är också möjligt att skapa applikationer som får åtkomst till databaser som Microsoft SQL, Oracle, Postgresql, etc.

På sidan av grafiska gränssnittsapplikationer är förslaget att använda GTK #, eftersom verktygslådan som den är baserad på (GTK +) gör att grafiska applikationer kan köras i Linux-, Windows- och OSX-miljöer utan ändringar. Detta förslag är viktigt eftersom implementeringen som är kompatibel med Windows Forms i Mono ännu inte är klar.

Finns det ett krav på att min applikation ska vara kompatibel med Mono och .Net Framework, dvs. bärbar?

Det finns verkligen ingen specifik, så länge det är en CLI-baserad applikation; även om det finns några punkter som måste beaktas:

  1. Linux är skiftlägeskänsligt i fil- och katalognamn. så det är nödvändigt att ha en överensstämmelse med de namn vi använder.
  2. Banavgränsaren är annorlunda i Windows () än i Linux (/), därför rekommenderas det att använda API Path.DirectoryPathSeparator för att få rätt separator när programmet körs.
  3. Om icke-CLI-bibliotek används (t.ex. bibliotek i C, C ++ etc.), använd p / Invoke, se till att biblioteket finns i de olika miljöer där applikationen kommer att köras.
  4. Använd inte tekniker som bara finns i en viss miljö (t.ex. register i Windows eller GConf på Linux -Gnome-); eller ge en lösning som gör att applikationen kan fungera korrekt i den miljö där den körs.
  5. Applikationer baserade på Windows Forms och som är mycket komplexa kanske inte fungerar för tillfället, eftersom Windows Forms i Mono inte är komplett.

Vilka utvecklingsverktyg finns i Mono?

Tja, det är möjligt från Windows att utveckla en applikation med Visual Studio. På Linux-sidan finns det Monodevelop, en IDE baserad på SharpDevelop.

MonoDevelop tillåter projektledning, syntaxfärgning, automatisk kompletteringskod, sammanställning och körning av applikationen från samma IDE.
Genom tillägg (tillägg) har funktionerna utökats till att till exempel:

  • Anslut till databaser från IDE
  • Inkluderingen av en felsökare som tillåter, som Visual Studio, att köra kod rad för rad och kontrollera variabla värden.

Det finns för närvarande arbete med att integrera en formulärdesigner, även om den här designern fokuserar på att skapa formulär för GTK # och inte Windows Forms.

Ansökningar gjorda för Mono.

Det finns ett stort antal applikationer utvecklade för Linux i Mono, för att få en idé, här är två listor med dessa applikationer:

Av dessa utestående applikationer är:

  • MonoDevelop: Det är en IDE för programmering av monoprogram i Linux. IDE är gjord i C #.
  • F-plats: Program för att katalogisera fotografier, förutom att kunna göra några digitala modifieringar av bilderna.
  • Beagle: Verktyg som indexerar och söker efter information bland ett antal olika typer av dokument i Linux.
  • Tomboy: Program för att lagra anteckningar som länkas med nyckelord.
  • muine: Det är en ljudspelare baserad på GStreamer.
  • PyMusique: Program som ger ett grafiskt gränssnitt för åtkomst till att köpa musik med Apples iTunes-tjänst.
  • MonoUML: Det är en redaktör som gör diagram med UML-standarden.
  • Gnome gör: Snabb och effektiv applikationsstartare.
  • Docky: Docka för skrivbordet.
  • Banshee: Gstreamer-baserad mediaspelare.

Apa och licenser

Mono är öppen källkodsimplementering av Microsofts .Net Framework, baserad på standarder som släppts till ECMA; Eftersom det är en implementering baserad på en Microsoft-produkt har användningen av Mono i Linux orsakat kontroverser - bland Linux-användare och utvecklare - argumentet är att Mono kan bryta mot Microsofts patent, vilket kan bli en rättegång mot Monkey.

Enligt sida i Mono-projektet, så länge som CLI och C # -kompilatorn följer de standarder som accepteras av ECMA, är dessa två delar säkra, i förhållande till de monospecifika biblioteken, de löper ingen risk; men implementeringen av biblioteken relaterade till ASP.NET, ADO.NET och Windows Forms är känsliga för intrång i Microsoft-patent - även om det för närvarande inte finns någon kunskap om att detta är fallet -; Av denna anledning föreslår Mono-projektet tre alternativ för det senare fallet:

  • Förbättra funktionaliteten - för att undvika patentet - och försök att hålla API-kompatibelt.
  • Eliminera saker som inte kan implementeras på nytt.
  • Leta efter element som kan upphäva patentet.

Enligt Wikipedia är Monos implementering av de .NET-komponenter som inte utsätts för ECMA för sin standardisering har väckt oro över den eventuella överträdelsen av programvarupatent under projektets livstid. I synnerhet utvecklades diskussionen om huruvida Microsoft kunde förstöra monoprojektet genom rättegångar över intrång på patent.

Det pågår för närvarande en livlig debatt om (in) tillrådligheten att acceptera och använda Mono i utvecklargemenskapen GNU / Linux. Huvudargumentet mot Mono är att det inte är fritt från programvarupatent, och det finns en risk att Microsoft kommer att kräva licenser för att använda C # / CLI.

Å andra sidan projektet Gnome utvecklar ett alternativt språk, Vala, skapat speciellt för att utveckla applikationer för Gnome, men utan potentiella hot från Microsoft.

Min rekommendation

Det finns för närvarande några riktigt bra program skrivna i Mono. Du kan bara tänka på F-Spot, Gnome Do eller Docky. Men med gratisalternativ som inte har alla dessa problem, föredrar jag inte att vara beroende av Mono.
Om det nyligen kontroversiella beslutet från Debian och Ubuntu att inkludera Mono i sin standardinstallation, till skillnad från Fedora som tog bort den, bara genom att inkludera populär ansökan Tomboy, skriven i C #, har Richard Stallman några visdomsord som borde inspirera andra distributioner.

Förlita sig på C # är farligt, så vi bör avskräcka dess användning.
Problemet är inte unikt för Mono, utan gratis C # -implementering skulle ha samma problem. Faren är att Microsoft förmodligen planerar att tvinga alla gratis C # -implementeringar ur lådan en dag med (deras) programvarupatent. Detta är en allvarlig fara och bara dårar skulle ignorera den fram till den dag det faktiskt händer. Vi måste vidta försiktighetsåtgärder för att skydda oss själva.
Vi bör ordna saker för att lita på gratis C # -implementeringar så lite som möjligt. Med andra ord måste vi avskräcka människor från att skriva C # -program. Därför får vi inte inkludera C # -implementeringar i standardinstallationen av GNU / Linux-distributioner, och vi måste distribuera och rekommendera icke-C # -applikationer istället för jämförbara C # -applikationer när det är möjligt.

Avinstallera Mono

Jag vill ta bort mono från min Ubuntu-distribution (och därmed spara mycket utrymme som dess beroenden upptar och som, i fallet Ubuntu, finns det för inget annat än att "stödja" 2 applikationer installerade som standard: F-Spot och Tomboy). Om du inte använder någon av dessa två, avinstallerar du dem från Synaptic samt alla paket som säger Mono eller CLI.

För att avinstallera Mono i Ubuntu kan du också öppna terminalen och skriva:

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

Alternativ till Mono

Som vi såg, först och främst, om du är programmerare, programmera inte i C #. Det finns otaliga andra språk, ännu bättre. Dessutom släppte Gnome nyligen ett nytt språk med mycket monoliknande funktionalitet som heter Vala.
Jag raderade precis Mono och med det raderades några av mina favoritprogram ... vilka alternativa program som finns för att ersätta dem:

Mer information

För mer information om Mono-projektet, besök den officiella webbplatsen på Engelska, Förutom monolog vilket är en samlare för Mono-utvecklarbloggar; eller på spanska på Mono Hispano-webbplatsen, förutom bloggar av de människor som underhåller den här webbplatsen.
Glöm inte att lämna dina kommentarer angående Mono ... =)


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

      Ariel sade

    Jag tror inte att Microsoft kommer att använda sina patent mot Mono, Monodevelop, Xamarine i framtiden. Dessutom tror jag att dessa verktyg på något sätt kommer att göra det lättare för dig att expandera till andra plattformar som gör anspråk på sin privilegierade plats i världen av mjukvaruutveckling i allmänhet. Jag tror att Mono gör ett bra jobb med att porta C # och .NET-teknologier till andra plattformar, vilket gör dem berikade med nya tekniska möjligheter när det gäller mjuk. Mono vet vad patent betyder och vidtar säkert alla försiktighetsåtgärder för att inte hamna i intrång. Å andra sidan tar JAVA sin ledande ställning med sin JAVA EE6-plattform, som för min smak går utöver de möjligheter som Visual Studio för närvarande erbjuder. Det är av denna anledning mer än någonting som jag tror att Microsoft kommer att tycka att det är bekvämt att porta sin C # till Linux, MacOSX, BSD, Solaris, Android osv ... Å andra sidan håller jag inte med om att ta dessa något fanatiska positioner för att säga NEJ till Microsoft i Linux eller säga nej till Linux i Microsoft, jag tror att den verkliga utvecklingen ligger i variationen och att vägra till sanningen är regression.

      Låt oss använda Linux sade

    Hittills har inget förändrats. Om du är intresserad av att kunna köra dina program på olika system rekommenderar jag Java eller python. Om du är bekväm med c # -syntaxen är vala också ett bra alternativ.
    Kram! Paul.

      pablo sade

    Hej.

    För inte så länge sedan bestämde jag mig för att migrera språket och valde C #, för att kunna använda koden och kompilera den för användning på både Linux- och Windows-plattformar.

    Nu när jag ser det här inlägget undrar jag om jag gjorde det bra (jag säger detta från Richard Stallmans skrivning).

    Kan du berätta för mig om denna situation har ändrat något hittills?

    (Jag vet att det här inlägget är minst 2 år gammalt)

      Sergio sade

    Som namnet nämnde tycker jag inte att Microsoft borde begränsa sina expansionsmöjligheter, det lever faktiskt inte av det. Jag ser dem till och med kapabla att liberalisera språket, eftersom de tjänar pengar på implementeringar, ramar och IDE.

    Jag börjar tänka att Mr. Stallman är lite gammal för dessa saker idag. Jag hade kul att läsa ditt citat och tänka, att medan samhället hade blickat mot C #, lämnade Oracle sin första stämning mot Android, att även om den stackars kusinen, bör det inte glömmas bort att det är Linux, för patentintrång för användning av ... JAVA!

    Min åsikt är att Linux-communityn inte kan tillåtas, helt enkelt för stolthet, att stänga ögonen för alternativ och dess dörrar för ett stort antal kvalitetsutvecklare, som använder slagordet "anpassa eller vända". Isolerat finns döden, även om den är långsam.

    Låt oss inte glömma att ett programmeringsspråk är ett helt annat koncept än en applikation, det är ett universellt bra. Vem kommer att kunna censurera engelska och argumentera för att det är kapitalismens språk?

         Javier L. sade

      De pratar om MS som om de inte kände till dess rörelser på marknadsföringsnivå, eller de glömde redan incidenten 99 när MS modifierade en del av JAVA-plattformen så att programvaran skriven i sin egen svit inte skulle fungera i en annan webbläsare som inte IE6, när världen märkte, regnade rättegångar överallt, men viktigast av allt, mycket av den skrivna programvaran måste implementeras på nytt. MS är ett företag som vill tjäna pengar på alla sätt. Om du använder gratis programvara är det inte praktiskt att använda egna verktyg om det finns så många gratisverktyg tillgängliga.

         jlboch sade

      Sergio, du är naiv när du glömmer att gringos gör ingenting, absolut ingenting eller gör välgörenhetsarbete om de inte ser till att de kommer att producera miljontals dollar, även efter deras handling,
      Vad gringos älskar mest i denna värld är droger och dollar (i den ordningen)
      Det är därför de har dominerat världen och marknaderna med sin kapitalism: med hjälp av pinnens lag och dollarns lag är gringos sanna GUD dollar, även om hycklarna bryter sina bröst i protestantiska tempel eller i kyrkor katolik

           Max AC. sade

        Anti-Microsoft kommer alltid att vara överflödiga för de förmodade monopolistiska metoderna, och även om det är sant att Microsoft under åren har visat beteenden som inte är särskilt trevliga för slutanvändaren, låt oss inte glömma att det är ett affärsföretag och vad de alltid kommer att göra med sina produkter är affärer. Men världen har förändrats, den har blivit globaliserad och Microsoft vid den tiden vägrade att acceptera det, men det fanns inget annat val, integrationen av Open-XML-standarden i MSOffice bevisar det, det har till och med tvingats att "dela" koden för sin plattform som tvingas av antitrustreglerna och det var tvungen att göra det, är Net Framework och dess språk registrerade i ECMA European organ vars mål är att standardisera informationsteknik, för C # motsvarar det ECMA-334 , för CLI (som implementerar Mono) ECMA-335 och C ++ / CLI är ECMA-372, säkerställer detta att dessa språk och plattformar är tillgängliga för allmänheten, så Microsoft tvingar inte någonting i framtiden med respekten för dessa språk. Anti-Microsoft-försöket att avskräcka användningen av C # -språket är absurt, det är lika smutsigt ett spel som de som fördömts av Microsoft, språkspecifikationen är öppen, det finns andra språk och i den här världen är konkurrensen bäst som orsakar förbättringar inom alla områden, måste programmeraren på egen hand upptäcka de olika språken och teknologierna och känna till deras egenskaper och det är han som själv bestämmer vilken som han stannar med för att genomföra sin utveckling.

      Låt oss använda Linux sade

    Bra bidrag. Tack!

      Adrian sade

    Denna Stalmann !! Se Microsofts konspiratorer uppe under din säng XD.

      sergio sade

    Om vi ​​tar hänsyn till att Microsofts avsikt med .net är att vinna mark från Java, tycker jag att det är för bra att ha Linux-implementeringar för att avkorta dess möjligheter.

    min åsikt är att om microsoft inte hade varit intresserad av detta skulle det inte ha hjälpt till att skapa dessa standarder och det skulle ha skyddat sina .net-bibliotek för att undvika (eller åtminstone hindra) deras dekompilering. Och inte att vi redan är på version 4.0 om jag inte tar fel och alla dess bibliotek dekompileras utan problem och fortfarande inte fördunklas, vilket skulle förbättra arkitekturprestandan.

    Det är också sant att Microsoft alltid har debiterat även för den dummaste applikationen och nu har i sin repertoar till exempel helt funktionella gratisversioner av visual studio för .net och utan licensbegränsningar och det är inte det enda (Truespace har till exempel också gått till sidan av den fria).

    Detta är en strid mellan Java och .Net och som i alla krig är alla allierade välkomna.

    Och sanningen är, oavsett om vi gillar det eller inte, att vi lever i en värld full av licenser ... i själva verket framhäver vissa portaler patent som "kränks" på en enkel webbsida och de är så vanliga att vi inte ens överväger att det kan patenteras något så extremt enkelt. Patenten finns och om någon vill riva ner dig ett projekt är det mycket möjligt att de kommer att hitta ett patent som överträds.

    Bara om det inte har varit klart, tänker jag inte initiera en konflikt här som försöker veta om Windows eller Linux är bättre, de är helt enkelt olika och var och en har sina fördelar och nackdelar, som allt annat. Men det är en annan historia.

    En hälsning.

      e2fletcher sade

    Med Microsoft vet du aldrig.

      ken Torrealba sade

    hälsningar,

    För en tid sedan följde jag en tutorial, kapitel 1, om Mono, och det verkade super enkelt och mer naturligt än Java, jag gillade det senare. Tyvärr kunde jag inte få nästa nummer av tidningen.

    Som jag förstår är C # utvecklingen av J ++
    Den problematiska implementeringen av Java som Microsoft kostade honom en stämning av Sun, som Sun vann, eftersom Microsoft hade bibliotek (paket) som bara kunde köras på Windows, vilket var motsatsen till Java-mottot «du skriver en du ser, du kör när och var ».

    Microsoft skrot J ++ och C # layout

    Nu är fakta detta: Microsoft "donerade" en viss del av C # för att göra Mono lagligt, så dessa avsnitt skulle inte drabbas av framtida rättegångar, men vad Microsoft inte har donerat om det har goda chanser att Microsoft kräver den som använder det, detta Det är så här, för det har hänt tidigare med annan programvara, men detta skulle hända om Mono börjar stjäla kunder, eller om något företag börjar tjäna pengar (mycket) med stöd och implementering av språket eller vill tillskriva det som sina egna, medan så mycket de bara kommer att se det utvecklas.

    Slutligen bör det noteras att Miguel de Izcasa har frustrationer över att inte kunna arbeta för Microsoft, på grund av sitt pass..., detta fick honom att skapa mjukvara kompatibel med Windows från Linux, så att de skulle inse "vad de missade. "

      kuk sade

    Jag gillar inte det här 🙁

      Utvecklare sade

    Jag tror att en av anledningarna till att använda GNU / Linux är att det är öppen källkod och om vi börjar använda programvara som skapats av Microsoft skulle vi vara inblandade i en motsägelse, också varför behöver du Microsoft-programvara när det finns en stor grupp i värld av öppen källkod för att stödja varandra (ursprunget för öppen källkod) och därmed förbättra alla applikationer som inte är öppna källor, tycker du inte?

    Låt oss komma ihåg att .NET ursprungligen inte var gratis och om det släppte det (den del som släpptes) berodde det på att utvecklarna inte använde det på grund av dess begränsade applikation och därmed förlorade Microsoft närvaro bland alla utvecklare.

    Om det vi vill ha är att våra applikationer ska fungera på olika plattformar, varför inte använda Java eller Python. De nya applikationerna som skapats av Xamarin för att utvecklas för ios eller android är bara ett sätt att #monopolisera utveckling under ett språk, för som vi alla vet är det alltid bättre att använda modersmålet.

    När det gäller Richard Stallman tror jag att han är den person som har mest erfarenhet av öppen källkod och därför måste vi åtminstone sluta analysera lite de problem han har ställts inför, eftersom kunskapen om historien tjänar till att undvika att göra samma misstag.

    Som alla andra måste utvecklare betala räkningar (mat, hälsa etc.), och därför måste vi få en ekonomisk fördel för vårt arbete, men vi har olika sätt att få det (lyckligtvis), såsom donationer, konsultföretag, utveckling baserat på öppen källkod etc. Vi måste använda våra färdigheter och uppfinningsrikedom, för den här nya världen "vänder" som den gör tack vare var och en av utvecklarna som finns och de får allt att fungera som det ska. Från min synvinkel är vi grunden för den nya tekniken och det nya samhället och inte företagen.

    Tror det inte???

      Adrian Fernandez sade

    Jag tror inte att M $ kommer att göra något för att fånga någon som bryter mot C # -patent. Han gjorde det inte förut, han gör det inte idag, så han gör det knappast snart. Å andra sidan är Stallman känd för sin ihållande paranoia mot det som inte är fri programvara (han är till och med missnöjd med Linux-kärnan) och föreställer sig i 20 år en värld av utvecklare som förföljs för M $.
    I alla fall. Monodevelop är ett utmärkt verktyg att arbeta med. Och om någon är rädd för att använda C # från vad du har sett finns det fortfarande Basic, som för närvarande är lika kapabelt som C # i de flesta utvecklingar.

      Daniel noriega sade

    Tja, jag håller också med några kommentarer, jag är en elektronisk ingenjör men jag är alltid medveten om programmeringsnyheter och försöker alltid lära mig ett språk helt. Det som har varit väldigt svårt för mig är att försöka välja vilket språk jag ska lära mig, jag hanterar C ++ men jag känner inte API: erna så det är nästan ingenting, det är därför jag försöker se vilket API jag ska fokusera på. Men vad jag vill är möjligheten att utveckla plattformskod, och naturligtvis är det första som sticker ut JDK eller .Net.

    Sedan ser jag det här inlägget och jag ser ärligt att det är för mycket paranoia. Jag tror inte att Microsoft kommer att stämma mono, jag tror att tvärtom får Microsoft en fördel så att dess språk vinner plats bland programmerare genom att bli ett språk som kan utvidgas till andra plattformar. Jag är en Linux-användare men jag är också en Windows-användare och jag älskar Linux, men om det finns en sak som jag inte stöder med Linux är det att en bra del av samhället är stolt och tråkig och lever kämpar varje dag för nonsens , förolämpar och förringar dem som de känner mindre.

      Platshållarbild för Jose Manuel Alcaraz sade

    Naturligtvis, ägna dig inte åt spådom ... du har spikat det ... .net är nu öppen källkod ... xD

      Alexis sade

    ehhh som jag har sagt många gånger ... jag skiter på Richard Stallman ... han uttrycker sin åsikt och fanboys hoppar som om hans ord var ett heligt bud ... även om MS kan använda sina patent i framtiden, det är inte mindre sant att de dominerande plattformarna på företagsnivå (åtminstone där jag bor) är .NET och Java ... så att lära sig att hantera Mono skulle hamna i en möjlig karriär som utvecklare; Det är inte särskilt hälsosamt för Linux-världen att krossa något alternativ som skiljer sig från Mr. Stallmans "ideal", personligen använder jag Mono för experiment och lärande (eftersom jag inte ens installerar fönster på min dator, men jag kan inte tvinga det på mitt jobb) och jag känner mig inte som en syndare hahahaha hälsningar.

      JOU sade

    Jag bryr mig inte riktigt om C # är en fara eller om ett annat språk är öppet ELLER etc, så länge det anpassar sig till vilket operativsystem som helst och är lönsamt och producerar pengar, är det bra, jag är för närvarande en Linux-räkorprogrammerare som använder språket Basic liknar Windows Visual Basic och om jag ser att det underlättar enkel, professionell programmering och expanderar till många plattformar, välkommen.

      Skräck sade

    Mina herrar, eftersom Microsoft redan köpte Xamarin 2016 har Mono en lång väg att gå. Stoppa den billiga fanatismen och börja arbeta med andra programmeringsalternativ. .NET har varit officiellt bärbart på plattformar som inte är Windows sedan 2014 (med skapandet av DotNet Foundation) och implementeringen av .NET i miljöer som inte är Windows har vuxit lite. Du tänker inte längre bara på dessa saker på Internet Information Services eller Windows-servrar som tidigare, men du måste tänka på Apache Web Server / Nginx med .NET. I mitt fall: Jag har designat ASP.NET MVC 4/5-applikationer på IIS och sedan på Apache Web Server på Linux Ubuntu i ett år nu, och hittills har jag inte haft några problem att köra ett ASP.NET MVC-program på två olika webbplattformar.

    Här är mitt bidrag, om du är intresserad av att migrera ASP.NET MVC-applikationer till Apache / Ubuntu:

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

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

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

      Hector sade

    Denna debatt har en stark politisk doft ... hahahaaaa XD

      Tyska A. COPERTINO sade

    Med Java skulle samma sak hända, om Oracle är nöjd, gör det Java BETALBART och dess egendom och vi låter alla. Det är väldigt subjektivt. Och jag tror inte att ett företag eller Linux själv uppmuntrar denna typ av utveckling om det i framtiden kommer att bli problematiskt för användarna. -

      Elvino saknas sade

    Tja i tiderna av globalisering och avglobalisering är det bra att komma ihåg vissa monopolistiska manövrar av vissa
    eller beteenden att manipulera, inte för ingenting Roman förvärvar Ximian, men läs
    vad som hände med Mysql / Sun Microsystm och sedan Oracle suger Sun och med det Mysql för att försvinna
    Det tog Monty (skaparen av Mysql) lite att inse det men han refloated sitt projekt och födde MariaDB och hamnade i smärtan i Oracle
    men med Mono kan detsamma hända.
    Jag är Cobol, C, Java och Harbor Networking Multilanguage programmerare, och i den ordningen under Aix, Linux och Windows
    Jag blandar applikationer med Socket, jag kommunicerar applikationer mellan olika språk och olika plattformar för en bank

    Jag tror att om projektet är stort, det vill säga det kommer att innehålla tusentals rader kod, måste du spela det säkert för att säkerställa dess tillväxt / modifiering och skalbarhet
    nu om koden är liten skulle jag inte ha några problem att göra det under C #, om den är bra, kraftfull och verkligen löser problemen för mig är det bra.
    hälsningar

      smitty sade

    .Net Core + C # = Framtid

      Jesus Arce sade

    Anteckningen var bra tills "om du är programmerare, använd inte C #" dök upp ... då förlorade de all sin trovärdighet.

      Japheth Granados sade

    År 2020 var det redan bevisat att inget av det som sägs i det här inlägget hände. Microsoft skapade .NET Core och gjorde det gratis. Nu med tre plattformar med mycket liknande basbibliotek men i slutändan olika (eftersom de skapades från grunden) var nästa steg att förena de tre till ett, och det är precis vad som görs med .NET 3 (utan ordet "Core" eller "Framework") som, som sagt, är en ny plattform, men nu öppen källkod, plattform, och som kan användas för att utveckla webbapplikationer, stationära applikationer, mobilappar, IoT, AI, Cloud, bland andra. Denna utveckling har inträffat tack vare det stora antalet utvecklare som har bidragit tack vare att .NET nu är öppen källkod. Detta måste hända för eftersom det var fler företag och utvecklare som använde .NET på ett öppet sätt, öppnade Microsoft möjligheten att sälja sina tjänster (främst i molnet), som inte är begränsade till att använda .NET eller C # heller. Microsoft är inte dumt, att stänga av programvaran och starta rättegångar var det farliga för dem. Men hej, jag är inte gift med .NET eller något annat språk. Men jag ser väldigt intressant vad som görs i nämnda samhälle. Genom att ha stöd från ett stort företag kan den fria gruppen växa ännu snabbare, särskilt eftersom det finns .NET Foundation, som ansvarar för att granska befintliga open source-projekt i .NET, vilket garanterar att det finns en order, processer debugged från Microsoft själv för granskning av nämnda projekt.