Also ich würde für meine beruflichen C#-.NET-Projekte gern Mono einsetzen, Plattformunabhängigkeit ist schließlich (vor allem im Serverbereich) ein oft nachgefragtes Feature. Es ist aber schlicht und ergreifend einfach noch nicht so weit, leider.
C++ ist auch plattformunabhängig, C ebenso und diverse andere Sprachen auch, das ist aber gar nicht das Thema. Es gibt für Unternehmen gute Gründe, C# und .NET (und damit auch Mono irgendwann) einzusetzen und zumindest für die Serverseite gibt es auch Nachfrage für Linux zum Beispiel. Dafür braucht's aber eine einigermaßen komplette Unterstützung der neueren Sprachspezifikationen und eine halbwegs vollständige Classlib, was leider (vor allem letzteres) noch nicht gegeben ist.
Die "Patentkeule" trifft schon mal auf die Kernkomponenten (C# und CIL) nicht zu, da diese ISO-normiert sind und entsprechende Patente Beteiligter oder Dritter offen bekanntgegeben werden müssen. Bei .NET betrifft das allenfalls die Windows-Forms und auch da ist es mehr als unwahrscheinlich, dass ausser Gebrüll von Herrn Balmer noch etwas passiert. Wem das aber nicht sicher genug ist -> Gtk#, Qyoto bzw. Kimono. Leute, das ist nicht das erste mal, dass das durchgekaut wird...
The ISO/IEC standards and TR were published in April, 2003, and are known formally as ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR).[1]
"Microsoft garantiert eine Lizenzierung der ECMA-Teile auf RAND-Basis (Reasonable And Non Discriminatory), das heißt gegen angemessene Lizenzgebühren und nichtdiskriminierend."
Was auch immer das bedeuten mag. Ich halte die Mono Implementierung auf jeden Fall für sehr gefährlich. Es ist nicht sichergestellt das Microsoft nicht seine Patentansprüche die es auf Teile der API usw. besitzt in ein paar Jahren geltend macht. Androhungen in diese Richtungen gab es ja schon beim Microvell Deal.
Das sollte jedem Mono Entwickler bewusst sein. Wenn .NET ein freies Framework wäre, dem sich z.B. M$ angeschlossen hätte sähe das ganze sicherlich anders aus.
Zudem wird der Bestand der Patente vor Gericht angezweifelt, da es bereits seit längerem ähnliche Technologien wie etwa Java gibt.
Das ist der auf den von Dir zitierten folgende Satz. Das ist halt genau das, was ich auch denke. Und selbst wenn das tatsächlich passieren sollte und MS das wider allen Verstandes durchkriegen würde, dann ist man sofort auf der sicheren Seite, wenn man Windows-Forms nicht nutzt. Das sollte in einem von Anfang an als portabel ausgelegten Projekt kein Problem sein, auch wenn die Windows-Forms stark sind.
Klar wird er angezweifelt, daher ja auch das Patentabkommen. Bezahle an Novell die die Zahlung dann an Microsoft weiterreichen und du bist ein Kunde und geschützt. Hört sich doch danach an, dass es auch durchaus ein Gewinngeschäft für Novell sein könnte, dass die Patente eines Tages gegen die Kunden von Konkurrenten eingesetzt wird.
Schlaumeier, wenn MS dem MONO Projekt die Lizens enziehen wollte, dann hätten sie es ja schon längst getan.
Aber warum sollten sie? - mit MONO kommt Microsofts Technologie ja noch weiter unter die Leute - unter die die nicht Windows benutzen!
zum Thema ernsthafte Software mit Mono oder Mono-bindings: f-spot, banshee, dbus, tomboy, avahi, gnome2(gtk+2,gnome-vfs2,gsf) ich könnte jetzt noch mehr bringen ... cowbell, usw aber nur weil man die software nicht benutzt heisst es nicht, dass es keine mono-software gibt!
hmm netbsd laeuft auf 50+ systemen,linux afaik auf 20+. mono wird auf vielen davon laufen. auf wievielen laeuft java (nicht betriebssytemen,sondern wirklich andere architekturen)? x86,amd64,sparc? total unabhaengig....
Vielleicht wäre es nicht so schlecht, wenn du bei den Kälbern bliebest ;-) Ein Anfang, um ein echter "programieren" zu werden, wäre es, zu lernen, wie man das Wort schreibt...
Wie heißt es so schön? Wer lesen kann ist klar im Vorteil! Einfach mal einen Blick auf die Mono-Hompage werfen und du findest dies (höchst wahrscheinlich unvollständige) Liste: http://www.mono-project.com/Software
Darunter u.a. auch ein deutsches Unternehmen: http://www.novell.com/success/volcker.html
LOL! Also wenn ich mir anschaue, wie hart die Leute daran gearbeitet haben und wieviel Geld in die vergleichsweise kleine Zahl an Mono-Referenz-Projekten (Beagle, F-Spot und Banshee) reinfliesst, bin ich alles andere als begeistert, wenn ich mir das doch vergleichsweise recht magere Ergebnis anschaue.
Von DarkAdmiral am Mi, 21. Februar 2007 um 09:48 #
Ich finde das eine sehr gute sache, weil ich schon lange VB unter Linux schreiben wollte. Ich schreibe auch sehr gerne kleine GUI Anwendungen, deswegen wär es optimal, wenn auch der GUI Designer in mono-develop für VB.Net funktionieren würde.
Von DarkAdmiral am Mi, 21. Februar 2007 um 10:00 #
ja habe ich, aber so toll find ichs nicht. Ist nicht plattformunabhängig, man muss viele dependencies mitgeben, und es ist hauptsächlich QT. Ich würde gerne sachen schreiben, die ich leicht auch auf windows portieren kann und dafür bietet sich .net ja an
Nein, aber es ging hier spezeill um Gambas, und das ist für Windows meines Wissens noch nicht verfügbar.
Und Gambas, weil das VB 'ähnlich' ist (nicht gleich).
Natürlich kann man aucgh eine der 1xxx anderen Sprachen verwenden, trotzdem find ich es schade, das Gambas 'nur' unter http://gambas.sourceforge.net/distribution.html läuft ;-)
Ich finde die Sprache sonst eigentlich ganz nett..
Also zum ersten: "Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung." Edsger Wybe Dijkstra
Ich bin auch der Meinung, dass es andere einfache Sprachen gibt, mit denen du mal schnell und Plattformunabhaengig programmieren kannst (z.B. Python mit Glade oder, falls es nicht schoen aussehen muss, Tcl/Tk). Ob man mit VB wirklich viel schneller ist, wage ich zu bezweifeln.
Falls du trotzdem Basic machen willst, sei dir RealBasic http://www.realbasic.com/ ans Herz gelehnt. Das ist Plattformunabhaengig und ausgereift.
Naja, ich hab mir mit BASIC als Kind selbst programmieren beigebracht, und lebe trotzdem noch. Dafür fand ich dann Pascal in der Schule abscheulich, und an der Uni hab ich dann gelernt, warum ^^.
Es gibt aber tatsächlich viele, die den Absprung nicht schaffen, sondern irgendwann auf einem Niveau hängen bleiben - vielleicht auch, weil sie konkrete Probleme lösen müssen/wollen, sich aber nicht eigentlich für Informatik interessieren. Wenn man jetzt sagt "Ha, wenn es kein BASIC gebe, würden die wahrscheinlich gar nicht programmieren, und das wäre besser so" ist man schon ein arroganter Mensch, finde ich.
Außerdem ist BASIC beileibe nicht die einzige Sprache, für die das gilt, ich denke zB an PHP, das hat die gleichen Probleme.
Tut mir echt Leid, aber ich verstehe nicht warum sich Ximian zum Steigbügelhalter von Microsoft macht indem sie ein Projekt wie Mono ins Leben rufen. Die Arbeit und Zeit hätte man besser in Java oder die GNU tool chain investiert.
Weil einige der Features vor allem von C# so nicht in anderen Sprachen existieren, bzw. weil es einfach ein gutes Produkt ist, das kann man doch so auch einfach mal akzeptieren. :-)
Mit der Agumentation könnte man auch eine Lanze für PHP brechen ;-) Hast du Beispiele um mir als C/C++ Programmierer die Vorteile von C# näher bringen ?
C#: - eine wesentlich größere Typensicherheit zur Designzeit, strengere Checks, keine impliziten Typcasts - Reflection - anonyme Delegates (aka "function closures") - konsequente Interface-Implementierungs-Trennung - Nullbare Datentypen (für bool zB: true, false, null) - Objektinitialisierer - LINQ (eine Syntax, mit der man SQL-ähnlich direkt im Code Objekteigenschaften abfragen, verknüpfen und filtern kann, ebenfalls typsicher) - Erweiterung von abgeschlossenen Klassen zur Laufzeit, mittels regulärer Ausdrücke sogar auf mehrere Klassen gleichzeitig anwendbar - ...
eher unabhängig von C# selbst, eher .NET zuzuordnen: - Attribute - das CIL-Interface zu anderen Programmiersprachen (ersetzt Language-Bindings komplett)
Das sind erstmal die Dinge, die mir in der kurzen Zeit spontan einfallen. Einige von ihnen sind auch in C++ prinzipiell machbar, allerdings teilweise deutlich schwerer.
Nullbare Datentypen und anonyme Delegates sowie LINQ und die dynamische Klassenerweiterung (so Du partial classes meinst) sind Bestandteil von C# 2.0, welches afaik _nicht_ bei der ECMA oder ISO standardisiert wurde.
C# 1.x (die standardisierte Variante) ist ein besseres Java, das mit 2.0 zu einem Mischmasch aus Java, Ruby, Python und Lisp mutierte ;).
The Mono C# compiler is considered feature complete for C# 1.0 and C# 2.0 (ECMA).[1]
Das diese Features Bestandteil von 2.0 sind ist schon richtig, aber auch ohne sie gibt es noch genug andere meiner aufgezählten Features und die Schöpfungshöhe für die paar Sachen ist denkbar niedrig. ;)
Und wenn ich das hier lese, bin ich zuversichtlich, dass auch 2.0 keinen Beigeschmack besitzen wird: Im Juli 2005 übergab die ECMA die Standards und zugehörigen TRs an die ISO/IEC JTC 1.
Ach, so. Schon mal daran gedacht, dass Mono vielleicht auch Steigbügelhalter für viele Windows-Entwickler sein kann, sich mal näher mit Linux zu beschäftigen? Warum hätte man da die Arbeit besser in Java oder die GNU Tool Chain investiert?
Das Problem sind die Patente die bei MS und Novell liegen. Sun hat deren Patente für Java frei gegeben, aber wenn du jetzt eine code basis auf Mono aufbaust, kann es sein, das MS in ein paar Jahren Geld von Dir oder deinen Kunden haben will.
Bevor du lachst, Stell dir mal vor alle neuen/modernen Gnome programme werden jetzt mit C# geschrieben (weil C für grosse Programme nicht taugt, wie auch schon von den Evolution entwicklern beschrieben), dann wird KDE kaputt bekommen, sprich Gnome ist wirklich der open source default desktop und dann kommen MS und Novell und wollen auf einmal Geld für Lizenzen. Vielleicht nicht direkt von Endkunden, aber bei Firmen ist das mehr als realistisch.
>Das Problem sind die Patente die bei MS und Novell liegen. Sun hat deren Patente für Java frei gegeben, aber wenn du jetzt eine code basis auf Mono aufbaust, kann es sein, das MS in ein paar Jahren Geld von Dir oder deinen Kunden haben will.
Es ist wichtig immer im Hinterkopf zu behalten, dass Softwarepatente keine Implementierungen sonder Grundsätzliche Ideen abdecken.
Da Java und .Net in so vielem (Ideen/Konzepte) ziemlich ähnlich sind, solltest du als Java Nutzer auch von MS Patenten Angst haben und umgekehrt genauso. Dazu kommen natürlich die ganze anderen Firmen die Patente auf bestimmte Ideen haben über die du sicher auch in Java, Mono oder jedem anderen Softwareprojekt stolpern wirst. Die Angst von Softwarepatenten kann also berechtigt sein (je nachdem wie stark man sich davon einschüchtern lässt, sollte man evtl. das programmieren besser ganz bleiben lassen), die Gefahren sind aber bei Mono kein bisschen größer als bei jedem anderen Softwareprojekt und auch bei Java. Darüber hinaus schätze ich die Gefahr deutlich höher ein, dass dein Programm wegen irgendwelchen Softwarepatenten angegriffen wird als deine Entwicklungsumgebung.
Was wäre, wenn man ein Betriebssystem schreibt, ohne damit Geld zu verdienen? Welch gruselige Vorstellung vor diversen Jahren! Hat man sich davon abschrecken lassen als es mit Linux los ging? Ich glaube nicht.
Was wäre also, wenn die großen bösen Unternehmen kommen und irgendwo einen Riegel vorschieben? Da fängt man halt von vorne an. Open Source Projekte sterben jeden Tag. Bis dahin haben die Programme einen Nutzen gehabt.
Besser ein Programm, dass fünf Jahre lang einen Nutzen hatte, als ein Programm, dass niemand je geschrieben hätte, weil die Manpower gefehlt hat oder irgendjemand die Sachen hingeschmissen hat, weil die GNU Tools so kompliziert sind.
Und nebenbei: Wenn aufgrund der Marktstellung eines Open Source Programms heute schon jemand abkassiert, dann ist das doch wohl Trolltech. Qt wäre ohne KDE wohl kaum so bekannt und weit entwickelt. Glaubst Du wirklich, Novell würde das mit Mono irgendwie toppen? Wohl kaum.
Wenn ich auch bestimmt nicht ein grossartiger Entwickler vor dem Herrn bin, so finde ich das hervorragend.
Sicherlich kann man einwenden, die Open Source Gemeinde knickt vor Microsoft schon wieder ein. Wenn es ueberhaupt ein Einknicken ist, ist dieser Einwand aber nur die halbe Wahrheit. Naemlich: Zugleich beweist die Open Source Gemeinde, dass sie im Gegensatz zu Microsoft sehr wohl zu einer Interoperabilitaet in der Lage ist und auch diese umsetzt. Dieses ohne viel Getoese und TamTam, waehrend Microsoft schon seit Jahren Interoperabilitaet verspricht, aber m.E. nie durchgesetzt hat.
Linux könnte so vielleicht auch ein paar eingefleischte M$ Benutzer überzeugen für Linux zu schreiben ... ... denn einfach zu denken, dass man einmal ein Code schreiben kann und überall verwenden gibt es nie !! Es gibt zu viele Abhängigkeiten (C:\Dokumente und Einstellungen\Benutzer - \home\Benutzer, ...)
> Linux könnte so vielleicht auch ein paar eingefleischte M$ Benutzer überzeugen für Linux zu schreiben ...
Die VBasic-Programme, die ich kenne, sind irgendwelche schnellen Hacks. Das will keiner unter Linux haben.
> ...dass man einmal ein Code schreiben kann und überall verwenden gibt es nie !!
Das macht Sun mit Java schon ganz gut. Natürlich sollte man nicht auf feste Pfade zugreifen, sondern nur die Umgebungsvariablen abfragen (für /tmp, $HOME usw.). Dazu stellt Java schon die passenden APIs bereit (wie auch Mono oder Qt).
Für hardwarenahe Programme gilt das natürlich nicht - das Thema ist hier aber auch VBasic
> Das will keiner unter Linux haben. Doch, die, die sie einsetzen und vielleicht gern migrieren würden. Niemand redet davon, dass Mono-VB die Ideallösung ist, aber es ist eine. ;)
Ok, danke für den Hinweis. Das was ich an VBasic-Programmen gesehen habe, ist mit einem Shellscript und XDialog schneller implementiert. Wer aber für ein paar User-Abfragen eine IDE samt Mono benutzen möchte...
Hehe, und prompt machst Du den gleichen Fehler nochmal: Auch von Deinen Erfahrungen mit VBasic Programmen kannst Du nicht auf alle VBasic Programme schließen. ;)
Natürlich sieht Mono auf den ersten Blick überdimensioniert aus. Aber was macht eine 20MB VM schon aus, wenn heute Desktop-Rechner mit 1GB RAM bei Aldi über die Ladentheke gehen? Wie viele Leute wären in der Lage, Deine esoterischen Shellscripte mit XDialog zu pflegen, wenn Du vom Bus überfahren wirst? Hättest Du Lust, mehrere Hundert dieser Scripte nachzubessern, weil XDialog nicht mehr gepflegt wird (von einem kurzen Blick auf die Homepage zu schließen, ist der Zeitpunkt nicht mehr fern).
Gerade wenn Quick'n'Dirty Lösungen benötigt werden, braucht man eine Plattform, wie weit verbreitet ist und die viele Leute lernen können. Ein ganz großer Pfeiler der Desktop-Dominanz von Microsoft besteht aus unzähligen mittelgroßen VB-Anwendungen für jedes nur erdenkliches Einsatzgebiet. Was hat denn wohl das Internet groß gemacht? Auch hier waren es leicht zu lernende Sprachen wie etwa PHP, nicht irgendwelche esoterischen Gebilde, die von den Studierten bevorzugt werden.
> Hehe, und prompt machst Du den gleichen Fehler nochmal: Auch von Deinen Erfahrungen mit VBasic Programmen kannst Du nicht auf alle VBasic Programme schließen.;)
Ah männo... Ich hab nun mal meine eigenen Erfahrungen - und die prägen meine liberale Subjektivität ;-)
> Wie viele Leute wären in der Lage, Deine esoterischen Shellscripte mit XDialog zu pflegen, wenn Du vom Bus überfahren wirst?
Alle, die Shell "programmieren" können? Warum ist ein sh-Skript esotherischer als VBasic-Code?
> Hättest Du Lust, mehrere Hundert dieser Scripte nachzubessern, weil XDialog nicht mehr gepflegt wird
Wie ein Poster hier erwähnt hat, hat VBasic.net mit dem Vorgänger nichts zu tun. Hättest Du Lust die vielen VBasic6 Skripte... Nicht mal MS-Tools sind eine Konstante bis in die Ewigkeit.
> Gerade wenn Quick'n'Dirty Lösungen benötigt werden, braucht man eine Plattform, wie weit verbreitet ist und die viele Leute lernen können.
Genau dafür gibts die Shell inkl. awk, perl, ...
> Ein ganz großer Pfeiler der Desktop-Dominanz von Microsoft besteht aus unzähligen mittelgroßen VB-Anwendungen
Die (eingebettet in Access, Excel) von Office-Version zu Office-Version angepasst werden dürfen.
> Was hat denn wohl das Internet groß gemacht? Auch hier waren es leicht zu lernende Sprachen wie etwa PHP...
Hmm, eigentlich sind immer noch die Meisten CGIs Perl-Skripte - also Esotherik pur
Alle, die Shell "programmieren" können? Warum ist ein sh-Skript esotherischer als VBasic-Code?
Grundsätzlich ist die Frage, wenn sie so generell gestellt wird, müßig. Da gibt es keine gute Antwort drauf.
Ausschlaggebend ist die Sicht eines Windows-Admins, der Linux-Desktops einsetzten will, und die seines Arbeitgebers. Für diese Menschen ist Shellscript esoterisch und nur das bestimmt, ob man VBasic oder VB.Net unter Linux braucht.
Und ob VBasic nun mit VB.NET etwas zu tun hat oder nicht, ist für unsere Diskussion nicht relevant. Wichtig ist allein, ob die Existenz dieser Sprachen den Einstieg für einen Windows-Admin erleichtert. Wenn es niemand braucht, dann wird es sowieso in der Versenkung verschwinden.
Die konstante Nachfrage nach Tools wie Gambas oder auch RealBasic lassen allerdings vermuten, dass dem nicht so ist. Vielleicht wird es auch Nachfrage nach VB.NET geben.
Das, was nach Behauptung der Ximianleute um 2002 kurz vor der Vollendung stand wird also nun plötzlich 2007 released. Wenn man es bei denen gewohnt ist halbfertige und buggige Sachen als marktfähig zu verkaufen, dann ist es nur konsequent, wenn man dieses Release als eine Technology Review betrachtet.
Möglicherweise gibt es ja hier die Verbindungen. Die Idee etwas zu hypen und dann den Leuten vor die Füsse zu schmeissen unter dem Motto, vielleicht finden wir jemanden, der die Technologiestudie zuende entwickelt, das ist keine sonderlich nachhaltige Methode aber sie funktioniert wieder und wieder.
Bei Mono fragt auch kein Mensch wie kompatibel es zu .NET ist, und wenn man es fragt, wird man auf #gtk verwiesen. Noch schlimmer, man kann gar nicht erkennen, was kompatibel ist und was eben nicht.
Wenn es schon Basic sein muss, dann dürften wohl Gambas oder das proprietäre Kbasic die erste Wahl sein. Hier ist eine gewisse Reife eingetreten. Ich vermute Novell hat einfach die Ergebnisse der Arbeit an VB-OO.org Integration in Mono eingepflegt...
>Bei Mono fragt auch kein Mensch wie kompatibel es zu .NET ist, und wenn man es fragt, wird man auf #gtk verwiesen. Noch schlimmer, man kann gar nicht erkennen, was kompatibel ist und was eben nicht.
Vielleicht interessiert es einfach keinen, der einfach mit Mono seine Apps schreiben will?
Mich interessiert z.B. auch nicht die Unterschiede zwischen den gnnu-c-libs und den ms-c-libs und genauso sind mir die Unterschiede zwischen Mono und .Net egal, für mich ist Mono eine eigenständige Platform.
Von Remotehorst am Mi, 21. Februar 2007 um 22:33 #
> für mich ist Mono eine eigenständige Platform.
Interessanter Ansatz mit dem auch gleich alle mögliche Kompatibilitäten zwischen .NET und mono als unbedeutend markiert werden. Wie traurig, dass die Macher und Vermarkter vor allem mit dem .NET Kompatibilitätsargument werben.
.Net ist ja nun standardisiert! Als Microsoft sein MS-Java in den Ring schickte haben auch alle gesagt, dass sei ja nicht kompatibel. Bei Mono interessiert es dagegen wohl nicht, was
Mono implementiert nun die Sprache VB.NET. Diese ist aber nicht zu verwechseln mit VisualBasic (ohne .NET). Das Programmieren in beiden Sprachen ist vollkommen unterschiedlich. VB.NET hat so gut wie nichts mehr mit dem alten VisualBasic (geschweige denn mit QuickBASIC aus DOS-Zeiten) zu tun - was zur Folge hat, dass diese Sprache auch nicht mehr so leicht zu erlernen ist.
Alle .NET-Sprachen ähneln sich sehr stark, dies sieht man an den folgenden Hello-World-Beispielen:
QuickBASIC: PRINT "Hello World"
VB.NET: Public Shared Sub Main() System.Console.WriteLine("Hello World") End Sub
C#: public static void Main() { System.Console.WriteLine("Hello, world!"); }
Genauso ist das. VB.Net ist letztlich für für die alten VBasic Programmierer produziert worden, die nicht mehr in der Lage waren (und es nie waren) sich in eine weitere Programmiersprache (wie z.b. C#) einzuarbeiten.
Der Unterschied zwischen C# und VB.Net ist auch eher kultureller Art. Hier ein sehr guter Artikel, der einem klarmachen kann, was VB.Net eigentlich ist: http://www.codeproject.com/dotnet/CSharpVersusVB.asp
Zitat: The truth is that while there are some exceptional VB teams that write exceptional quality code, this is the exception, not the rule. Most VB teams have trouble writing high quality code, and this trait is ingrained deeply into their culture by environmental factors beyond their control, and continues to be propagated by the VB syntax and semantics in Microsoft .NET.
Desweiteren ist zum Steigbügel-Argument anzumerken, das momentan tatsächlich ein Schritt von Mono auf die Windows-Programmierer-Kultur zugemacht wird. Durchaus aber auch andersherum. Im DotNet-magazin hat z.b. der Windows-Programmier-Guru Ralph Westphal einer seiner DotNetTV-Folgen (Auf Magazin-CD verfügbar) mit Miguel abgedreht. Hauptinhalt war die Vorführung, wie portabel das tolle Mono doch ist. Damit das auch auch ein mit 2stelligen IQ gesegneter Windows-Programmierer problemlos ausprobieren kann, gibt es das VMWare-Image mit vorinstalliertem Mono zum Download: http://www.mono-project.com/news/archive/2006/Jul-28.html Bei der Gelegenheit gewöhnt man die neue Kundschaft auch gleich an die richtige Linux-Distro
"Plattformunabhaengig", "nehmt java", "gibts doch schon", "ms ist boese" ...
Eine kleine erklaerung was der unterschied zwischen java und .net gefaellig? Wahrscheinlich nicht, aber noetig.
java ist "eine sprache fuer viele Plattformen" .net ist "viele Sprachen fuer eine Plattform"
.net hat sich in "viele sprachen fuer viele platformen" geaendert. soll heissen: richtig programmiert kann ich mein .net-programm in php schreiben, die oberflaeche davon in vb, und dann dieses Programm auf vielen plattformen laufen lassen. und dabei muss ich nichtmal ein einziges MS produkt verwenden.
... und Du musst noch nicht einmal .NET verwenden, CIL reicht völlig. Deshalb sollte auch mal dringend das CIL-Backend für den GCC fertig(!!) werden, damit alle etwas davon haben.
java ist die Plattform und du kannst deren eigene Sprache verwenden oder eben eine andere zb. Python um am Ende auf Java-bytecode zu kommen. Warum das bei Java nicht so bekannt ist und auch bisher kaum gemacht wurde liegt wohl eher am Qualitätsunterschied des Marketing zwischen MS und Sun.
> Wer MONO braucht, der sollte sich überlegen ob er bei GNU/Linux richtig ist. Wer gute Produkte ablehnt, nur weil sie sich an eine API anlehnen, die (obwohl normiert und in ihren essentiellen Komponenten nachweislich nicht patentbelastet) exakt deshalb abgelehnt wird, weil sie irgendwie irgendwann mal von dem bösen Microsoft initiiert worden ist, sollte sich überlegen, ob er den Sinn und Zweck der freien Software, nämlich den gesellschaftlichen Nutzwert zu mehren, wirklich verstanden hat.
> Es gibt für ALLES auch eine OSS-Alternative Nenne mir bitte die OSS-Alternative zu Outlook für die Datenübertragung per RPC over https, ich wäre gespannt, das suche ich nämlich wirklich. Oder eine 100%ig brauchbare Alternative zu MS Office, wenn man darauf angewiesen ist, eben von jener Office Suite erstellte Dokumente zur Weiterbearbeitung zu öffnen.
Es gibt Anforderungen in der IT, die augenblicklich nicht mit OSS zu erfüllen sind, das kann man drehen und wenden wie man will. Man kann und muss natürlich beim Neuentwurf von Lösungen entsprechend agieren, um den reibungslosen Ablauf über OSS zu gewährleisten, klar. Allerdings ist in der realen Welt nicht einfach mal alles "umprojektierbar" bis es so hinhaut, wie man sich das persönlich vorstellt. Das gilt besonders in der Softwareentwicklung. Viel Spaß dabei, Deinem neuen Arbeitgeber zu sagen, dass sein jahrelang gewachsenes .NET-Projekt unbedingt in Java oder C++ neugeschrieben werden muss, obwohl es Mono gibt, obwohl die Interface-Language, die Sprachen selbst, die Compiler und die Mechanismen zertifiziert und nachweislich patentfrei sind, nur weil Leute wie Du diffuse Ängste besitzen.
lg Erik
P.S.: Hat die URL irgendwas zu bedeuten? Nen Beitrag zur Sache habe ich da nicht gefunden, vielleicht aber auch nur überlesen?
>Wer MONO braucht, der sollte sich überlegen ob er bei GNU/Linux richtig ist.
Genauso wie die, die GNU brauchen, da dass ja nur ein "billiger abklatsch" von Unix ist oder die die Linux brauchen was ja nur ein "billiger abklatsch" eines Unix-Kernel ist.
Ziel Freier Software ist es dem Anwender zu ermöglichen seinen PC in Freiheit zu benutzen. Dazu gehört natürlich, dass man für proprietäre Lösungen freie Alternativen schafft (Unix->GNU, Unix Kernel -> Linux, proprietäre C Übersetzer/libs -> gcc+glibc, .Net -> Mono/dotGNU,...)
>Es gibt für ALLES auch eine OSS-Alternative, meistens die bessere.
Richtig, und die freie Alternative zu .Net heißt Mono oder dotGNU!
Mono ist doch OSS. Ob man sich seine APIs vom Konkurrenten diktieren lassen sollte, ist eine andere Frage. Ich wuerde verneinen, deshalb bevorzuge ich Qt + kdelibs.
Unfreie Schnittstellen mit OSS zu imitieren ist in etwa so wie der Versuch aus Kuscheisse Benzin zu gewinnen. Warum nicht gleich richtig umstellen ?
Damit werden indirekt unfreie APIs und zweifelhafte Geschäftspraktiken gestärkt. Wenn nicht ein CUT gemacht wird, dann wird die gleiche Scheisse mit anderer Verpackung weiter genutzt und freie Schnittstellen werden nicht mehr notwendig sein.
Jetzt sind wir an genau dem Punkt, den ich eigentlich im ganzen Thread schon predige: .NET hat bis auf die sehr sehr abstrakte "Gefahr" der Patentierung von Technologien absolut nichts mit Kuhscheisse zu tun, es ist ein verdammt gutes Produkt und Mono macht sich auf den Weg, portabel in seine Fusstapfen zu treten. Aus mir spricht übrigens ein begeisterter C++- und Qt-Anhänger. Man muss einfach mal die Stärken der anderen anerkennen und nicht alles als verunglimpfen, was einem nicht gefällt, bzw. man nicht mal ausreichend kennt, um es zu beurteilen.
Hat VB6 Syntax Kompabilität und VB6 Funktionen + Qt-Anbindung und unterstützt alle modernen Programmierfeatures (ähnlich wie Java): Exception handling, Klassen, Vererbungshierarchie, etc. Ist für Win, Mac und Linux verfügbar. Achja, in der nächsten Version wird es open source.
ich mag es nicht, wenn ich ein Demo runterlade und bei beiligenden Beispielen das Programm abstürzt. Ist leider nun auch bei kbasic der Fall, vorher bei Gambas und auch RealBasic. Ich glaube, die Programme sind noch nicht stabil genug.
aber Mono?
Sag mir wo Mono eine grosse Rolle spielt, das ist kein in den Dreck ziehen sondern eine berechtigte Frage.
lg
Erik
Java!
lg
Erik
lg
Erik
Es ist nicht ISO sondern ECMA.
Gruß
lg
[1]http://msdn2.microsoft.com/en-us/netframework/aa569283.aspx
lg
Erik
"Microsoft garantiert eine Lizenzierung der ECMA-Teile auf RAND-Basis (Reasonable And Non Discriminatory), das heißt gegen angemessene Lizenzgebühren und nichtdiskriminierend."
Was auch immer das bedeuten mag. Ich halte die Mono Implementierung auf jeden Fall für sehr gefährlich. Es ist nicht sichergestellt das Microsoft nicht seine Patentansprüche die es auf Teile der API usw. besitzt in ein paar Jahren geltend macht. Androhungen in diese Richtungen gab es ja schon beim Microvell Deal.
Das sollte jedem Mono Entwickler bewusst sein. Wenn .NET ein freies Framework wäre, dem sich z.B. M$ angeschlossen hätte sähe das ganze sicherlich anders aus.
Viele Grüße
Marcus
Das ist der auf den von Dir zitierten folgende Satz. Das ist halt genau das, was ich auch denke. Und selbst wenn das tatsächlich passieren sollte und MS das wider allen Verstandes durchkriegen würde, dann ist man sofort auf der sicheren Seite, wenn man Windows-Forms nicht nutzt. Das sollte in einem von Anfang an als portabel ausgelegten Projekt kein Problem sein, auch wenn die Windows-Forms stark sind.
lg
Erik
lg
Erik
Aber warum sollten sie? - mit MONO kommt Microsofts Technologie ja noch weiter unter die Leute - unter die die nicht Windows benutzen!
zum Thema ernsthafte Software mit Mono oder Mono-bindings:
f-spot, banshee, dbus, tomboy, avahi, gnome2(gtk+2,gnome-vfs2,gsf) ich könnte jetzt noch mehr bringen ... cowbell, usw aber nur weil man die software nicht benutzt heisst es nicht, dass es keine mono-software gibt!
Ist ja schliesslich ein freies Land.
Macht euch nor abhängig von M$. Echte programieren können java und c++ und schreiben wundervolle portable proramme.
Alle selber schuld
Ein Anfang, um ein echter "programieren" zu werden, wäre es, zu lernen, wie man das Wort schreibt...
Meinst Du, trotzdem haben Sie mehr Verstand als so manch einer hier.
Immer diese "Mein Handy is stärker als Dein Fax"-Posts...
Nää, nää, ihr Kindlein, ...
lg
sie wählen eine sprache auf basis der aufgabe
Einfach mal einen Blick auf die Mono-Hompage werfen und du findest dies (höchst wahrscheinlich unvollständige) Liste: http://www.mono-project.com/Software
Darunter u.a. auch ein deutsches Unternehmen: http://www.novell.com/success/volcker.html
Für kleine Applikationen vielleicht ausreichend.
Grüße
Wäre schön wenn Gambas unter Jehova auch laufen würde...
Schonmal den QT-Designer angeschaut?
Und Gambas, weil das VB 'ähnlich' ist (nicht gleich).
Natürlich kann man aucgh eine der 1xxx anderen Sprachen verwenden, trotzdem find ich es schade, das Gambas 'nur' unter http://gambas.sourceforge.net/distribution.html läuft ;-)
Ich finde die Sprache sonst eigentlich ganz nett..
Grüße
man kann mit glade ganz einfache guis zusammenklicken und diese dann ganz eichfach in vielen sprachen einbinden (c++, phyton,c#,boo, ....)
bsp:
Application.Init();
Glade.XML gxml = new Glade.XML (Filename,Mainwindow,null);
gxml.Connectall(self)
Application.run
reicht schon um ein gui anzuzeigen - müssen nurnoch die signale verbunden werden.
muss gxml.Autoconnect() sein anstatt von connectall()
ich hätte erst richtig aufwachen sollen bevor ich was schreibe
Ich bin auch der Meinung, dass es andere einfache Sprachen gibt, mit denen du mal schnell und Plattformunabhaengig programmieren kannst (z.B. Python mit Glade oder, falls es nicht schoen aussehen muss, Tcl/Tk). Ob man mit VB wirklich viel schneller ist, wage ich zu bezweifeln.
Falls du trotzdem Basic machen willst, sei dir RealBasic http://www.realbasic.com/ ans Herz gelehnt. Das ist Plattformunabhaengig und ausgereift.
Naja, ich hab mir mit BASIC als Kind selbst programmieren beigebracht, und lebe trotzdem noch. Dafür fand ich dann Pascal in der Schule abscheulich, und an der Uni hab ich dann gelernt, warum ^^.
Es gibt aber tatsächlich viele, die den Absprung nicht schaffen, sondern irgendwann auf einem Niveau hängen bleiben - vielleicht auch, weil sie konkrete Probleme lösen müssen/wollen, sich aber nicht eigentlich für Informatik interessieren. Wenn man jetzt sagt "Ha, wenn es kein BASIC gebe, würden die wahrscheinlich gar nicht programmieren, und das wäre besser so" ist man schon ein arroganter Mensch, finde ich.
Außerdem ist BASIC beileibe nicht die einzige Sprache, für die das gilt, ich denke zB an PHP, das hat die gleichen Probleme.
Gruss,
Bernd
lg
Erik
Hast du Beispiele um mir als C/C++ Programmierer die Vorteile von C# näher bringen ?
Gruss,
Bernd
lg
Erik
lg
Erik
- eine wesentlich größere Typensicherheit zur Designzeit, strengere Checks, keine impliziten Typcasts
- Reflection
- anonyme Delegates (aka "function closures")
- konsequente Interface-Implementierungs-Trennung
- Nullbare Datentypen (für bool zB: true, false, null)
- Objektinitialisierer
- LINQ (eine Syntax, mit der man SQL-ähnlich direkt im Code Objekteigenschaften abfragen, verknüpfen und filtern kann, ebenfalls typsicher)
- Erweiterung von abgeschlossenen Klassen zur Laufzeit, mittels regulärer Ausdrücke sogar auf mehrere Klassen gleichzeitig anwendbar
- ...
eher unabhängig von C# selbst, eher .NET zuzuordnen:
- Attribute
- das CIL-Interface zu anderen Programmiersprachen (ersetzt Language-Bindings komplett)
Das sind erstmal die Dinge, die mir in der kurzen Zeit spontan einfallen. Einige von ihnen sind auch in C++ prinzipiell machbar, allerdings teilweise deutlich schwerer.
lg
Erik
C# 1.x (die standardisierte Variante) ist ein besseres Java, das mit 2.0 zu einem Mischmasch aus Java, Ruby, Python und Lisp mutierte ;).
gruss
The Mono C# compiler is considered feature complete for C# 1.0 and C# 2.0 (ECMA).[1]
Das diese Features Bestandteil von 2.0 sind ist schon richtig, aber auch ohne sie gibt es noch genug andere meiner aufgezählten Features und die Schöpfungshöhe für die paar Sachen ist denkbar niedrig. ;)
Und wenn ich das hier lese, bin ich zuversichtlich, dass auch 2.0 keinen Beigeschmack besitzen wird: Im Juli 2005 übergab die ECMA die Standards und zugehörigen TRs an die ISO/IEC JTC 1.
lg
Erik
[1] http://www.mono-project.com/CSharp_Compiler
[2] http://de.wikipedia.org/wiki/C-Sharp#Standardisierung
gruss
Bevor du lachst, Stell dir mal vor alle neuen/modernen Gnome programme werden jetzt mit C# geschrieben (weil C für grosse Programme nicht taugt, wie auch schon von den Evolution entwicklern beschrieben), dann wird KDE kaputt bekommen, sprich Gnome ist wirklich der open source default desktop und dann kommen MS und Novell und wollen auf einmal Geld für Lizenzen. Vielleicht nicht direkt von Endkunden, aber bei Firmen ist das mehr als realistisch.
Es ist wichtig immer im Hinterkopf zu behalten, dass Softwarepatente keine Implementierungen sonder Grundsätzliche Ideen abdecken.
Da Java und .Net in so vielem (Ideen/Konzepte) ziemlich ähnlich sind, solltest du als Java Nutzer auch von MS Patenten Angst haben und umgekehrt genauso. Dazu kommen natürlich die ganze anderen Firmen die Patente auf bestimmte Ideen haben über die du sicher auch in Java, Mono oder jedem anderen Softwareprojekt stolpern wirst.
Die Angst von Softwarepatenten kann also berechtigt sein (je nachdem wie stark man sich davon einschüchtern lässt, sollte man evtl. das programmieren besser ganz bleiben lassen), die Gefahren sind aber bei Mono kein bisschen größer als bei jedem anderen Softwareprojekt und auch bei Java. Darüber hinaus schätze ich die Gefahr deutlich höher ein, dass dein Programm wegen irgendwelchen Softwarepatenten angegriffen wird als deine Entwicklungsumgebung.
Was wäre, wenn man ein Betriebssystem schreibt, ohne damit Geld zu verdienen? Welch gruselige Vorstellung vor diversen Jahren! Hat man sich davon abschrecken lassen als es mit Linux los ging? Ich glaube nicht.
Was wäre also, wenn die großen bösen Unternehmen kommen und irgendwo einen Riegel vorschieben? Da fängt man halt von vorne an. Open Source Projekte sterben jeden Tag. Bis dahin haben die Programme einen Nutzen gehabt.
Besser ein Programm, dass fünf Jahre lang einen Nutzen hatte, als ein Programm, dass niemand je geschrieben hätte, weil die Manpower gefehlt hat oder irgendjemand die Sachen hingeschmissen hat, weil die GNU Tools so kompliziert sind.
Und nebenbei: Wenn aufgrund der Marktstellung eines Open Source Programms heute schon jemand abkassiert, dann ist das doch wohl Trolltech. Qt wäre ohne KDE wohl kaum so bekannt und weit entwickelt. Glaubst Du wirklich, Novell würde das mit Mono irgendwie toppen? Wohl kaum.
Sicherlich kann man einwenden, die Open Source Gemeinde knickt vor Microsoft schon wieder ein. Wenn es ueberhaupt ein Einknicken ist, ist dieser Einwand aber nur die halbe Wahrheit. Naemlich: Zugleich beweist die Open Source Gemeinde, dass sie im Gegensatz zu Microsoft sehr wohl zu einer Interoperabilitaet in der Lage ist und auch diese umsetzt. Dieses ohne viel Getoese und TamTam, waehrend Microsoft schon seit Jahren Interoperabilitaet verspricht, aber m.E. nie durchgesetzt hat.
Linux könnte so vielleicht auch ein paar eingefleischte M$ Benutzer überzeugen für Linux zu schreiben ...
... denn einfach zu denken, dass man einmal ein Code schreiben kann und überall verwenden gibt es nie !!
Es gibt zu viele Abhängigkeiten (C:\Dokumente und Einstellungen\Benutzer - \home\Benutzer, ...)
Die VBasic-Programme, die ich kenne, sind irgendwelche schnellen Hacks. Das will keiner unter Linux haben.
> ...dass man einmal ein Code schreiben kann und überall verwenden gibt es nie !!
Das macht Sun mit Java schon ganz gut.
Natürlich sollte man nicht auf feste Pfade zugreifen, sondern nur die Umgebungsvariablen abfragen (für /tmp, $HOME usw.).
Dazu stellt Java schon die passenden APIs bereit (wie auch Mono oder Qt).
Für hardwarenahe Programme gilt das natürlich nicht - das Thema ist hier aber auch VBasic
Doch, die, die sie einsetzen und vielleicht gern migrieren würden. Niemand redet davon, dass Mono-VB die Ideallösung ist, aber es ist eine. ;)
lg
Erik
Wollen oder haben müssen sind halt zwei Schwerter
Schließe nicht von Dir auf Andere.
Das was ich an VBasic-Programmen gesehen habe, ist mit einem Shellscript und XDialog schneller implementiert.
Wer aber für ein paar User-Abfragen eine IDE samt Mono benutzen möchte...
Natürlich sieht Mono auf den ersten Blick überdimensioniert aus. Aber was macht eine 20MB VM schon aus, wenn heute Desktop-Rechner mit 1GB RAM bei Aldi über die Ladentheke gehen? Wie viele Leute wären in der Lage, Deine esoterischen Shellscripte mit XDialog zu pflegen, wenn Du vom Bus überfahren wirst? Hättest Du Lust, mehrere Hundert dieser Scripte nachzubessern, weil XDialog nicht mehr gepflegt wird (von einem kurzen Blick auf die Homepage zu schließen, ist der Zeitpunkt nicht mehr fern).
Gerade wenn Quick'n'Dirty Lösungen benötigt werden, braucht man eine Plattform, wie weit verbreitet ist und die viele Leute lernen können. Ein ganz großer Pfeiler der Desktop-Dominanz von Microsoft besteht aus unzähligen mittelgroßen VB-Anwendungen für jedes nur erdenkliches Einsatzgebiet. Was hat denn wohl das Internet groß gemacht? Auch hier waren es leicht zu lernende Sprachen wie etwa PHP, nicht irgendwelche esoterischen Gebilde, die von den Studierten bevorzugt werden.
Ah männo... Ich hab nun mal meine eigenen Erfahrungen - und die prägen meine liberale Subjektivität ;-)
> Wie viele Leute wären in der Lage, Deine esoterischen Shellscripte mit XDialog zu pflegen, wenn Du vom Bus überfahren wirst?
Alle, die Shell "programmieren" können? Warum ist ein sh-Skript esotherischer als VBasic-Code?
> Hättest Du Lust, mehrere Hundert dieser Scripte nachzubessern, weil XDialog nicht mehr gepflegt wird
Wie ein Poster hier erwähnt hat, hat VBasic.net mit dem Vorgänger nichts zu tun. Hättest Du Lust die vielen VBasic6 Skripte... Nicht mal MS-Tools sind eine Konstante bis in die Ewigkeit.
> Gerade wenn Quick'n'Dirty Lösungen benötigt werden, braucht man eine Plattform, wie weit verbreitet ist und die viele Leute lernen können.
Genau dafür gibts die Shell inkl. awk, perl, ...
> Ein ganz großer Pfeiler der Desktop-Dominanz von Microsoft besteht aus unzähligen mittelgroßen VB-Anwendungen
Die (eingebettet in Access, Excel) von Office-Version zu Office-Version angepasst werden dürfen.
> Was hat denn wohl das Internet groß gemacht? Auch hier waren es leicht zu lernende Sprachen wie etwa PHP...
Hmm, eigentlich sind immer noch die Meisten CGIs Perl-Skripte - also Esotherik pur
Grundsätzlich ist die Frage, wenn sie so generell gestellt wird, müßig. Da gibt es keine gute Antwort drauf.
Ausschlaggebend ist die Sicht eines Windows-Admins, der Linux-Desktops einsetzten will, und die seines Arbeitgebers. Für diese Menschen ist Shellscript esoterisch und nur das bestimmt, ob man VBasic oder VB.Net unter Linux braucht.
Und ob VBasic nun mit VB.NET etwas zu tun hat oder nicht, ist für unsere Diskussion nicht relevant. Wichtig ist allein, ob die Existenz dieser Sprachen den Einstieg für einen Windows-Admin erleichtert. Wenn es niemand braucht, dann wird es sowieso in der Versenkung verschwinden.
Die konstante Nachfrage nach Tools wie Gambas oder auch RealBasic lassen allerdings vermuten, dass dem nicht so ist. Vielleicht wird es auch Nachfrage nach VB.NET geben.
Ein schlechtes Beispiel. Das kann wunderbar abstrahieren und hinter einer plattformunabhaengigen API verstecken.
Möglicherweise gibt es ja hier die Verbindungen. Die Idee etwas zu hypen und dann den Leuten vor die Füsse zu schmeissen unter dem Motto, vielleicht finden wir jemanden, der die Technologiestudie zuende entwickelt, das ist keine sonderlich nachhaltige Methode aber sie funktioniert wieder und wieder.
Bei Mono fragt auch kein Mensch wie kompatibel es zu .NET ist, und wenn man es fragt, wird man auf #gtk verwiesen. Noch schlimmer, man kann gar nicht erkennen, was kompatibel ist und was eben nicht.
Wenn es schon Basic sein muss, dann dürften wohl Gambas oder das proprietäre Kbasic die erste Wahl sein. Hier ist eine gewisse Reife eingetreten. Ich vermute Novell hat einfach die Ergebnisse der Arbeit an VB-OO.org Integration in Mono eingepflegt...
Vielleicht interessiert es einfach keinen, der einfach mit Mono seine Apps schreiben will?
Mich interessiert z.B. auch nicht die Unterschiede zwischen den gnnu-c-libs und den ms-c-libs und genauso sind mir die Unterschiede zwischen Mono und .Net egal, für mich ist Mono eine eigenständige Platform.
Interessanter Ansatz mit dem auch gleich alle mögliche Kompatibilitäten zwischen .NET und mono als unbedeutend markiert werden. Wie traurig, dass die Macher und Vermarkter vor allem mit dem .NET Kompatibilitätsargument werben.
Alle .NET-Sprachen ähneln sich sehr stark, dies sieht man an den folgenden Hello-World-Beispielen:
QuickBASIC:
PRINT "Hello World"
VB.NET:
Public Shared Sub Main()
System.Console.WriteLine("Hello World")
End Sub
C#:
public static void Main() {
System.Console.WriteLine("Hello, world!");
}
Fazit: Da kann man gleich C# lernen.
lg
Erik
Genauso ist das. VB.Net ist letztlich für für die alten VBasic Programmierer produziert worden, die nicht mehr in der Lage waren (und es nie waren) sich in eine weitere Programmiersprache (wie z.b. C#) einzuarbeiten.
Der Unterschied zwischen C# und VB.Net ist auch eher kultureller Art. Hier ein sehr guter Artikel, der einem klarmachen kann, was VB.Net eigentlich ist:
http://www.codeproject.com/dotnet/CSharpVersusVB.asp
Zitat:
The truth is that while there are some exceptional VB teams that write exceptional quality code, this is the exception, not the rule. Most VB teams have trouble writing high quality code, and this trait is ingrained deeply into their culture by environmental factors beyond their control, and continues to be propagated by the VB syntax and semantics in Microsoft .NET.
Desweiteren ist zum Steigbügel-Argument anzumerken, das momentan tatsächlich ein Schritt von Mono auf die Windows-Programmierer-Kultur zugemacht wird. Durchaus aber auch andersherum.
Im DotNet-magazin hat z.b. der Windows-Programmier-Guru Ralph Westphal einer seiner DotNetTV-Folgen (Auf Magazin-CD verfügbar) mit Miguel abgedreht. Hauptinhalt war die Vorführung, wie portabel das tolle Mono doch ist. Damit das auch auch ein mit 2stelligen IQ gesegneter Windows-Programmierer problemlos ausprobieren kann, gibt es das VMWare-Image mit vorinstalliertem Mono zum Download:
http://www.mono-project.com/news/archive/2006/Jul-28.html
Bei der Gelegenheit gewöhnt man die neue Kundschaft auch gleich an die richtige Linux-Distro
Aehm ja... Ich behaupte mal, dass du unrecht hast, und gebe dir ein anderes Beispiel: Eiffel .Net:
class
HELLO
creation
make
feature -- Creation procedure
make is
-- The creation procedure
do
io.put_string (Hello_world_message)
end
feature -- Constants
Hello_world_message: STRING is "Hello World!%N"
-- The message
end -- Class
In wie fern ist das jetzt sooo aehnlich zu anderen .Net-Sprachen?
P.S.: Wieso kann ich da keine Tabs einfuegen? Sieht ja schlimm aus...
"Plattformunabhaengig", "nehmt java", "gibts doch schon", "ms ist boese" ...
Eine kleine erklaerung was der unterschied zwischen java und .net gefaellig? Wahrscheinlich nicht, aber noetig.
java ist "eine sprache fuer viele Plattformen"
.net ist "viele Sprachen fuer eine Plattform"
.net hat sich in "viele sprachen fuer viele platformen" geaendert. soll heissen: richtig programmiert kann ich mein .net-programm in php schreiben, die oberflaeche davon in vb, und dann dieses Programm auf vielen plattformen laufen lassen. und dabei muss ich nichtmal ein einziges MS produkt verwenden.
und nun viel spass beim auseinandernehmen ...
lg
Erik
java ist die Plattform und du kannst deren eigene Sprache verwenden oder eben eine andere zb. Python um am Ende auf Java-bytecode zu kommen.
Warum das bei Java nicht so bekannt ist und auch bisher kaum gemacht wurde liegt wohl eher am Qualitätsunterschied des Marketing zwischen MS und Sun.
Das spiegelt nicht den Geist von freier Software wieder.
Es gibt für ALLES auch eine OSS-Alternative, meistens die bessere.
Wer gute Produkte ablehnt, nur weil sie sich an eine API anlehnen, die (obwohl normiert und in ihren essentiellen Komponenten nachweislich nicht patentbelastet) exakt deshalb abgelehnt wird, weil sie irgendwie irgendwann mal von dem bösen Microsoft initiiert worden ist, sollte sich überlegen, ob er den Sinn und Zweck der freien Software, nämlich den gesellschaftlichen Nutzwert zu mehren, wirklich verstanden hat.
> Es gibt für ALLES auch eine OSS-Alternative
Nenne mir bitte die OSS-Alternative zu Outlook für die Datenübertragung per RPC over https, ich wäre gespannt, das suche ich nämlich wirklich. Oder eine 100%ig brauchbare Alternative zu MS Office, wenn man darauf angewiesen ist, eben von jener Office Suite erstellte Dokumente zur Weiterbearbeitung zu öffnen.
Es gibt Anforderungen in der IT, die augenblicklich nicht mit OSS zu erfüllen sind, das kann man drehen und wenden wie man will. Man kann und muss natürlich beim Neuentwurf von Lösungen entsprechend agieren, um den reibungslosen Ablauf über OSS zu gewährleisten, klar. Allerdings ist in der realen Welt nicht einfach mal alles "umprojektierbar" bis es so hinhaut, wie man sich das persönlich vorstellt. Das gilt besonders in der Softwareentwicklung. Viel Spaß dabei, Deinem neuen Arbeitgeber zu sagen, dass sein jahrelang gewachsenes .NET-Projekt unbedingt in Java oder C++ neugeschrieben werden muss, obwohl es Mono gibt, obwohl die Interface-Language, die Sprachen selbst, die Compiler und die Mechanismen zertifiziert und nachweislich patentfrei sind, nur weil Leute wie Du diffuse Ängste besitzen.
lg
Erik
P.S.: Hat die URL irgendwas zu bedeuten? Nen Beitrag zur Sache habe ich da nicht gefunden, vielleicht aber auch nur überlesen?
Genauso wie die, die GNU brauchen, da dass ja nur ein "billiger abklatsch" von Unix ist oder die die Linux brauchen was ja nur ein "billiger abklatsch" eines Unix-Kernel ist.
Ziel Freier Software ist es dem Anwender zu ermöglichen seinen PC in Freiheit zu benutzen. Dazu gehört natürlich, dass man für proprietäre Lösungen freie Alternativen schafft (Unix->GNU, Unix Kernel -> Linux, proprietäre C Übersetzer/libs -> gcc+glibc, .Net -> Mono/dotGNU,...)
>Es gibt für ALLES auch eine OSS-Alternative, meistens die bessere.
Richtig, und die freie Alternative zu .Net heißt Mono oder dotGNU!
Ich wuerde verneinen, deshalb bevorzuge ich Qt + kdelibs.
Damit werden indirekt unfreie APIs und zweifelhafte Geschäftspraktiken gestärkt.
Wenn nicht ein CUT gemacht wird, dann wird die gleiche Scheisse mit anderer Verpackung weiter genutzt und freie Schnittstellen werden nicht mehr notwendig sein.
lg
Erik
Ist für Win, Mac und Linux verfügbar.
Achja, in der nächsten Version wird es open source.
http://www.kbasic.com/