Mono ist der Name eines Open-Source-Projekts, das von Ximian initiiert und derzeit von Novell (nach der Übernahme von Ximian) gefördert wird, um eine Gruppe kostenloser Tools zu erstellen, die auf GNU / Linux basieren und mit .NET kompatibel sind, wie von ECMA angegeben. Warum wird es von vielen GNU / Linux-Benutzern gehasst? |
Was ist Mono?
Nein, es hat nichts mit Monkey Island zu tun. Mono ist die kostenlose Implementierung von CLI (Common Language Infrastructure) und C # (beide von Microsoft erstellt) gemäß den an die ECMA für seine Standardisierung. Diese Implementierung ist Open Source.
Mono enthält die CLI, die die virtuelle Maschine enthält, die für das Laden der Klassen verantwortlich ist, den JIT-Compiler (Just-in-Time) und den Garbage Collector. All dies wurde gemäß Spezifikation von Grund auf neu geschrieben ecma-334.
Mono enthält auch einen C # -Compiler, der paradoxerweise in C # geschrieben ist. Wie die CLI folgt dieser Compiler den Spezifikationen ecma-335.
Zusätzlich verfügt Mono über einen Katalog von Bibliotheken, die mit den .Net Framework-Bibliotheken kompatibel sind, aber auch über eine Reihe von Bibliotheken, die im .Net Framework von Microsoft nicht vorhanden sind. B. GTK #, mit dem native grafische Oberflächen des GTK + -Toolkits, Mono.LDAP, Mono.Posix usw. erstellt werden können.
Herkunft von Mono
Mono wurde von Miguel De Icaza konzipiert, das Projekt wurde zu dieser Zeit von seiner Firma Ximian gesponsert; momentan Novell ist der Sponsor des Mono-Projekts, seit Novell Ximian übernommen hat.
Die Motivation für die Erstellung von Mono liegt in der Suche nach Tools, die die schnelle Erstellung von Anwendungen in der Linux-Umgebung unterstützen.
Von Mono unterstützte Plattformen
Mono läuft derzeit auf x86-, PPC-, SPARC- und S390-Plattformen in 32-Bit. und x86-64 und SPARC in 64 Bit; Es ist möglich, Anwendungen auf den Betriebssystemen Linux, Windows, OSX, BSD und Solaris zu erstellen und auszuführen.
Ist Mono mit dem .Net Framework kompatibel?
Eines der Ziele von Mono ist es, ein hohes Maß an Kompatibilität mit API 1.1 zu erreichen, obwohl bereits genügend Arbeiten zur Kompatibilität mit API 2.0 des .Net Frameworks durchgeführt wurden.
Dies soll sicherstellen, dass eine in Windows mit dem .Net Framework kompilierte Binärdatei auf jeder der Mono-Plattformen ausgeführt werden kann, ohne dass die Binärdatei neu kompiliert werden muss, und dass wiederum die kompatiblen Mono-Ej: System-Bibliotheken verwendet werden können. System.Xml usw. -.
Die von Mono bereitgestellten Bibliotheken sind zu 100% mit ihrem Gegenstück zum .Net Framework kompatibel. Die neueste Version 2.6.1. umfasst unter anderem wichtige Funktionen:
- Die CLI
- Der C # -Compiler
- ADO.NET
- ASP.NET
- Webservices
- System
- Fensterformen
Letzteres ist - WindowsForms - dasjenige, bei dem mehr Arbeit in seiner Gesamtheit erledigt werden muss. Es ist jedoch zu beachten, dass das Projekt nicht die Erstellung kompatibler Bibliotheken für Enterprise Services in Betracht zieht.
Welche Arten von Anwendungen kann ich derzeit mit Mono erstellen?
Mit dem Modul mod_mono können Webanwendungen und Webservices erstellt werden, mit denen der Apache-Webserver ASP.NET- (aspx) und Web Services- (asmx) Seiten bereitstellen kann.
Es ist auch möglich, Anwendungen zu erstellen, die auf Datenbanken wie Microsoft SQL, Oracle, Postgresql usw. zugreifen.
Neben Anwendungen für grafische Benutzeroberflächen wird empfohlen, GTK # zu verwenden, da das zugrunde liegende Toolkit (GTK +) die Ausführung grafischer Anwendungen in Linux-, Windows- und OSX-Umgebungen ohne Änderungen ermöglicht. Dieser Vorschlag ist wichtig, da die mit Windows Forms in Mono kompatible Implementierung noch nicht abgeschlossen ist.
Muss meine Anwendung mit Mono und dem .Net Framework kompatibel sein, dh portabel?
Es gibt wirklich keine spezifischen, solange es sich um eine CLI-basierte Anwendung handelt. obwohl es einige Punkte gibt, die berücksichtigt werden sollten:
- Bei Linux wird bei Datei- und Verzeichnisnamen zwischen Groß- und Kleinschreibung unterschieden. Daher ist es notwendig, eine Übereinstimmung mit den von uns verwendeten Namen zu haben.
- Das Pfadtrennzeichen unterscheidet sich in Windows () von Linux (/). Daher wird empfohlen, den API-Pfad Path.DirectoryPathSeparator zu verwenden, um beim Ausführen der Anwendung das richtige Trennzeichen zu erhalten.
- Wenn Nicht-CLI-Bibliotheken verwendet werden (Beispiel: Bibliothek in C, C ++ usw.), stellen Sie mit p / Invoke sicher, dass die Bibliothek in den verschiedenen Umgebungen vorhanden ist, in denen die Anwendung ausgeführt wird.
- Verwenden Sie keine Technologien, die nur in einer bestimmten Umgebung vorhanden sind (z. B. Registrierung unter Windows oder GConf unter Linux -Gnome-). oder stellen Sie eine Lösung bereit, mit der die Anwendung in der Umgebung, in der sie ausgeführt wird, ordnungsgemäß funktioniert.
- Anwendungen, die auf Windows Forms basieren und sehr komplex sind, funktionieren derzeit möglicherweise nicht, da Windows Forms in Mono nicht vollständig ist.
Welche Entwicklungswerkzeuge gibt es in Mono?
Nun, es ist unter Windows möglich, eine Anwendung mit Visual Studio zu entwickeln. Auf der Linux-Seite gibt es MonoEntwickeln, eine IDE basierend auf SharpDevelop.
MonoDevelop ermöglicht Projektmanagement, Syntaxfärbung, automatische Vervollständigung von Code, Kompilieren und Ausführen der Anwendung über dieselbe IDE.
Durch Ergänzungen (Add-Ins) wurde die Funktionalität erweitert auf zum Beispiel:
- Stellen Sie über die IDE eine Verbindung zu Datenbanken her
- Die Aufnahme eines Debuggers, der es wie Visual Studio ermöglicht, Code zeilenweise auszuführen und Variablenwerte zu überprüfen.
Derzeit wird daran gearbeitet, einen Formular-Designer zu integrieren, obwohl sich dieser Designer darauf konzentriert, Formulare für GTK # und nicht für Windows Forms zu erstellen.
Bewerbungen für Mono.
Es gibt eine gute Anzahl von Anwendungen, die für Linux in Mono entwickelt wurden. Um sich ein Bild zu machen, hier zwei Listen mit diesen Anwendungen:
Von diesen herausragenden Anwendungen sind:
- MonoDevelop: Es ist eine IDE zum Programmieren von Mono-Programmen unter Linux. Die IDE wird in C # erstellt.
- F-Punkt: Programm zum Katalogisieren von Fotos sowie einige digitale Änderungen an den Fotos.
- Beagle: Tool, das unter Linux verschiedene Arten von Dokumenten indiziert und nach Informationen sucht.
- Wildfang: Programm zum Speichern von Notizen, die durch Schlüsselwörter verknüpft sind.
- meine: Es ist ein Audio-Player, der auf GStreamer basiert.
- PyMusique: Programm, das eine grafische Oberfläche für den Zugriff auf den Kauf von Musik mit dem iTunes-Dienst von Apple bietet.
- MonoUML: Es ist ein Editor zum Erstellen von Diagrammen mit dem UML-Standard.
- Gnom tun: Schneller und effektiver Application Launcher.
- Docky: Dock für Ihren Desktop.
- Banshee: Media Player basierend auf Gstreamer.
Affe und Lizenzen
Mono ist die Open-Source-Implementierung des Microsoft .Net Framework, das auf für ECMA veröffentlichten Standards basiert. Da es sich um eine Implementierung handelt, die auf einem Microsoft-Produkt basiert, hat die Verwendung von Mono unter Linux bei Linux-Benutzern und -Entwicklern zu Kontroversen geführt. Das Argument lautet, dass Mono möglicherweise Microsoft-Patente verletzt, gegen die eine Klage erhoben werden kann Affe.
Laut der Seite Solange die CLI und der C # -Compiler die von der ECMA akzeptierten Standards einhalten, sind diese beiden Teile des Mono-Projekts sicher. In Bezug auf die Mono-spezifischen Bibliotheken sind sie keinem Risiko ausgesetzt. Die Implementierung der Bibliotheken in Bezug auf ASP.NET, ADO.NET und Windows Forms reagiert jedoch empfindlich auf die Verletzung einiger Microsoft-Patente - obwohl derzeit nicht bekannt ist, dass dies der Fall ist. Aus diesem Grund schlägt das Mono-Projekt drei Optionen für den letzteren Fall vor:
- Implementieren Sie die Funktionalität erneut, um das Patent zu vermeiden, und versuchen Sie, die API kompatibel zu halten.
- Beseitigen Sie Dinge, die nicht erneut implementiert werden können.
- Suchen Sie nach Elementen, die das Patent ungültig machen können.
Laut Wikipedia unterliegt Monos Implementierung dieser .NET-Komponenten nicht ECMA Aufgrund seiner Standardisierung wurden einige Bedenken hinsichtlich der möglichen Verletzung von Softwarepatenten während der Laufzeit des Projekts geäußert. Insbesondere entwickelte sich die Diskussion darüber, ob Microsoft das Monoprojekt durch Klagen wegen der verletzten Patente zerstören könnte oder nicht.
Derzeit gibt es eine lebhafte Debatte über die (Un-) Zweckmäßigkeit der Akzeptanz und Verwendung von Mono in der Entwicklergemeinde von GNU / Linux. Das Hauptargument gegen Mono ist, dass es nicht frei von Softwarepatenten ist und das Risiko besteht, dass Microsoft Lizenzen für die Verwendung von C # / CLI benötigt.
Auf der anderen Seite das Projekt Gnom entwickelt eine alternative Sprache, Vala, speziell für die Entwicklung von Anwendungen für Gnome entwickelt, jedoch frei von potenziellen Bedrohungen durch Microsoft.
Meine Empfehlung
Derzeit sind einige wirklich großartige Programme in Mono geschrieben. Sie können nur an F-Spot, Gnome Do oder Docky denken. Da ich jedoch kostenlose Alternativen habe, die nicht alle diese Probleme haben, bin ich lieber nicht auf Mono angewiesen.
Über die jüngste kontroverse Entscheidung von Debian und Ubuntu, aufzunehmen Mono in seiner Standardinstallation, im Gegensatz zu Fedora, die es entfernt hat, nur durch Einbeziehen der beliebt anwendung Wildfang, geschrieben in C #, hat Richard Stallman ein paar Worte der Weisheit das sollte andere Distributionen inspirieren.
Sich auf C # zu verlassen ist gefährlich, daher sollten wir von seiner Verwendung abraten.
Das Problem betrifft nicht nur Mono, jede kostenlose C # -Implementierung hätte das gleiche Problem. Die Gefahr besteht darin, dass Microsoft wahrscheinlich plant, alle kostenlosen C # -Implementierungen eines Tages mit (ihren) Softwarepatenten sofort einsatzbereit zu machen. Dies ist eine ernsthafte Gefahr und nur Dummköpfe würden sie bis zu dem Tag ignorieren, an dem sie tatsächlich passiert. Wir müssen Vorkehrungen treffen, um uns zu schützen.
Wir sollten dafür sorgen, dass wir uns so wenig wie möglich auf kostenlose C # -Implementierungen verlassen. Mit anderen Worten, wir müssen die Leute davon abhalten, C # -Programme zu schreiben. Daher dürfen wir keine C # -Implementierungen in die Standardinstallation von GNU / Linux-Distributionen einbeziehen, und wir müssen nach Möglichkeit Nicht-C # -Anwendungen anstelle vergleichbarer C # -Anwendungen verteilen und empfehlen.
Deinstallieren Sie Mono
Ich möchte Mono aus meiner Ubuntu-Distribution entfernen (und damit viel Platz sparen, den seine Abhängigkeiten einnehmen und der im Fall von Ubuntu nur dazu dient, 2 standardmäßig installierte Anwendungen zu "unterstützen": F-Spot und Wildfang). Wenn Sie keine dieser beiden Optionen verwenden, deinstallieren Sie sie von Synaptic sowie von allen Paketen, die Mono oder CLI enthalten.
Um Mono in Ubuntu zu deinstallieren, können Sie auch das Terminal öffnen und Folgendes eingeben:
sudo apt-get remove --purge mono-common libmono0 libgdiplus sudo rm -rf / usr / lib / mono
Alternativen zu Mono
Wie wir gesehen haben, programmieren Sie als Programmierer zunächst nicht in C #. Es gibt unzählige andere Sprachen, noch besser. Darüber hinaus hat Gnome kürzlich eine neue Sprache mit sehr monoähnlichen Funktionen namens Vala veröffentlicht.
Ich habe gerade Mono gelöscht und damit wurden einige meiner Lieblingssendungen gelöscht. Welche alternativen Shows gibt es, um sie zu ersetzen:
- Muine, Banshee >> es gibt zahlreiche Alternativen: Amarok, Rhythmbox, Singvogel, Audacious, Quodlibet, Exail, BMP, Sonate, xmms, usw.
- F-Punkt >> Gdaumen
- Gnome-do >> Kupfer
- Docky >> Avant Window Manager (AWN), Kairo Dock
- Tombtoy >> Gnote
Mehr Informationen
Weitere Informationen zum Mono-Projekt finden Sie auf der offiziellen Website unter Englisch, Plus Monolog Dies ist ein Aggregator für Mono-Entwickler-Blogs. oder auf Spanisch auf der Mono Hispano-Website, zusätzlich zu Blogs der Leute, die diese Seite pflegen.
Vergiss nicht, deine Kommentare zu Mono zu hinterlassen… =)
Ich glaube nicht, dass Microsoft seine Patente in Zukunft gegen Mono, Monodevelop und Xamarine einsetzen wird. Darüber hinaus glaube ich, dass diese Tools es Ihnen irgendwie erleichtern werden, auf andere Plattformen zu expandieren, die jeden Tag ihren privilegierten Platz in der Welt der Softwareentwicklung im Allgemeinen zurückerobern. Ich denke, Mono leistet hervorragende Arbeit bei der Portierung von C # - und .NET-Technologien auf andere Plattformen, was sie in Bezug auf Soft mit neuen technologischen Möglichkeiten bereichert. Mono weiß, was Patente bedeuten, und trifft mit Sicherheit alle Vorkehrungen, um nicht in Verstöße zu geraten. Auf der anderen Seite nimmt JAVA seine Führungsposition mit seiner JAVA EE6-Plattform ein, die für meinen Geschmack über die derzeit von Visual Studio angebotenen Funktionen hinausgeht. Aus diesem Grund denke ich vor allem, dass Microsoft es bequem finden wird, sein C # auf Linux, MacOSX, BSD, Solaris, Android usw. zu portieren. Andererseits bin ich nicht damit einverstanden, diese etwas zu nehmen Ich glaube, dass die wahre Entwicklung in der Vielfalt liegt und die Wahrheit zu leugnen, Regression ist, wenn man unter Linux NEIN zu Microsoft oder unter Microsoft Nein zu Linux sagt.
Bisher hat sich nichts geändert. Wenn Sie daran interessiert sind, Ihre Programme auf verschiedenen Systemen ausführen zu können, empfehle ich Java oder Python. Wenn Sie mit der c # -Syntax vertraut sind, ist vala auch eine gute Alternative.
Umarmung! Paul.
Hey.
Vor nicht allzu langer Zeit habe ich mich für die Migration der Sprache entschieden und C # gewählt, um den Code verwenden und für die Verwendung auf Linux- und Windows-Plattformen kompilieren zu können.
Wenn ich mir diesen Beitrag ansehe, frage ich mich, ob ich es gut gemacht habe (ich sage es aus dem Schreiben von Richard Stallman).
Können Sie mir sagen, ob sich durch diese Situation etwas geändert hat?
(Ich weiß, dass dieser Beitrag mindestens 2 Jahre alt ist)
Wie der Namensvetter kommentierte, denke ich nicht, dass Microsoft seine Erweiterungsmöglichkeiten einschränken sollte, tatsächlich lebt es nicht davon. Ich sehe sie sogar in der Lage, die Sprache zu liberalisieren, da sie mit Implementierungen, Frameworks und IDEs Geld verdienen.
Ich fange an zu denken, dass Mr. Stallman heute ein bisschen alt für diese Dinge ist. Es hat mir Spaß gemacht, Ihr Zitat zu lesen und zu denken, dass Oracle, während die Community den Blick auf C # gerichtet hatte, seine erste Klage gegen Android eingereicht hat. Obwohl der arme Cousin, sollte nicht vergessen werden, dass es sich um Linux handelt, wegen Patentverletzung für das Verwendung von… JAVA!
Meiner Meinung nach darf die Linux-Community nicht einfach aus Stolz die Augen vor Alternativen und die Türen vor einer großen Anzahl von Qualitätsentwicklern schließen, die den Slogan "Anpassen oder Umdrehen" tragen. Für sich genommen gibt es den Tod, auch wenn er langsam ist.
Vergessen wir nicht, dass eine Programmiersprache ein ganz anderes Konzept als eine Anwendung ist, sondern ein universelles Gut. Wer kann Englisch mit der Begründung zensieren, es sei die Sprache des Kapitalismus?
Sie sprechen über MS, als ob sie ihre Bewegungen auf Marketingebene nicht kannten, oder sie vergaßen bereits den Vorfall von 99, als MS einen Teil der JAVA-Plattform so modifizierte, dass die in ihrer eigenen Suite geschriebene Software in einem anderen Browser, der nicht IE6 war, nicht funktionierte Die Welt bemerkte, dass überall Klagen regneten, aber vor allem musste ein Großteil der geschriebenen Software neu implementiert werden. MS ist ein Unternehmen, das mit allen Mitteln profitieren will. Wenn Sie freie Software verwenden, sollten Sie keine proprietären Tools verwenden, wenn so viele kostenlose Tools verfügbar sind.
Sergio, du vergisst naiv, dass die Gringos nichts, absolut nichts tun oder Wohltätigkeitsarbeit leisten, wenn sie nicht sicherstellen, dass sie auch nach ihrer Tat Millionen von Dollar produzieren
Was Gringos auf dieser Welt am meisten lieben, sind Drogen und Dollars (in dieser Reihenfolge)
Deshalb haben sie mit ihrem Kapitalismus die Welt und die Märkte dominiert: Nach dem Gesetz des Stocks und dem Gesetz des Dollars sind die Dollar der wahre GOTT der Gringos, selbst wenn die Heuchler in protestantischen Tempeln oder in Kirchen ihre Brust brechen katholisch
Das Anti-Microsoft wird immer für die angeblichen monopolistischen Praktiken im Überfluss vorhanden sein, und obwohl es wahr ist, dass Microsoft im Laufe der Jahre Verhaltensweisen gezeigt hat, die für den Endbenutzer nicht sehr angenehm sind, dürfen wir nicht vergessen, dass es sich um ein Unternehmen handelt und was sie immer sein werden mit ihren Produkten zu tun ist Geschäft. Aber die Welt hat sich verändert, sie ist globalisiert worden, und Microsoft hat sich damals geweigert, sie zu akzeptieren, aber es war keine Wahl, die Integration des Open-XML-Standards in MSOffice beweist dies, es wurde sogar gezwungen, Code zu "teilen" Von seiner Plattform, die durch die Kartellvorschriften erzwungen wurde und dies tun musste, sind das Net Framework und seine Sprachen in der europäischen ECMA-Einrichtung registriert, deren Ziel es ist, Informationstechnologien zu standardisieren, für das C # entspricht es der ECMA-334. Für die CLI (die Mono implementiert) ECMA-335 und die C ++ / CLI ECMA-372 stellt dies sicher, dass diese Sprachen und Plattformen für die breite Öffentlichkeit verfügbar sind, sodass Microsoft in Zukunft nichts in Bezug auf dies erzwingen wird zu diesen Sprachen. Der Versuch von Anti-Microsoft, die Verwendung der C # -Sprache zu unterbinden, ist absurd, es ist ein ebenso schmutziges Spiel wie die von Microsoft angeprangerten, die Sprachspezifikation ist offen, es gibt andere Sprachen und auf dieser Welt ist der Wettbewerb der beste führt zu Verbesserungen in allen Bereichen, der Programmierer muss selbst die verschiedenen Sprachen und Technologien entdecken und deren Eigenschaften kennen, und er wird selbst entscheiden, bei welcher er bleibt, um seine Entwicklungen durchzuführen.
Guter Beitrag. Vielen Dank!
Dieser Stalmann !! Sehen Sie Microsoft-Verschwörer unter Ihrem Bett XD.
Wenn wir berücksichtigen, dass Microsoft mit .net mehr als nur Java gewinnen möchte, ist es meiner Meinung nach zu gut, Implementierungen unter Linux zu haben, um seine Möglichkeiten einzuschränken.
Meiner Meinung nach hätte Microsoft, wenn es nicht daran interessiert gewesen wäre, nicht dazu beigetragen, diese Standards zu erstellen, und es hätte seine .net-Bibliotheken geschützt, um deren Dekompilierung zu vermeiden (oder zumindest zu behindern). Und nicht, dass wir bereits auf Version 4.0 sind, wenn ich mich nicht irre und alle seine Bibliotheken ohne Probleme dekompiliert und immer noch nicht verschleiert werden, was die Architekturleistung verbessern würde.
Es ist auch wahr, dass Microsoft immer selbst für die dümmste Anwendung Gebühren erhoben hat und nun in seinem Repertoire beispielsweise vollständig funktionsfähige kostenlose Versionen von Visual Studio für .net und ohne Lizenzbeschränkungen hat und dies nicht das einzige ist (Truespace für Beispiel ist auch auf die Seite der freien gegangen).
Dies ist ein Kampf zwischen Java und .Net und wie in allen Kriegen ist jeder Verbündete willkommen.
Und die Wahrheit ist, ob es uns gefällt oder nicht, dass wir in einer Welt voller Lizenzen leben ... Einige Portale heben Patente hervor, die auf einer einfachen Webseite "verletzt" wurden, und sie sind so häufig, dass wir sie nicht einmal in Betracht ziehen dass es etwas so extrem Einfaches patentieren kann. Die Patente sind da und wenn jemand Sie ein Projekt abreißen möchte, ist es durchaus möglich, dass er ein Patent findet, das verletzt wird.
Nur für den Fall, dass es nicht klar war, habe ich nicht vor, hier einen Konflikt zu beginnen, der wissen will, ob Windows oder Linux besser sind, sie sind einfach unterschiedlich und jeder hat seine Vor- und Nachteile, wie alles andere auch. Aber das ist eine andere Geschichte.
Ein Gruß.
Mit Microsoft weiß man nie.
Grüße,
Vor einiger Zeit folgte ich einem Tutorial, Kapitel 1, über Mono, und es schien super einfach und natürlicher als Java zu sein. Letzteres gefiel mir. Leider konnte ich die nächste Ausgabe des Magazins nicht bekommen.
Soweit ich weiß, ist C # die Entwicklung von J ++
Diese problematische Java-Implementierung, die Microsoft eine Klage von Sun gekostet hat, die Sun gewonnen hat, da Microsoft Bibliotheken (Pakete) hatte, die nur unter Windows ausgeführt werden konnten, was das Gegenteil des Java-Mottos war: "Sie schreiben ein Sie sehen, Sie führen es aus, wann und wo auch immer ".
Microsoft Scrap J ++ und C # Layout
Die Fakten lauten nun wie folgt: Microsoft hat einen bestimmten Teil von C # "gespendet", um Mono legal zu machen, sodass diese Abschnitte keine zukünftigen Rechtsstreitigkeiten erleiden würden, aber was Microsoft nicht gespendet hat, wenn es eine gute Chance hat, dass Microsoft verlangt, wer es verwendet Dies ist der Fall, weil es zuvor mit anderer Software passiert ist, aber dies würde passieren, wenn Mono anfängt, Kunden zu stehlen, oder wenn ein Unternehmen mit der Unterstützung und Implementierung der Sprache (viel) Geld verdient oder Attribute zuweisen möchte es als ihr eigenes, während so viel sie nur sehen werden, wie es sich entwickelt.
Abschließend ist anzumerken, dass Miguel de Izcasa frustriert ist, weil er aufgrund seines Passes nicht für Microsoft arbeiten kann. Dies veranlasste ihn, mit Windows kompatible Software von Linux aus zu erstellen, damit sie erkennen würden, „was sie verpasst haben“. "
Ich mag das nicht 🙁
Ich denke, dass einer der Gründe für die Verwendung von GNU / Linux darin besteht, dass es Open Source ist. Wenn wir anfangen, von Microsoft erstellte Software zu verwenden, sind wir in einen Widerspruch verwickelt. Warum benötigen Sie Microsoft-Software, wenn es eine große Community in der USA gibt? Welt der Open Source, um sich gegenseitig zu unterstützen (der Ursprung von Open Source) und damit jede Nicht-Open Source-Anwendung zu verbessern, finden Sie nicht?
Denken Sie daran, dass .NET anfangs nicht kostenlos war und wenn es veröffentlicht wurde (der Teil, der veröffentlicht wurde), lag dies daran, dass die Entwickler es aufgrund seiner eingeschränkten Anwendung nicht verwendeten und Microsoft damit die Präsenz aller Entwickler verlor.
Wenn unsere Anwendungen auf verschiedenen Plattformen funktionieren sollen, können Sie Java oder Python verwenden. Die neuen Anwendungen, die Xamarin für die Entwicklung für iOS oder Android erstellt hat, sind nur eine Möglichkeit, die Entwicklung in einer Sprache zu monopolisieren, da es bekanntlich immer besser ist, die Muttersprache zu verwenden.
In Bezug auf Richard Stallman denke ich, dass er die Person mit der größten Erfahrung im Bereich Open Source ist, und aus diesem Grund müssen wir zumindest aufhören, die Probleme, mit denen er konfrontiert war, ein wenig zu analysieren, da die Kenntnis der Geschichte dazu dient, die gleichen Fehler zu vermeiden.
Wie alle anderen müssen Entwickler Rechnungen bezahlen (Lebensmittel, Gesundheit usw.), und daher müssen wir einen wirtschaftlichen Nutzen für unsere Arbeit erzielen, aber wir haben (zum Glück) verschiedene Möglichkeiten, dies zu erreichen, wie z. B. Spenden, Beratungsunternehmen und Entwicklungen auf Open Source usw. Wir müssen unsere Fähigkeiten und unseren Einfallsreichtum einsetzen, denn diese neue Welt "dreht" sich dank jedes der existierenden Entwickler so, wie sie funktioniert, und sie sorgen dafür, dass alles so funktioniert, wie es sollte. Aus meiner Sicht sind wir die Grundlagen der neuen Technologie und der neuen Gesellschaft und nicht die Unternehmen.
Glaube nicht???
Ich glaube nicht, dass M $ etwas dagegen unternehmen wird, diejenigen zu fangen, die gegen C # -Patente verstoßen. Er hat es vorher nicht gemacht, er macht es heute nicht, also macht er es kaum so schnell. Auf der anderen Seite ist Stallman bekannt für seine anhaltende Paranoia gegen nicht freie Software (er ist sogar mit dem Linux-Kernel unzufrieden) und stellt sich seit 20 Jahren eine Welt von Entwicklern vor, die wegen M $ verfolgt werden.
Wie auch immer. Monodevelop ist ein hervorragendes Werkzeug zum Arbeiten. Und wenn jemand Angst hat, C # von dem zu verwenden, was Sie gesehen haben, gibt es immer noch Basic, das derzeit in den meisten Entwicklungen genauso leistungsfähig ist wie C #.
Nun, ich stimme auch einigen Kommentaren zu, ich bin Elektroniker, aber ich bin immer auf dem neuesten Stand der Programmnachrichten und versuche immer, eine Sprache vollständig zu lernen. Was für mich wirklich schwierig war, ist zu versuchen, die zu lernende Sprache auszuwählen. Ich verwende C ++, kenne aber die APIs nicht, daher ist es fast nichts. Deshalb versuche ich herauszufinden, auf welche API ich mich konzentrieren soll. Was ich aber möchte, ist die Möglichkeit, plattformübergreifenden Code zu entwickeln, und das erste, was auffällt, ist offensichtlich JDK oder .Net.
Dann sehe ich diesen Beitrag und ich sehe ehrlich, dass es zu viel Paranoia gibt. Ich glaube nicht, dass Microsoft Mono verklagen wird. Ich denke, dass Microsoft im Gegenteil einen Vorteil erlangt, so dass seine Sprache unter Programmierern an Boden gewinnt, indem es zu einer Sprache wird, die auf andere Plattformen erweitert werden kann. Ich bin ein Linux-Benutzer, aber ich bin auch ein Windows-Benutzer und ich liebe Linux, aber wenn es eine Sache gibt, die ich an Linux nicht unterstütze, ist es, dass ein guter Teil der Community stolz und stumpf ist und jeden Tag um Unsinn kämpft , diejenigen zu beleidigen und herabzusetzen, die sie weniger kennen.
Natürlich widmen Sie sich nicht der Wahrsagerei ... Sie haben es geschafft ... .net ist jetzt Open Source ... xD
ehhh wie ich schon oft gesagt habe ... ich scheiße auf Richard Stallman ... er drückt seine Meinung aus und die Fanboys springen, als ob sein Wort ein heiliges Gebot wäre ... obwohl MS in Zukunft von seinen Patenten Gebrauch machen kann, es ist nicht weniger wahr, dass (zumindest dort, wo ich wohne) die vorherrschenden Plattformen auf Unternehmensebene .NET und Java sind. Das Erlernen der Verwendung von Mono würde also einer möglichen Karriere als Entwickler zugute kommen. Es ist nicht sehr gesund für die Linux-Welt, eine Alternative zu vernichten, die sich von Mr. Stallmans "Idealen" unterscheidet. Ich persönlich benutze Mono zum Experimentieren und Lernen (da ich nicht einmal Windows auf meinem PC installiere, aber nicht auferlegen kann das auf meinem Posten der Arbeit) und ich fühle mich nicht wie ein Sünder hahahaha Grüße.
Es ist mir eigentlich egal, ob C # eine Gefahr darstellt oder ob eine andere Sprache offen ist ODER usw., solange es sich an ein Betriebssystem anpasst und rentabel ist und Geld produziert. Das ist in Ordnung. Ich bin derzeit ein Linux-Garnelenprogrammierer, der es verwendet Die Sprache Basic ähnelt Windows Visual Basic. Wenn ich sehe, dass sie eine einfache, professionelle Programmierung ermöglicht und auf viele Plattformen erweitert werden kann, ist sie willkommen.
Meine Herren, da Microsoft Xamarin bereits 2016 gekauft hat, hat Mono noch einen langen Weg vor sich. Stoppen Sie den billigen Fanatismus und arbeiten Sie an anderen Programmieroptionen. .NET ist seit 2014 offiziell auf Nicht-Windows-Plattformen portierbar (mit der Gründung von DotNet Foundation), und die Implementierung von .NET in Nicht-Windows-Umgebungen hat nach und nach zugenommen. Sie denken nicht nur wie bisher an die Dinge von Internetinformationsdiensten oder Windows-Servern, sondern auch an Apache Web Server / Nginx mit .NET. In meinem Fall: Ich habe seit einem Jahr ASP.NET MVC 4/5-Anwendungen auf IIS und dann auf Apache Web Server unter Linux Ubuntu entworfen. Bisher hatte ich keine Probleme, eine ASP.NET MVC-Anwendung auf zwei verschiedenen Anwendungen auszuführen Webplattformen.
Hier ist mein Beitrag für den Fall, dass Sie an der Migration von ASP.NET MVC-Anwendungen nach Apache / Ubuntu interessiert sind:
Teil 1:
https://radioterrormexico.wordpress.com/2016/06/22/ejecutar-aplicaciones-asp-net-en-plataformas-no-windows-parte-13/
Teil 2:
https://radioterrormexico.wordpress.com/2016/06/23/ejecutar-aplicaciones-asp-net-linux-ubuntu-server-parte-23/
Beispiel Github:
https://github.com/boraolim/MonoServe-2016
Diese Debatte hat einen starken politischen Hauch ... hahahaaaa XD
Mit Java würde das gleiche passieren, wenn Oracle zufrieden ist, macht es Java PAYABLE und seine Eigenschaft und wir alle klingen. Es ist sehr subjektiv. Und ich denke nicht, dass ein Unternehmen oder Linux selbst diese Art der Entwicklung fördert, wenn es in Zukunft für Benutzer problematisch sein wird.
In Zeiten der Globalisierung und Deglobalisierung ist es gut, sich an bestimmte monopolistische Manöver einiger zu erinnern
oder Verhaltensweisen zu manipulieren, nicht umsonst erwirbt Novel Ximian, sondern liest
Was ist mit Mysql / Sun Microsystm passiert und dann hat Oracle Sun und damit Mysql gesaugt, um verschwinden zu lassen?
Es dauerte eine Weile, bis Monty (der Schöpfer von MySQL) es realisierte, aber er brachte sein Projekt wieder auf den Markt, brachte MariaDB zur Welt und wurde in Oracle nervig
aber das gleiche kann mit Mono passieren.
Ich bin ein mehrsprachiger Programmierer für Cobol, C, Java und Harbor Networking und in dieser Reihenfolge unter Aix, Linux und Windows
Ich mische Anwendungen von Socket, ich kommuniziere Anwendungen zwischen verschiedenen Sprachen und verschiedenen Plattformen für eine Bank
Ich denke, wenn das Projekt groß ist, dh Tausende von Codezeilen enthält, müssen Sie auf Nummer sicher gehen, um Wachstum / Modifikation und Skalierbarkeit sicherzustellen
Wenn der Code klein ist, hätte ich kein Problem damit, ihn unter C # zu machen. Wenn er gut und leistungsstark ist und die Probleme für mich wirklich löst, ist er in Ordnung.
Grüße
.Net Core + C # = Zukunft
Die Notiz war in Ordnung, bis das "Wenn Sie ein Programmierer sind, verwenden Sie kein C #" erschien ... an diesem Punkt verloren sie ihre ganze Glaubwürdigkeit.
Im Jahr 2020 wurde bereits bewiesen, dass nichts von dem, was in diesem Beitrag gesagt wurde, passiert ist. Microsoft hat .NET Core erstellt und kostenlos erstellt. Jetzt mit 3 Plattformen mit sehr ähnlichen Basisbibliotheken, aber am Ende unterschiedlich (da sie von Grund auf neu erstellt wurden), bestand der nächste Schritt darin, die drei zu einer zu vereinen, und genau das wird mit .NET 5 (ohne das Wort) gemacht "Core" oder "Framework"), das, wie gesagt, eine neue Plattform ist, aber jetzt Open Source, Multiplattform, und die unter anderem zur Entwicklung von Webanwendungen, Desktopanwendungen, mobilen Apps, IoT, AI und Cloud verwendet werden kann ... Diese Entwicklung ist auf die große Anzahl von Entwicklern zurückzuführen, die dank der Tatsache, dass .NET jetzt Open Source ist, dazu beigetragen haben. Dies musste geschehen, da Microsoft immer mehr Unternehmen und Entwickler offen mit .NET nutzte und Microsoft die Möglichkeit eröffnete, seine Dienste (hauptsächlich in der Cloud) zu verkaufen, die nicht nur auf .NET oder C # beschränkt sind. Microsoft ist nicht dumm, das Herunterfahren ihrer Software und das Starten von Klagen war das Gefährliche für sie. Aber hey, ich bin nicht mit .NET oder einer anderen Sprache verheiratet. Aber ich sehe sehr interessant, was in dieser Gemeinschaft getan wird. Durch die Unterstützung eines großen Unternehmens kann die freie Community noch schneller wachsen, zumal es die .NET Foundation gibt, die für die Überprüfung der vorhandenen Open Source-Projekte in .NET zuständig ist, um sicherzustellen, dass eine Bestellung vorliegt und Prozesse debuggt von Microsoft selbst für die Überprüfung der genannten Projekte.