Ce este Mono și de ce poate fi periculos?

Mono este numele unui proiect open source inițiat de Ximian și promovat în prezent de Novell (după achiziția Ximian) pentru a crea un grup de instrumente gratuite, bazate pe GNU / Linux și compatibile cu .NET, așa cum este specificat de ECMA. De ce este urât de mulți utilizatori GNU / Linux?

Ce este Mono?

Nu, nu are nimic de-a face cu Monkey Island. Mono este implementarea gratuită a CLI (Common Language Infrastructure) și C # (ambele create de Microsoft), conform specificațiilor trimise către ECMA pentru standardizarea sa. Această implementare este open source.

Mono include CLI, care conține mașina virtuală care este responsabilă pentru încărcarea claselor, compilatorul jit (Just-in-time) și colectorul de gunoi; toate acestea scrise de la zero conform spec ecma-334.

Mono include, de asemenea, un compilator C #, care este scris paradoxal în C # și ca CLI, acest compilator respectă specificațiile ecma-335.

În plus, Mono are un catalog de biblioteci compatibile cu bibliotecile .Net Framework, dar are și o serie de biblioteci care nu există în Microsoft .Net Framework; cum ar fi GTK # care permite crearea de interfețe grafice native pentru setul de instrumente GTK +, Mono.LDAP, Mono.Posix etc.

Originea lui Mono

Mono a fost conceput de Miguel De Icaza, proiectul fiind sponsorizat la acea vreme de compania sa Ximian; in prezent Novell este sponsorul proiectului Mono, de când Novell a achiziționat Ximian.

Motivația pentru crearea Mono se datorează căutării instrumentelor care vor ajuta la crearea rapidă a aplicațiilor în mediul Linux.

Platforme acceptate mono

Mono rulează în prezent pe platformele x86, PPC, SPARC și S390 pe 32 de biți; și x86-64 și SPARC în 64 de biți; fiind posibil să creați și să executați aplicații în sistemele de operare: Linux, Windows, OSX, BSD și Solaris.

Este mono compatibil cu .Net Framework?

Unul dintre obiectivele Mono este de a atinge un grad ridicat de compatibilitate cu API 1.1, deși există deja multă muncă în ceea ce privește compatibilitatea cu API 2.0 din .Net Framework.

Se intenționează ca un binar compilat în Windows cu .Net Framework să poată fi executat în oricare dintre platformele Mono fără a fi nevoie să recompileze binarul și care, la rândul său, să poată utiliza bibliotecile compatibile Mono -Ej: System. Date, System.Xml, etc -.

Bibliotecile furnizate de Mono sunt 100% compatibile cu omologul lor din .Net Framework. Cea mai recentă versiune 2.6.1. include, printre alte caracteristici importante:

  • CLI
  • Compilatorul C #
  • ADO.NET
  • ASP.NET
  • Servicii Web
  • Sistem
  • windowsforms

Acesta din urmă fiind - WindowsForms - cel care necesită mai multă muncă pentru a fi finalizat în întregime. Deși trebuie remarcat faptul că proiectul nu are în vedere crearea de biblioteci compatibile pentru Enterprise Services.

Ce tipuri de aplicații pot crea în prezent cu Mono?

Ei bine, este posibil să creați aplicații de tip Web și servicii Web cu ajutorul modulului mod_mono care permite serverului web Apache să deservească paginile ASP.NET (aspx) și Servicii Web (asmx).

De asemenea, este posibil să creați aplicații care accesează baze de date precum Microsoft SQL, Oracle, Postgresql etc.

Pe partea aplicațiilor de interfață grafică, sugestia este de a utiliza GTK #, deoarece setul de instrumente pe care se bazează (GTK +), permite să ruleze aplicații grafice în medii Linux, Windows și OSX fără modificări; Această sugestie devine importantă, deoarece implementarea compatibilă cu Windows Forms în Mono nu este încă finalizată.

Există o cerință pentru ca aplicația mea să fie compatibilă cu Mono și .Net Framework, adică portabil?

Nu există cu adevărat unele specifice, atâta timp cât este o aplicație bazată pe CLI; deși există câteva puncte care ar trebui luate în considerare:

  1. Linux este sensibil la majuscule și minuscule în numele fișierelor și directorilor; deci este necesar să avem o coerență cu numele pe care le folosim.
  2. Separatorul de căi este diferit în Windows () decât în ​​Linux (/), de aceea se recomandă utilizarea API Path.DirectoryPathSeparator, pentru a obține separatorul corect atunci când executați aplicația.
  3. Dacă sunt utilizate biblioteci non-CLI (de exemplu: bibliotecă în C, C ++ etc.), folosind p / Invoke, asigurați-vă că biblioteca există în diferite medii în care aplicația va fi executată.
  4. Nu utilizați tehnologii care există doar într-un anumit mediu (de exemplu: Registry pe Windows sau GConf pe Linux -Gnome-); sau oferiți o soluție care permite aplicației să funcționeze corect în mediul în care rulează.
  5. Aplicațiile bazate pe Windows Forms și care sunt foarte complexe pot să nu funcționeze în acest moment, deoarece Windows Forms în Mono nu este complet.

Ce instrumente de dezvoltare există în Mono?

Ei bine, este posibil din Windows să dezvolți o aplicație folosind Visual Studio. Pe partea Linux există MonoDevelop, un IDE bazat pe SharpDevelop.

MonoDevelop permite gestionarea proiectelor, colorarea sintaxei, completarea automată a codului, compilarea și rularea aplicației din același IDE.
Prin adăugiri (suplimente) funcționalitatea a fost extinsă la, de exemplu:

  • Conectați-vă la baze de date din IDE
  • Includerea unui depanator care permite, ca Visual Studio, să execute cod linie cu linie și să revizuiască valorile variabile.

În prezent, se lucrează la integrarea unui designer de formulare, deși acest designer este axat pe crearea de formulare pentru GTK # și nu pentru Windows Forms.

Aplicații făcute pentru Mono.

Există un număr mare de aplicații dezvoltate pentru Linux în Mono, pentru a vă face o idee, iată 2 listări cu aceste aplicații:

Dintre aceste aplicații remarcabile sunt:

  • MonoDevelop: Este un IDE pentru programarea programelor Mono în Linux. IDE se face în C #.
  • Punctul F: Program de catalogare a fotografiilor, pe lângă faptul că puteți face unele modificări digitale ale fotografiilor.
  • Câine de vânătoare: Instrument care indexează și caută informații între mai multe tipuri diferite de documente din Linux.
  • Băiețoi: Program pentru a stoca note care sunt legate de cuvinte cheie.
  • muine: Este un player audio bazat pe GStreamer.
  • PyMusique: Program care oferă o interfață grafică pentru a accesa pentru a cumpăra muzică cu serviciul iTunes de la Apple.
  • MonoUML: Este un editor pentru a face diagrame cu standardul UML.
  • Gnome face: Lansator de aplicații rapid și eficient.
  • Docky: Andocare pentru desktop.
  • Banshee: Player media bazat pe Gstreamer.

Maimuță și licențe

Mono este implementarea open source a Microsoft .Net Framework, bazată pe standardele lansate către ECMA; Deoarece este o implementare bazată pe un produs Microsoft, utilizarea Mono în Linux a provocat controverse - în rândul utilizatorilor și dezvoltatorilor Linux - argumentul este că Mono poate încălca brevetele Microsoft, care pot deveni un proces împotriva Maimuţă.

Potrivit pagină din proiectul Mono, atâta timp cât CLI și compilatorul C # aderă la standardele acceptate de ECMA, aceste 2 piese sunt sigure, în raport cu bibliotecile specifice Mono, nu prezintă niciun risc; dar implementarea bibliotecilor legate de ASP.NET, ADO.NET și Windows Forms sunt sensibile la încălcarea unor brevete Microsoft - deși în acest moment nu se știe că acesta este cazul -; Din acest motiv, proiectul Mono sugerează 3 opțiuni pentru ultimul caz:

  • Reimplementați funcționalitatea - pentru a evita brevetul -, încercând să păstrați API-ul compatibil.
  • Eliminați lucrurile care nu pot fi reimplementate.
  • Căutați elemente care pot anula brevetul.

Conform Wikipedia, implementarea de către Mono a acelor componente .NET care nu sunt supuse ECMA deoarece standardizarea sa a ridicat unele îngrijorări cu privire la posibila încălcare a brevetelor software pe durata vieții proiectului. În special, s-a dezvoltat discuția asupra faptului dacă Microsoft ar putea sau nu să distrugă proiectul mono prin procese pentru brevete încălcate.

În prezent există o dezbatere plină de viață cu privire la (in) oportunitatea acceptării și utilizării Mono în comunitatea de dezvoltatori din GNU / Linux. Principalul argument împotriva Mono este că nu este liber de brevete software și există riscul ca Microsoft să solicite licențe pentru a utiliza C # / CLI.

Pe de altă parte, proiectul Gnom dezvoltă un limbaj alternativ, Vala, creat special pentru a dezvolta aplicații pentru Gnome, dar fără potențiale amenințări din partea Microsoft.

Recomandarea mea

În prezent există câteva programe cu adevărat grozave scrise în Mono. Vă puteți gândi doar la F-Spot, Gnome Do sau Docky. Dar, având alternative gratuite care nu au toate aceste probleme, prefer să nu depind de Mono.
Cu privire la recenta decizie controversată de Debian și Ubuntu de a include Mono în instalarea sa implicită, spre deosebire de Fedora care l-a eliminat, doar prin includerea popular cerere Băiețoi, scris în C #, Richard Stallman are câteva cuvinte de înțelepciune care ar trebui să inspire alte distrosuri.

Mizând pe C # este periculos, așa că ar trebui să descurajăm utilizarea acestuia.
Problema nu este unică pentru Mono, orice implementare gratuită C # ar avea aceeași problemă. Pericolul este că Microsoft intenționează probabil să forțeze toate implementările gratuite C # într-o zi folosind brevetele de software (ale lor). Acesta este un pericol grav și doar proștii l-ar ignora până în ziua în care se întâmplă de fapt. Trebuie să luăm măsuri de precauție pentru a ne proteja.
Ar trebui să aranjăm lucrurile pentru a ne baza pe implementările C # gratuite cât mai puțin posibil. Cu alte cuvinte, trebuie să descurajăm oamenii să scrie programe C #. Prin urmare, nu trebuie să includem implementări C # în instalarea implicită a distribuțiilor GNU / Linux și trebuie să distribuim și să recomandăm aplicații non-C # în loc de aplicații C # comparabile ori de câte ori este posibil.

Dezinstalați Mono

Vreau să elimin mono din distribuția mea Ubuntu (și, astfel, să economisesc mult spațiu pe care îl ocupă dependențele sale și care, în cazul Ubuntu, nu sunt altceva decât să „sprijine” 2 aplicații instalate implicit: F-Spot și Băieţoi). Dacă nu utilizați niciunul dintre aceste două, dezinstalați-le din Synaptic, precum și toate pachetele care spun Mono sau CLI.

Pentru a dezinstala Mono în Ubuntu, puteți, de asemenea, să deschideți terminalul și să tastați:

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

Alternative la Mono

După cum am văzut, în primul rând, dacă sunteți programator, nu programați în C #. Există nenumărate alte limbi, chiar mai bune. De asemenea, Gnome a lansat recent un nou limbaj cu funcționalități foarte mono-numite Vala.
Tocmai am șters Mono și, odată cu acesta, au fost șterse câteva dintre emisiunile mele preferate ... ce spectacole alternative există pentru a le înlocui:

Mai multe informații

Pentru mai multe informații despre proiectul Mono, vizitați site-ul oficial la Englez, pe lângă monolog care este un agregator pentru blogurile dezvoltatorilor Mono; sau în spaniolă pe site-ul Mono Hispano, pe lângă bloguri a persoanelor care întrețin acest site.
Nu uitați să lăsați comentariile dvs. referitoare la Mono ... =)


26 comentarii, lasă-le pe ale tale

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Ariel el a spus

    Nu cred că Microsoft își va folosi brevetele împotriva Mono, Monodevelop, Xamarine în viitor. Mai mult, cred că aceste instrumente vă vor face cumva mai ușor să vă extindeți la alte platforme care își revendică în fiecare zi locul privilegiat în lumea dezvoltării de software în general. Cred că Mono face o treabă excelentă în portarea tehnologiilor C # și .NET pe alte platforme, ceea ce le face bogate cu noi oportunități tehnologice în ceea ce privește softul. Mono știe ce înseamnă brevete și cu siguranță ia toate măsurile de precauție pentru a evita încălcările. Pe de altă parte, JAVA își ia poziția de lider cu platforma sa JAVA EE6, care pentru gustul meu depășește capacitățile oferite în prezent de Visual Studio. Din acest motiv, mai mult decât orice, cred că Microsoft va găsi convenabil să-și porteze C # pe Linux, MacOSX, BSD, Solaris, Android, etc. Pe de altă parte, nu sunt de acord să le iau oarecum pozițiile fanatice de a spune NU Microsoft în Linux sau de a spune NU Linux în Microsoft, cred că adevărata evoluție se află în varietate și a nega adevărul este regresia.

  2.   Să folosim Linux el a spus

    Până în prezent nimic nu s-a schimbat. Dacă sunteți interesat să rulați programele pe diferite sisteme, vă recomand Java sau Python. Dacă vă simțiți confortabil cu sintaxa c #, vala este, de asemenea, o alternativă bună.
    Îmbrăţişare! Paul.

  3.   Pablo el a spus

    Buna ziua.

    Nu cu mult timp în urmă am decis să migrez limba și am ales C #, pentru a putea folosi codul și a-l compila pentru utilizare atât pe platformele Linux, cât și pe cele Windows.

    Acum, uitându-mă la acest post, mă întreb dacă am avut dreptate (spun asta din scrisul lui Richard Stallman).

    Ați putea să-mi spuneți dacă această situație a schimbat ceva până în prezent?

    (Știu că această postare are cel puțin 2 ani)

  4.   Sergio el a spus

    După cum a comentat omonimul, nu cred că Microsoft ar trebui să-și limiteze capacitățile de extindere, într-adevăr, nu trăiește din asta. Îi văd chiar capabili să liberalizeze limba, deoarece câștigă bani din implementări, cadre și IDE.

    Încep să cred că domnul Stallman este cam bătrân pentru aceste lucruri astăzi. M-am distrat citindu-ți citatul și gândindu-mă că, deși comunitatea avea ochii ațintiți asupra C #, Oracle a intentat primul proces împotriva lui Android, că, deși sărmanul văr, nu trebuie uitat că este Linux, pentru încălcarea brevetului pentru utilizarea ... JAVA!

    Părerea mea este că comunității Linux nu i se poate permite, pur și simplu pentru mândrie, să închidă ochii la alternative și la ușile sale către un număr mare de dezvoltatori de calitate, purtând sloganul „adaptați-vă sau întoarceți-vă”. În izolare există moarte, chiar dacă este lentă.

    Să nu uităm că un limbaj de programare este un concept foarte diferit de o aplicație, este un bun universal. Cine va putea cenzura engleza susținând că este limba capitalismului?

    1.    Javier L. el a spus

      Vorbesc despre MS de parcă nu i-ar fi cunoscut mișcările la nivel de marketing sau au uitat deja incidentul 99 când MS a modificat o parte a platformei JAVA astfel încât software-ul scris în propria suită să nu funcționeze într-un alt browser care nu era IE6, când Lumea a observat că procesele au plouat peste tot, dar cel mai important, o mare parte din software-ul scris a trebuit să fie reimplementat. MS este o companie care dorește să profite din toate punctele de vedere. Pentru cei care utilizează software-ul gratuit, nu este convenabil să folosiți instrumente proprietare dacă există atât de multe instrumente gratuite disponibile.

    2.    jlboch el a spus

      Sergio, ești naiv când uiți că gringii nu fac nimic, absolut nimic și nici nu fac lucrări de caritate dacă nu se asigură că vor produce milioane de dolari chiar și după actul lor,
      Ceea ce iubesc cel mai mult gringo-urile în această lume sunt drogurile și dolarii (în această ordine)
      De aceea au dominat lumea și piețele cu capitalismul lor: folosind legea bățului și legea dolarilor, adevăratul DUMNEZEU al gringosului este dolarul, chiar dacă ipocriții își rup sânii în templele protestante sau în biserici. catolic

      1.    AC maxim el a spus

        Anti-Microsoft va abundă întotdeauna pentru presupusele practici monopoliste și, deși este adevărat că în decursul anilor Microsoft a demonstrat comportamente care nu sunt foarte plăcute pentru utilizatorul final, să nu uităm că este o companie de afaceri și ceea ce vor face întotdeauna face cu produsele lor este de afaceri. Dar lumea s-a schimbat, s-a globalizat, iar Microsoft a refuzat să o accepte la acea vreme, dar nu a fost o alegere, integrarea standardului Open-XML în MSOffice o dovedește, ba chiar a fost forțată să „partajeze” codul a platformei sale forțate de regulile antitrust și a trebuit să o facă, Net Framework și limbile sale sunt înregistrate în organismul european ECMA al cărui obiectiv este standardizarea tehnologiilor informaționale, pentru C # corespunde ECMA-334, pentru CLI (care implementează Mono) ECMA-335 și C ++ / CLI este ECMA-372, acest lucru asigură faptul că aceste limbi și platforme sunt disponibile publicului larg, astfel încât Microsoft nu va forța nimic în viitor cu respect la acele limbi. Încercarea Anti-Microsoft de a descuraja utilizarea limbajului C # este absurdă, este un joc la fel de murdar precum cele denunțate de Microsoft, specificațiile lingvistice sunt deschise, există alte limbi și în această lume cea mai bună este concurența care cauzează îmbunătățiri în toate domeniile, programatorul singur trebuie să descopere diferitele limbaje și tehnologii și să le cunoască caracteristicile și el va decide singur cu cine rămâne pentru a-și realiza dezvoltările.

  5.   Să folosim Linux el a spus

    Bună contribuție. Mulțumesc!

  6.   Adrian el a spus

    Acest Stalmann !! Vedeți conspiratorii Microsoft sub patul dvs. XD.

  7.   sergio el a spus

    Dacă luăm în considerare intenția Microsoft cu .net este de a câștiga teren față de java, cred că este prea bine să ai implementări în linux pentru a-i trunchia posibilitățile.

    părerea mea este că, dacă Microsoft nu ar fi fost interesat de acest lucru, nu ar fi ajutat la crearea acestor standarde și ar fi protejat bibliotecile sale .net pentru a evita (sau cel puțin împiedica) descompilarea lor. Și nu că suntem deja la versiunea 4.0 dacă nu mă înșel și toate bibliotecile sale sunt decompilate fără probleme și încă nu sunt confundate, ceea ce ar îmbunătăți performanța arhitecturii.

    De asemenea, este adevărat că Microsoft a plătit întotdeauna chiar și pentru cea mai proastă aplicație și are acum în repertoriul său, de exemplu, versiuni gratuite funcționale ale studiului vizual pentru .net și fără restricții de licență și nu este singurul lucru (Truespace pentru exemplu a trecut și de partea liberă).

    Aceasta este o bătălie între Java și .Net și, ca în toate războaiele, orice aliat este binevenit.

    Și adevărul este, ne place sau nu, că trăim într-o lume plină de licențe ... de fapt, unele portaluri evidențiază brevete „încălcate” pe o pagină simplă de web și sunt atât de obișnuite încât nici nu le luăm în considerare că poate fi brevetat ceva atât de extrem de simplu. Brevetele sunt acolo și, dacă cineva dorește să dărâme un proiect, este foarte posibil să ajungă să găsească un brevet care este încălcat.

    Doar în cazul în care nu a fost clar, nu intenționez să inițiez un conflict aici care caută să știe dacă Windows sau Linux este mai bun, sunt pur și simplu diferite și fiecare are avantajele și dezavantajele sale, ca orice altceva. Dar asta este o altă poveste.

    Un salut.

  8.   e2fletcher el a spus

    Cu Microsoft nu se știe niciodată.

  9.   ken torrealba el a spus

    Salutari,

    Cu ceva timp în urmă, am urmat un tutorial, capitolul 1, despre Mono și mi s-a părut super ușor și mai natural decât Java, acesta mi-a plăcut. Din păcate, nu am putut obține următorul număr al revistei.

    După cum am înțeles, C # este evoluția J ++
    Acea punere în aplicare problematică a lui Java pe care Microsoft l-a costat un proces de la Sun, pe care Sun l-a câștigat, deoarece Microsoft avea biblioteci (pachet) care puteau fi executate numai pe Windows, ceea ce era opusul devizei Java „scrii un vezi, executi ori de câte ori și oriunde ».

    Microsoft elimină aspectul J ++ și C #

    Acum, faptele sunt următoarele: Microsoft a „donat” o anumită parte din C # pentru ca Mono să fie legală, deci acele secțiuni nu ar fi supuse proceselor viitoare, dar ceea ce Microsoft nu a donat dacă are șanse mari ca Microsoft să solicite oricui îl folosește , acesta este cazul, deoarece s-a întâmplat înainte, cu alte programe, dar acest lucru s-ar întâmpla dacă Mono începe să fure clienți sau dacă o companie începe să câștige bani (foarte mult) cu sprijinul și implementarea limbajului sau vrea să atribuie ca pe al lor, în timp ce atât de mult vor vedea doar că evoluează.

    În sfârșit, trebuie menționat că Miguel de Izcasa are frustrări pentru că nu poate lucra la Microsoft, din cauza pașaportului său..., asta l-a făcut să creeze software compatibil cu Windows desde Linux, pentru ca aceia să-și dea seama „ce le-a ratat”

  10.   Kuk el a spus

    Nu-mi place asta 🙁

  11.   Dezvoltatori el a spus

    Cred că unul dintre motivele pentru a folosi GNU / Linux este că este open source și dacă începem să folosim software creat de Microsoft am fi implicați într-o contradicție, de asemenea, de ce aveți nevoie de software Microsoft atunci când există o comunitate mare în lumea open source pentru a se sprijini reciproc (originea open source) și a îmbunătăți astfel orice aplicație non-open source, nu crezi?

    Să ne amintim că inițial .NET nu a fost gratuit și dacă l-a lansat (partea care a lansat-o) a fost pentru că dezvoltatorii nu l-au folosit din cauza aplicației sale limitate și cu aceasta Microsoft a pierdut prezența printre toți dezvoltatorii.

    Dacă dorim ca aplicațiile noastre să funcționeze pe diferite platforme, de ce să nu folosim Java sau Python. Noile aplicații create de Xamarin pentru a fi dezvoltate pentru iOS sau Android, sunt doar o modalitate de a # monopoliza dezvoltarea într-o singură limbă, deoarece, după cum știm cu toții, este întotdeauna mai bine să folosiți limba maternă.

    În ceea ce privește Richard Stallman, cred că este persoana cu cea mai mare experiență în domeniul open source și, din această cauză, cel puțin trebuie să ne oprim să analizăm puțin problemele cu care s-a confruntat, deoarece cunoașterea istoriei servește pentru a evita să facem aceleași greșeli.

    La fel ca toți ceilalți, dezvoltatorii trebuie să plătească facturi (alimente, sănătate etc.) și, prin urmare, trebuie să obținem un beneficiu economic pentru munca noastră, dar avem diferite modalități de a o obține (din fericire), cum ar fi donații, consultanțe, dezvoltări bazate pe pe sursă deschisă etc. Trebuie să ne folosim de abilitățile și ingeniozitatea noastră, deoarece această nouă lume „se transformă” așa cum se datorează fiecăruia dintre dezvoltatorii care există și fac ca totul să funcționeze așa cum ar trebui. Din punctul meu de vedere suntem bazele noii tehnologii și ale noii societăți și nu ale companiilor.

    Nu crede???

  12.   Adrian Fernandez el a spus

    Nu cred că M $ va face nimic pentru a prinde pe cineva care încalcă brevetele C #. Nu a făcut-o înainte, nu o face astăzi, așa că abia o face în curând. Pe de altă parte, Stallman este cunoscut pentru paranoia sa persistentă împotriva a ceea ce nu este software-ul liber (este chiar nemulțumit de kernel-ul Linux), imaginându-și timp de 20 de ani, o lume a dezvoltatorilor persecutați pentru M $.
    Oricum. Monodevelop este un instrument excelent pentru a lucra. Și dacă cineva se teme să folosească C # din ceea ce ați văzut, există încă Basic, care este în prezent la fel de capabil ca C # în majoritatea dezvoltărilor.

  13.   Daniel noriega el a spus

    Ei bine, sunt de acord și cu câteva comentarii, sunt inginer electronic, dar sunt mereu conștient de știrile de programare și încerc mereu să învăț o limbă pe deplin. Ceea ce a fost cu adevărat dificil pentru mine este să încerc să aleg ce limbă să învăț, mă ocup de C ++, dar nu știu API-urile, deci este aproape nimic, de aceea încerc să văd pe ce API să mă concentrez. Dar ceea ce îmi doresc este posibilitatea dezvoltării unui cod multiplataforma și, evident, primul lucru care iese în evidență este JDK sau .Net.

    Apoi văd această postare și sincer văd că există prea multă paranoia. Nu cred că Microsoft va da în judecată mono, cred că dimpotrivă, Microsoft câștigă un avantaj, astfel încât limbajul său să câștige teren printre programatori, devenind un limbaj care poate fi extins la alte platforme. Sunt un utilizator Linux, dar sunt și un utilizator Windows și îmi place Linux, dar dacă există un lucru pe care nu îl susțin despre Linux este că o bună parte a comunității este mândră și obtuză și trăiește luptându-se în fiecare zi pentru prostii. , insultând și micșorând pe cei pe care îi cunosc mai puțin.

  14.   Imagine de substituție Jose Manuel Alcaraz el a spus

    Desigur, nu te dedica divinației ... ai pus-o în cuie ... .net este acum open source ... xD

  15.   Alexis el a spus

    ehhh, așa cum am spus de multe ori ... Mă descurc pe Richard Stallman ... își exprimă opinia, iar fanii sar ca și cum cuvântul său ar fi o poruncă sacră ... deși MS poate folosi brevetele sale în viitor, nu este mai puțin adevărat că (cel puțin acolo unde locuiesc) platformele predominante la nivel de întreprindere sunt .NET și Java ... așa că învățarea de a gestiona Mono ar ajunge să beneficieze de o posibilă carieră de dezvoltator; Nu este foarte sănătos pentru lumea Linux să zdrobească orice alternativă care diferă de „idealurile” domnului Stallman, personal folosesc Mono pentru experimentare și învățare (deoarece nici măcar nu instalez Windows pe computerul meu, dar nu pot impune asta pe postul meu de muncă) și nu mă simt ca un păcătos hahahaha salutări.

  16.   JOU el a spus

    Nu-mi pasă dacă C # este un pericol sau dacă un alt limbaj este deschis SAU etc., atâta timp cât se adaptează la orice sistem de operare și este profitabil și produce bani, este bine, în prezent sunt un programator de creveți Linux care folosește limbajul Basic similar cu Windows Visual Basic și dacă văd că facilitează programarea ușoară și profesională și se extinde pe multe platforme, va fi binevenit.

  17.   Teroare el a spus

    Domnilor, deoarece Microsoft a cumpărat deja Xamarin în 2016, Mono are un drum lung de parcurs. Opriți fanatismul ieftin și începeți să lucrați la alte opțiuni de programare. .NET a fost oficial portabil pe platforme non-Windows încă din 2014 (odată cu crearea DotNet Foundation) și implementarea .NET în medii non-Windows a crescut puțin câte puțin. Nu vă mai gândiți la acele lucruri ale Serviciilor de informații Internet sau ale serverelor Windows ca înainte, ci trebuie să vă gândiți la Apache Web Server / Nginx cu .NET. În cazul meu: am proiectat aplicații ASP.NET MVC 4/5 pe IIS și apoi pe Apache Web Server pe Linux Ubuntu de aproximativ un an și până acum nu am avut probleme cu rularea unei aplicații ASP.NET MVC pe două diferite platforme web.

    Iată contribuția mea, în cazul în care sunteți interesat să migrați aplicațiile ASP.NET MVC către Apache / Ubuntu:

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

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

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

  18.   Fanfaron el a spus

    Această dezbatere are un puternic suflet politic ... hahahaaaa XD

  19.   Germanul A. COPERTINO el a spus

    Cu Java, același lucru s-ar întâmpla, dacă Oracle este mulțumit, face Java plătibil și proprietatea sa și sunăm cu toții. Este foarte subiectiv. Și nu cred că o companie sau Linux însuși încurajează acest tip de dezvoltare dacă în viitor va fi problematică pentru utilizatori.

  20.   Elvino lipsește el a spus

    Ei bine, în vremurile globalizării și deglobalizării, este bine să ne amintim anumite manevre monopoliste ale unora
    sau comportamente de manipulat, nu degeaba Romanul dobândește Ximian, ci citește
    ce s-a întâmplat cu Mysql / Sun Microsystm și apoi Oracle suge Sun și cu el Mysql pentru a face să dispară
    Monty (creatorul lui Mysql) a luat un pic pentru a-și da seama, dar și-a reluat proiectul și a dat naștere MariaDB și a ajuns să fie o durere în fund în Oracle
    dar cu Mono se poate întâmpla același lucru.
    Sunt programator multilingv Cobol, C, Java și Harbor Networking, iar în această ordine în Aix, Linux și Windows
    Am amestecat aplicații prin Socket, comunic aplicații între diferite limbi și platforme diferite pentru o bancă

    Cred că dacă proiectul este mare, adică va include mii de linii de cod, trebuie să îl joci în siguranță pentru a-i asigura creșterea / modificarea și scalabilitatea
    acum, dacă codul este mic, nu aș avea nicio problemă să-l fac sub C #, dacă este bun, puternic și chiar rezolvă problemele pentru mine, este bine.
    În ceea ce priveşte

  21.   smintit el a spus

    .Net Core + C # = Viitor

  22.   Isus Arce el a spus

    Nota a fost bine până când a apărut „dacă ești programator, nu folosi C #” ... în acel moment și-au pierdut toată credibilitatea.

  23.   Japheth Granados el a spus

    În 2020, s-a dovedit deja că nu s-a întâmplat nimic din cele spuse în această postare. Microsoft a creat .NET Core și l-a făcut gratuit. Acum, cu 3 platforme cu biblioteci de bază foarte similare, dar în cele din urmă diferite (deoarece au fost create de la zero), următorul pas a fost să le unim pe cele trei într-o singură, și exact asta se face cu .NET 5 (fără cuvântul „Core” sau „Framework”) care, așa cum s-a spus, este o nouă platformă, dar acum open source, multi-platformă și care poate fi utilizată pentru a dezvolta aplicații web, aplicații desktop, aplicații mobile, IoT, AI, Cloud, printre altele. Această evoluție a avut loc datorită numărului mare de dezvoltatori care au contribuit datorită faptului că .NET este acum open source. Acest lucru a trebuit să se întâmple deoarece, deoarece mai multe companii și dezvoltatori foloseau .NET într-un mod deschis, Microsoft a deschis posibilitatea de a-și vinde serviciile (în principal în cloud), care nu se limitează nici la utilizarea .NET sau C #. Microsoft nu este prost, închiderea software-ului și inițierea proceselor a fost un lucru periculos pentru ei. Dar hei, nu sunt căsătorit cu .NET sau cu orice altă limbă. Dar văd foarte interesant ce se face în comunitatea respectivă. Având sprijinul unei companii mari, comunitatea gratuită poate crește și mai repede, mai ales că există .NET Foundation care este responsabilă cu revizuirea proiectelor open source existente în .NET, care garantează că există o comandă, procesele depanate de la Microsoft însuși pentru revizuirea proiectelor menționate.