Cos'è Mono e perché può essere pericoloso?

Mono è il nome di un progetto open source avviato da Ximian e attualmente promosso da Novell (dopo l'acquisizione di Ximian) per creare un gruppo di strumenti gratuiti, basati su GNU / Linux e compatibili con .NET come specificato da ECMA. Perché è odiato da molti utenti GNU / Linux?

Cos'è Mono?

No, non ha niente a che fare con Monkey Island. Mono è l'implementazione gratuita della CLI (Common Language Infrastructure) e del C # (entrambi creati da Microsoft), secondo le specifiche inviate al ECMA per la sua standardizzazione. Questa implementazione è open source.

Mono include la CLI, che contiene la macchina virtuale responsabile del caricamento delle classi, il compilatore jit (Just-in-time) e il garbage collector; tutto questo scritto da zero secondo le specifiche ecma-334.

Mono include anche un compilatore C #, che paradossalmente è scritto in C # e come la CLI, questo compilatore segue le specifiche ecma-335.

Inoltre Mono ha un catalogo di librerie compatibili con le librerie .Net Framework, ma ha anche una serie di librerie che non esistono in .Net Framework di Microsoft; come GTK # che consente di creare interfacce grafiche native del toolkit GTK +, Mono.LDAP, Mono.Posix, ecc.

Origine di Mono

Mono è stato concepito da Miguel De Icaza, essendo il progetto in quel momento sponsorizzato dalla sua compagnia Ximian; in questo momento Novell è lo sponsor del progetto Mono, da quando Novell ha acquisito Ximian.

La motivazione per la creazione di Mono è dovuta alla ricerca di strumenti che aiuteranno la rapida creazione di applicazioni in ambiente Linux.

Piattaforme supportate da Mono

Mono attualmente funziona su piattaforme x86, PPC, SPARC e S390 a 32 bit; e x86-64 e SPARC a 64 bit; essendo possibile creare ed eseguire applicazioni sui sistemi operativi: Linux, Windows, OSX, BSD e Solaris.

Mono è compatibile con .Net Framework?

Uno degli obiettivi di Mono è raggiungere un alto grado di compatibilità con API 1.1, sebbene ci sia già molto lavoro sulla compatibilità con API 2.0 di .Net Framework.

Questo per garantire che un binario compilato in Windows con .Net Framework possa essere eseguito su una qualsiasi delle piattaforme Mono senza dover ricompilare il binario, e che a sua volta possa utilizzare le librerie Mono -Ej: System compatibili. Dati, System.Xml, ecc -.

Le librerie fornite da Mono sono compatibili al 100% con la loro controparte di .Net Framework. L'ultima versione 2.6.1. include tra le altre caratteristiche importanti:

  • La CLI
  • Il compilatore C #
  • ADO.NET
  • ASP.NET
  • Servizi web
  • Sistema
  • Windows Form

Quest'ultimo è - WindowsForms - quello che richiede più lavoro per essere completato nella sua interezza. Anche se va notato che il progetto non prevede la creazione di librerie compatibili per Enterprise Services.

Quali tipi di applicazioni posso creare attualmente con Mono?

Bene, è possibile creare applicazioni di tipo Web e Webservices con l'uso del modulo mod_mono che consente al server Web Apache di servire pagine ASP.NET (aspx) e Web Services (asmx).

È anche possibile creare applicazioni che accedono a database come Microsoft SQL, Oracle, Postgresql, ecc.

Sul lato delle applicazioni di interfaccia grafica, il suggerimento è di utilizzare GTK #, poiché il toolkit su cui si basa (GTK +), permette di eseguire applicazioni grafiche in ambienti Linux, Windows e OSX senza modifiche; Questo suggerimento è importante, perché l'implementazione compatibile con Windows Form in Mono non è ancora completa.

È necessario che la mia applicazione sia compatibile con Mono e .Net Framework, ovvero portabile?

In realtà non ce ne sono di specifici, purché si tratti di un'applicazione basata su CLI; anche se ci sono alcuni punti che dovrebbero essere presi in considerazione:

  1. Linux fa distinzione tra maiuscole e minuscole nei nomi di file e directory; quindi è necessario avere una coerenza con i nomi che usiamo.
  2. Il separatore di percorso è diverso in Windows () rispetto a Linux (/), pertanto si consiglia di utilizzare l'API Path.DirectoryPathSeparator, per ottenere il separatore corretto durante l'esecuzione dell'applicazione.
  3. Se vengono utilizzate librerie non CLI (Es: libreria in C, C ++ ecc.), Utilizzando p / Invoke, assicurarsi che la libreria esista nei diversi ambienti in cui verrà eseguita l'applicazione.
  4. Non utilizzare tecnologie che esistono solo in un particolare ambiente (Es: Registry su Windows o GConf su Linux -Gnome-); oppure fornire una soluzione che consenta all'applicazione di funzionare correttamente nell'ambiente in cui è in esecuzione.
  5. Le applicazioni basate su Windows Form e che sono molto complesse potrebbero non funzionare al momento, perché Windows Form in Mono non è completo.

Quali strumenti di sviluppo esistono in Mono?

Bene è possibile da Windows sviluppare un'applicazione utilizzando Visual Studio. Sul lato Linux c'è MonoDevelop, un IDE basato su SharpDevelop.

MonoDevelop consente la gestione del progetto, la colorazione della sintassi, il completamento automatico del codice, la compilazione e l'esecuzione dell'applicazione dallo stesso IDE.
Attraverso aggiunte (componenti aggiuntivi) la funzionalità è stata estesa, ad esempio:

  • Connettiti ai database dall'IDE
  • L'inclusione di un debugger che consente, come Visual Studio, di eseguire il codice riga per riga e di rivedere i valori delle variabili.

Attualmente si sta lavorando per integrare un progettista di moduli, sebbene questo progettista sia concentrato sulla creazione di moduli per GTK # e non per Windows Form.

Applicazioni realizzate per Mono.

Ci sono un buon numero di applicazioni sviluppate per Linux in Mono, per avere un'idea, ecco 2 elenchi con queste applicazioni:

Di queste eccezionali applicazioni sono:

  • MonoDevelop: è un IDE per la programmazione di programmi Mono in Linux. L'IDE è realizzato in C #.
  • F-spot: Programma per catalogare le fotografie, oltre a poter apportare alcune modifiche digitali alle foto.
  • Beagle: Strumento che indicizza e cerca informazioni tra diversi tipi di documenti in Linux.
  • Maschiaccio: Programma per memorizzare note collegate da parole chiave.
  • muine: È un lettore audio basato su GStreamer.
  • PyMusique: programma che fornisce un'interfaccia grafica per accedere all'acquisto di musica con il servizio iTunes di Apple.
  • MonoUML: è un editor per creare diagrammi con lo standard UML.
  • Gnome do: Lanciatore di applicazioni veloce ed efficace.
  • Docky: Dock per il desktop.
  • Banshee: Lettore multimediale basato su Gstreamer.

Scimmia e licenze

Mono è l'implementazione open source di .Net Framework di Microsoft, basata sugli standard rilasciati a ECMA; Poiché si tratta di un'implementazione basata su un prodotto Microsoft, l'uso di Mono in Linux ha causato polemiche - tra utenti e sviluppatori Linux - l'argomento è che Mono potrebbe violare i brevetti Microsoft, il che può diventare una causa contro Monkey.

Secondo il Pagina del progetto Mono, purché CLI e compilatore C # aderiscano agli standard accettati da ECMA, queste 2 parti sono sicure, rispetto alle librerie specifiche Mono, non corrono rischi; ma l'implementazione delle librerie relative ad ASP.NET, ADO.NET e Windows Form sono sensibili alla violazione di alcuni brevetti Microsoft - sebbene al momento non si sappia che sia così -; Per questo motivo, il progetto Mono suggerisce 3 opzioni per quest'ultimo caso:

  • Reimplementare la funzionalità - per evitare il brevetto -, cercando di mantenere l'API compatibile.
  • Elimina le cose che non possono essere reimplementate.
  • Cerca elementi che possano annullare il brevetto.

Secondo Wikipedia, l'implementazione di Mono di quei componenti .NET non soggetti a ECMA per la sua standardizzazione ha sollevato alcune preoccupazioni circa la possibile violazione dei brevetti software durante la vita del progetto. In particolare, si è discusso se Microsoft potesse o meno distruggere il progetto mono attraverso azioni legali per i brevetti violati.

Attualmente è in corso un vivace dibattito sulla (in) opportunità di accettare e utilizzare Mono nella comunità di sviluppatori di GNU / Linux. L'argomento principale contro Mono è che non è privo di brevetti software e vi è il rischio che Microsoft richieda licenze per utilizzare C # / CLI.

D'altra parte, il progetto Gnomo sta sviluppando un linguaggio alternativo, vala, creato appositamente per sviluppare applicazioni per Gnome, ma privo di potenziali minacce da Microsoft.

La mia raccomandazione

Attualmente ci sono alcuni programmi davvero fantastici scritti in Mono. Puoi solo pensare a F-Spot, Gnome Do o Docky. Ma, avendo alternative gratuite che non presentano tutti questi problemi, preferisco non dipendere da Mono.
Sulla recente controversa decisione di Debian e Ubuntu di includere Mono nella sua installazione predefinita, a differenza di Fedora che lo ha rimosso, semplicemente includendo il file popolare applicazione Maschiaccio, scritto in C #, Richard Stallman ha poche parole di saggezza questo dovrebbe ispirare altre distribuzioni.

Affidarsi a C # è pericoloso, quindi dovremmo scoraggiarne l'uso.
Il problema non è esclusivo di Mono, qualsiasi implementazione C # gratuita avrebbe lo stesso problema. Il pericolo è che Microsoft stia probabilmente pianificando di forzare tutte le implementazioni C # gratuite fuori dalla scatola un giorno usando i (loro) brevetti software. Questo è un grave pericolo e solo gli sciocchi lo ignorerebbero fino al giorno in cui non accadrà effettivamente. Dobbiamo prendere precauzioni per proteggerci.
Dobbiamo organizzare le cose per fare affidamento sulle implementazioni C # gratuite il meno possibile. In altre parole, dobbiamo scoraggiare le persone dallo scrivere programmi C #. Pertanto non dobbiamo includere implementazioni C # nell'installazione predefinita delle distribuzioni GNU / Linux e dobbiamo distribuire e consigliare applicazioni non C # invece di applicazioni C # comparabili, quando possibile.

Disinstallare Mono

Voglio rimuovere mono dalla mia distribuzione Ubuntu (e quindi risparmiare molto spazio che occupano le sue dipendenze e che, nel caso di Ubuntu, sono lì solo per "supportare" 2 applicazioni installate di default: F-Spot e Tomboy ). Se non utilizzi nessuno di questi due, disinstallali da Synaptic e da tutti i pacchetti che dicono Mono o CLI.

Per disinstallare Mono in Ubuntu, puoi anche aprire il terminale e digitare:

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

Alternative a Mono

Come abbiamo visto, prima di tutto, se sei un programmatore, non programmare in C #. Ci sono innumerevoli altre lingue, anche meglio. Inoltre, Gnome ha recentemente rilasciato un nuovo linguaggio con funzionalità molto simili a Mono chiamato Vala.
Ho appena cancellato Mono e con esso alcuni dei miei programmi preferiti sono stati cancellati ... quali programmi alternativi esistono per sostituirli:

Maggiori informazioni

Per ulteriori informazioni sul progetto Mono, visitare il sito Web ufficiale all'indirizzo Inglese, oltre a monologo che è un aggregatore per i blog degli sviluppatori Mono; o in spagnolo sul sito Mono Hispano, oltre al blog delle persone che gestiscono questo sito.
Non dimenticare di lasciare i tuoi commenti su Mono ... =)


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Ariel suddetto

    Non credo che Microsoft utilizzerà i suoi brevetti contro Mono, Monodevelop, Xamarine in futuro. Inoltre, penso che questi strumenti in qualche modo renderanno più facile l'espansione su altre piattaforme che rivendicano il loro posto privilegiato nel mondo dello sviluppo software in generale. Penso che Mono stia facendo un ottimo lavoro nel portare le tecnologie C # e .NET su altre piattaforme, il che le arricchisce di nuove opportunità tecnologiche per quanto riguarda il soft. Mono sa cosa significano i brevetti e sta sicuramente prendendo tutte le precauzioni per non cadere in violazioni. D'altra parte, JAVA sta prendendo la sua posizione di leadership con la sua piattaforma JAVA EE6, che per i miei gusti va oltre le funzionalità attualmente offerte da Visual Studio. È per questo motivo più di ogni altra cosa che penso che Microsoft troverà conveniente portare il suo C # su Linux, MacOSX, BSD, Solaris, Android, ecc ... D'altra parte, non sono d'accordo a prenderli in qualche modo fanatici posizioni di dire NO a Microsoft in Linux o dire no a Linux in Microsoft, credo che la vera evoluzione sia nella varietà e il rifiuto alla verità sia la regressione.

  2.   Usiamo Linux suddetto

    Ad oggi non è cambiato nulla. Se sei interessato a poter eseguire i tuoi programmi su sistemi diversi, ti consiglio Java o python. Se sei a tuo agio con la sintassi c #, vala è anche una buona alternativa.
    Abbraccio! Paolo.

  3.   pablo suddetto

    Hey.

    Non molto tempo fa ho deciso di migrare il linguaggio e ho scelto C #, per poter utilizzare il codice e compilarlo per l'utilizzo su entrambe le piattaforme Linux e Windows.

    Ora, guardando questo post, mi chiedo se ho fatto bene (lo dico dalla scrittura di Richard Stallman).

    Mi puoi dire se questa situazione ha cambiato qualcosa fino ad oggi?

    (So ​​che questo post ha almeno 2 anni)

  4.   Sergio suddetto

    Come ha commentato l'omonimo, non credo che Microsoft debba limitare le sue capacità di espansione, anzi, non ci guadagna da vivere. Li vedo persino capaci di liberalizzare il linguaggio, dal momento che guadagnano da implementazioni, framework e IDE.

    Comincio a pensare che il signor Stallman sia un po 'vecchio per queste cose oggi. Mi sono divertito a leggere la tua citazione e pensare, che mentre la comunità aveva gli occhi fissi su C #, Oracle ha intentato la sua prima causa contro Android, che sebbene il povero cugino, non va dimenticato che è Linux, per violazione di brevetto per il uso di ... JAVA!

    La mia opinione è che alla comunità Linux non si possa permettere, semplicemente per orgoglio, di chiudere gli occhi alle alternative e le sue porte a un gran numero di sviluppatori di qualità, brandendo lo slogan di "adattarsi o voltarsi indietro". In isolamento c'è la morte, anche se è lenta.

    Non dimentichiamo che un linguaggio di programmazione è un concetto molto diverso da un'applicazione, è un bene universale. Chi potrà censurare l'inglese sostenendo che è la lingua del capitalismo?

    1.    Javier L. suddetto

      Parlano di SM come se non ne conoscessero i movimenti a livello di marketing, oppure si sono già dimenticati dell'incidente del 99 quando MS ha modificato parte della piattaforma JAVA in modo che il software scritto nella sua suite non funzionasse in un altro browser che era non IE6, quando il mondo se ne accorse, le cause legali piovvero ovunque, ma soprattutto, gran parte del software scritto doveva essere reimplementato. MS è un'azienda che vuole trarre profitto con tutti i mezzi. Se sei in un software libero, non è conveniente usare strumenti proprietari se ci sono così tanti strumenti gratuiti disponibili.

    2.    jlboch suddetto

      Sergio, sei ingenuo nel dimenticare che i gringos non fanno niente, assolutamente niente, o fanno opere di beneficenza se non si assicurano che produrranno milioni di dollari anche dopo il loro atto
      ciò che i gringos amano di più in questo mondo sono droghe e dollari (in quest'ordine)
      Ecco perché hanno dominato il mondo e i mercati con il loro capitalismo: usando la legge del bastone e la legge dei dollari, il vero DIO dei gringos sono i dollari, anche se gli ipocriti si rompono il petto nei templi protestanti o nelle chiese cattolico

      1.    Aria condizionata massima. suddetto

        L'Anti-Microsoft abbonderà sempre per le presunte pratiche monopolistiche, e anche se è vero che negli anni Microsoft ha dimostrato comportamenti poco piacevoli per l'utente finale, non dimentichiamo che è un'azienda di affari e ciò che farà sempre fare con i loro prodotti è affari. Ma il mondo è cambiato, si è globalizzato e Microsoft ha rifiutato di accettarlo in quel momento, ma non è stata scelta, l'integrazione dello standard Open-XML in MSOffice lo dimostra, è stata persino costretta a "condividere" codice della sua piattaforma obbligata dalle regole antitrust e doveva farlo, il Net Framework e le sue lingue sono registrati presso l'ente europeo ECMA il cui obiettivo è standardizzare le Tecnologie dell'Informazione, per il C # corrisponde all'ECMA-334, per CLI (che implementa Mono) ECMA-335 e C ++ / CLI è ECMA-372, questo garantisce che questi linguaggi e piattaforme siano disponibili al pubblico in generale, quindi Microsoft non imporrà nulla in futuro con rispetto a quelle lingue. Il tentativo di Anti-Microsoft di scoraggiare l'uso del linguaggio C # è assurdo, è un gioco sporco come quelli denunciati da Microsoft, la specifica del linguaggio è aperta, ci sono altri linguaggi e in questo mondo il meglio è la concorrenza che porta miglioramenti in tutti i settori, il programmatore da solo deve scoprire i diversi linguaggi e tecnologie e conoscerne le caratteristiche e sarà lui a decidere da solo con quale stare per realizzare i suoi sviluppi.

  5.   Usiamo Linux suddetto

    Buon contributo. Grazie!

  6.   Adrian suddetto

    Questo Stalmann !! Guarda i cospiratori di Microsoft sotto il tuo letto XD.

  7.   sergio suddetto

    Se prendiamo in considerazione che ciò che Microsoft vuole fare con .net è guadagnare terreno da java, penso che sia troppo bello avere implementazioni Linux per troncarne le possibilità.

    la mia opinione è che se microsoft non fosse stata interessata a questo non avrebbe aiutato a creare quegli standard e avrebbe protetto le sue librerie .net per evitare (o almeno rendere difficile) decompilarle. E non che siamo già alla versione 4.0 se non sbaglio e tutte le sue librerie vengono decompilate senza problemi e non risultano ancora offuscate, il che migliorerebbe le prestazioni dell'architettura.

    È anche vero che Microsoft ha sempre addebitato anche per l'applicazione più stupida e ora ha nel suo repertorio, ad esempio, versioni gratuite completamente funzionanti di visual studio per .net e senza restrizioni di licenza e non è l'unica cosa (Truespace per l'esempio è andato anche al lato del libero).

    Questa è una battaglia tra Java e .Net e, come in tutte le guerre, qualsiasi alleato è il benvenuto.

    E la verità è, che ci piaccia o no, che viviamo in un mondo pieno di licenze ... infatti alcuni portali evidenziano brevetti "violati" su una semplice pagina Web e sono così comuni che non li consideriamo nemmeno che possa essere brevettato qualcosa di così estremamente semplice. I brevetti ci sono e, se qualcuno vuole demolirti un progetto, è molto probabile che finirà per trovare un brevetto che è stato violato.

    Nel caso in cui non fosse chiaro, non intendo avviare un conflitto qui che cerchi di sapere se Windows o Linux sono migliori, sono semplicemente diversi e ognuno ha i suoi vantaggi e svantaggi, come tutto il resto. Ma questa è un'altra storia.

    Saluti.

  8.   e2fletcher suddetto

    Con Microsoft non si sa mai.

  9.   Ken Torrealba suddetto

    Saluti,

    Qualche tempo fa ho seguito un tutorial, capitolo 1, su Mono, e mi sembrava super facile e più naturale di Java, quest'ultimo mi è piaciuto. Purtroppo non sono riuscito a ricevere il prossimo numero della rivista.

    A quanto ho capito, C # è l'evoluzione di J ++
    Quella problematica implementazione di Java che Microsoft gli costò una causa da Sun, che Sun vinse, dal momento che Microsoft aveva librerie (pacchetto) che potevano essere eseguite solo su Windows, che era l'opposto del motto Java «scrivi un vedi, esegui sempre e ovunque ».

    Microsoft scarta il layout J ++ e C #

    Ora, i fatti sono questi: Microsoft ha "donato" una certa parte di C # per rendere legale Mono, quindi quelle sezioni non subirebbero azioni legali future, ma ciò che Microsoft non ha donato se ha buone possibilità che Microsoft richieda a chiunque lo utilizzi, questo È così, perché è già successo prima, con altri software, ma ciò accadrebbe se Mono iniziasse a rubare clienti, o se qualche azienda iniziasse a fare soldi (molto) con il supporto e l'implementazione del linguaggio o volesse attribuirlo come loro, mentre lo vedranno solo evolversi.

    Infine, va notato che Miguel de Izcasa ha delle frustrazioni per non poter lavorare per Microsoft, a causa del suo passaporto..., questo lo ha portato a creare software compatibile con Windows desde Linux, affinché questi si rendessero conto di "cosa si sono persi"

  10.   kuk suddetto

    Non mi piace questo 🙁

  11.   Sviluppatori suddetto

    Penso che uno dei motivi per utilizzare GNU / Linux sia perché è open source e se iniziamo a utilizzare software creato da Microsoft saremmo coinvolti in una contraddizione, anche perché hai bisogno di software Microsoft quando c'è una grande comunità nel mondo dell'open source per sostenersi a vicenda (l'origine dell'open source) e quindi migliorare qualsiasi applicazione non open source, non credi?

    Ricordiamo che inizialmente .NET non era gratuito e se lo rilasciava (la parte che rilasciava) era perché gli sviluppatori non lo usavano a causa della sua applicazione limitata e con quella Microsoft stava perdendo presenza tra tutti gli sviluppatori.

    Se quello che vogliamo è che le nostre applicazioni funzionino su piattaforme diverse, perché non utilizzare Java o Python. Le nuove applicazioni create da Xamarin per sviluppare per ios o android, sono solo un modo per #monopolizzare lo sviluppo in una lingua, perché come tutti sappiamo, è sempre meglio usare la lingua madre.

    Per quanto riguarda Richard Stallman, penso che sia la persona con più esperienza sull'open source e per questo, almeno dobbiamo fermarci ad analizzare un po 'i problemi che ha dovuto affrontare, poiché conoscere la storia serve per evitare di commettere gli stessi errori.

    Come tutti gli altri, gli sviluppatori devono pagare le bollette (cibo, salute, ecc.), E quindi dobbiamo ottenere un vantaggio economico per il nostro lavoro, ma abbiamo diversi modi per ottenerlo (fortunatamente), come donazioni, consulenze, sviluppi basati su open source, ecc. Dobbiamo fare uso delle nostre capacità e ingegno, perché questo nuovo mondo "gira" come fa grazie a ciascuno degli sviluppatori che esistono e fanno funzionare tutto come dovrebbe. Dal mio punto di vista siamo le fondamenta della nuova tecnologia e della nuova società e non le aziende.

    Non crederci???

  12.   Adrian Fernandez suddetto

    Non credo che M $ farà nulla per catturare chiunque violi i brevetti C #. Non l'ha fatto prima, non lo fa oggi, quindi difficilmente lo farà presto. D'altra parte, Stallman è noto per la sua persistente paranoia contro ciò che non è software libero (è addirittura insoddisfatto del kernel Linux), immaginando per 20 anni un mondo di sviluppatori perseguitati per M $.
    Comunque. Monodevelop è uno strumento eccellente con cui lavorare. E se qualcuno ha paura di usare C # da quello che hai visto, c'è ancora Basic, che è attualmente capace come C # nella maggior parte degli sviluppi.

  13.   Daniele Noriega suddetto

    Bene, sono d'accordo anche con alcuni commenti, sono un ingegnere elettronico ma sono sempre a conoscenza delle novità di programmazione e cerco sempre di imparare un linguaggio completamente. Quello che è stato davvero difficile per me è stato cercare di scegliere quale lingua imparare, gestisco C ++ ma non conosco le API quindi non è quasi nulla, ecco perché cerco di vedere su quale API concentrarmi. Ma quello che voglio è la possibilità di sviluppare codice multipiattaforma, e ovviamente la prima cosa che spicca è JDK o .Net.

    Poi vedo questo post e onestamente vedo che c'è troppa paranoia. Non credo che Microsoft intenda citare in giudizio il mono, penso che al contrario, Microsoft guadagni un vantaggio in modo che il suo linguaggio guadagni terreno tra i programmatori diventando un linguaggio che può essere esteso ad altre piattaforme. Sono un utente Linux ma sono anche un utente Windows e amo Linux, ma se c'è una cosa che non supporto di Linux è che una buona parte della comunità è orgogliosa e ottusa e vive combattendo ogni giorno per le sciocchezze , insultando e sminuendo chi conosce meno.

  14.   Immagine segnaposto Jose Manuel Alcaraz suddetto

    Certo, non dedicarti alla predizione del futuro ... l'hai inchiodato .... net ora è open source ... xD

  15.   Alexis suddetto

    ehhh come ho detto tante volte ... ho cagato su Richard Stallman ... esprime la sua opinione ei fanboy saltano come se la sua parola fosse un sacro comandamento ... sebbene MS possa fare uso dei suoi brevetti in futuro, non è meno vero che (almeno per dove vivo) le piattaforme predominanti a livello aziendale sono .NET e Java… quindi imparare a gestire Mono finirebbe per avvantaggiare una possibile carriera di sviluppatore; Non è molto salutare per il mondo Linux schiacciare qualsiasi alternativa che differisca dagli "ideali" del signor Stallman, personalmente uso Mono per la sperimentazione e l'apprendimento (dato che non installo nemmeno Windows sul mio pc, ma non posso imporre quello sul mio posto di lavoro) e non mi sento un peccatore hahahaha saluti.

  16.   GIO suddetto

    Non mi interessa davvero se C # è un pericolo o se un altro linguaggio è aperto OPPURE ecc., Finché si adatta a qualsiasi sistema operativo ed è redditizio e produce denaro, questo va bene, attualmente sono un programmatore di gamberi Linux che usa il linguaggio Basic è simile a Windows Visual Basic e se vedo che facilita la programmazione facile e professionale e si espande a molte piattaforme, benvenuto.

  17.   Terrore suddetto

    Signori, da quando Microsoft ha già acquistato Xamarin nel 2016, Mono ha molta strada da fare. Ferma il fanatismo a buon mercato e mettiti al lavoro su altre opzioni di programmazione. .NET è ufficialmente trasferibile su piattaforme non Windows dal 2014 (con la creazione di DotNet Foundation) e l'implementazione di .NET in ambienti non Windows è cresciuta a poco a poco. Non pensi più solo a quelle cose di Internet Information Services o ai server Windows come prima, ma devi pensare a Apache Web Server / Nginx con .NET. Nel mio caso: ho progettato applicazioni ASP.NET MVC 4/5 su IIS e poi su Apache Web Server su Linux Ubuntu da circa un anno e fino ad ora non ho avuto problemi a eseguire un'applicazione ASP.NET MVC su due diverse piattaforme web.

    Ecco il mio contributo, nel caso tu sia interessato alla migrazione di applicazioni ASP.NET MVC ad Apache / Ubuntu:

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

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

    GitHub di esempio:
    https://github.com/boraolim/MonoServe-2016

  18.   Ettore suddetto

    Questo dibattito ha un forte accento politico ... hahahaaaa XD

  19.   Tedesco A. COPERTINO suddetto

    Con Java accadrebbe lo stesso, se Oracle è soddisfatto, rende java PAYABLE e la sua proprietà e tutti suoniamo. È molto soggettivo. E non credo che un'azienda o Linux stesso incoraggino questo tipo di sviluppo se in futuro sarà problematico per gli utenti. -

  20.   Elvino è scomparso suddetto

    Ebbene, nei tempi della globalizzazione e della deglobalizzazione, è bene ricordare alcune manovre monopolistiche di alcuni
    o comportamenti da manipolare, non per niente Novel acquisisce Ximian, ma legge
    cosa è successo con Mysql / Sun Microsystm e poi Oracle che succhia Sun e con esso Mysql per far sparire
    Ci è voluto un po 'Monty (creatore di Mysql) per realizzarlo, ma ha rilanciato il suo progetto e ha dato alla luce MariaDB ed è finito per essere un rompicoglioni in Oracle
    ma con Mono può succedere lo stesso.
    Sono un programmatore multilingua Cobol, C, Java e Harbor Networking, e in quest'ordine sotto Aix, Linux e Windows
    Mescolo applicazioni per Socket, comunico applicazioni tra diversi linguaggi e diverse piattaforme per una banca

    Penso che se il progetto è grande, cioè includerà migliaia di righe di codice, devi andare sul sicuro per assicurarne la crescita / modifica e scalabilità
    ora se il codice è piccolo, non avrei problemi a farlo sotto C #, se è buono, potente e risolve davvero i problemi per me va bene.
    saluti

  21.   Smitty suddetto

    .Net Core + C # = Futuro

  22.   Gesù Arce suddetto

    La nota stava andando bene fino a quando non è apparso il messaggio "se sei un programmatore, non usare C #" ... a quel punto hanno perso tutta la loro credibilità.

  23.   Japhet Granados suddetto

    Nel 2020 era già stato dimostrato che nulla di quanto detto in questo post è accaduto. Microsoft ha creato .NET Core e lo ha reso gratuito. Ora con 3 piattaforme con librerie di base molto simili ma alla fine diverse (dato che sono state create da zero), il passo successivo è stato quello di unificare le tre in una, ed è esattamente ciò che viene fatto con .NET 5 (senza la parola "Core" o "Framework") che, come si è detto, è una nuova piattaforma, ma ora open source, multipiattaforma e che può essere utilizzata per sviluppare applicazioni web, applicazioni desktop, app mobili, IoT, AI, Cloud, tra gli altri. Questa evoluzione è avvenuta grazie al gran numero di sviluppatori che hanno contribuito grazie al fatto che .NET è ora open source. Ciò doveva accadere perché poiché c'erano più aziende e sviluppatori che utilizzavano .NET in modo aperto, Microsoft ha aperto la possibilità di vendere i suoi servizi (principalmente nel Cloud), che non si limitano all'uso di .NET o C #. Microsoft non è stupida, chiudere il software e avviare cause legali era la cosa pericolosa per loro. Ma hey, non sono sposato né con .NET né con nessun altro linguaggio. Ma vedo molto interessante ciò che viene fatto in detta comunità. Avendo il supporto di una grande azienda, la comunità libera può crescere ancora più velocemente, soprattutto perché esiste la .NET Foundation, che si occupa di rivedere i progetti open source esistenti in .NET, che garantisce che ci sia un ordine, processi debug da Microsoft stessa per la revisione di detti progetti.