user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Ich habe mir C# nur mal kurz angeschaut, und dann geschaut, wie gut ich ein Projekt von Windows unter Linux nutzen kann. Ähnlich wie Lunar hat mich die Existenz von .exe-Dateien auf Linux nachhaltig verstört. Etwa im Jahr 2000 bin ich auf Java eingestiegen, weil ich befürchtet habe, daß mögliche Arbeitgeber/Auftraggeber/Kunden eine Lösung brauchen, die unter Windows läuft; ich aber nicht unter Windows entwickeln will. Damals gab es natürlich noch kein C#, aber auch heute ist Mono ja ein Projekt, daß C# hinterherlaufen muß, während Sun die Java-Unterstützung für Linux immer gleichberechtigt betrieben hat. Den Wechsel zu Java habe ich noch nie bereut. Anfangs war es auch so, daß man unter Java Swing benutzt hat, und fertig (nicht ganz am Anfang, als es awt gab - ich weiß). Unter C/C++ ist mir die GUI-Programmierung nie gelungen - einmal waren meine Bücher in dem Bereich Mist, und dann gab es diese 'far PASCAL' und 'dword' Elemente allerorten, die ich nirgends erklärt fand, und die Win-Api änderte sich auch alle Nase lang - als ich dann auf Linux einstieg hieß es: nimm QT, nimm GTK, ... - es war sehr unübersichtlich und offenbar so, daß man etwas lernt, und im nächsten Projekt muß man wieder ein anderes API lernen - nicht sehr einladend. Inzw. ist es bei Java zwar nicht genauso - es gibt eine deutliche Vormacht von Swing - aber mit swt gibt es eine weitere GUI-API, und QT-Bindings für Java gibt es jetzt auch. Leidere kam der Entschluß von SUN, Java unter die GPL zu stellen, erst kürzlich, so daß sich keine rechte Javastimmung im Linux-Desktop-Lager breitgemacht hat, während auf dem Server Java einen Siegeszug feierte. Die Desktopsysteme sind nach wie vor die Domäne von C und C++. Eine eindeutige Antwort gibt es sicher nicht, aber in der Liste der Empfehlungen sollte Java m.E. nicht fehlen. 😉 Gäbe es nicht mehrere Implementierungen, mit zerfaserter API-Landschaft, würde ich Smalltalk aufgrund seiner Eleganz auch aufführen.
|
niklas-KIM
Anmeldungsdatum: 11. Februar 2007
Beiträge: 139
Wohnort: Stuttgart
|
Ich hab selber nur mal Scherzweise C# benutzt um den Mono C# 2.0 Compiler mal auszuprobieren, aber es ist vielleicht schon erwähnenswert, das die meisten von euch auch unter Linux Programme haben die in C# geschrieben sind, Tomboy und F-Spot sind ja Standard unetr Ubuntu und auch Beagle läuft auf Mono. Und mit Monodevelop gibt es auch eine Sharpdevelop basierte IDE für C# unetr Linux.
|
Apollon
Anmeldungsdatum: 27. Oktober 2004
Beiträge: 724
Wohnort: Darmstadt
|
Lunar hat geschrieben: D ist wirklich interessant. Es verbindet die Schnelligkeit und Eleganz von C mit Objektorientierung, macht also im Prinzip das, was bei C++ eigentlich komplett misslungen ist. Die Sprache hat es imho verdient, dass sie bei Entwicklern Anklang findet.
[ ] Du hast Ahnung
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Apollon hat geschrieben: Lunar hat geschrieben: D ist wirklich interessant. Es verbindet die Schnelligkeit und Eleganz von C mit Objektorientierung, macht also im Prinzip das, was bei C++ eigentlich komplett misslungen ist. Die Sprache hat es imho verdient, dass sie bei Entwicklern Anklang findet.
[ ] Du hast Ahnung
[x] Das darfst du erläutern.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Lunar hat geschrieben:
[x] Das darfst du erläutern.
Das interessiert mich [ ] auch [x] weniger
|
Apollon
Anmeldungsdatum: 27. Oktober 2004
Beiträge: 724
Wohnort: Darmstadt
|
Lunar hat geschrieben: Apollon hat geschrieben: Lunar hat geschrieben: D ist wirklich interessant. Es verbindet die Schnelligkeit und Eleganz von C mit Objektorientierung, macht also im Prinzip das, was bei C++ eigentlich komplett misslungen ist. Die Sprache hat es imho verdient, dass sie bei Entwicklern Anklang findet.
[ ] Du hast Ahnung
[x] Das darfst du erläutern.
Zunaechst einmal ist da die Schnelligkeit. Wie schnell kann denn eine Programmiersprache werden? 238 km/h? 463 km/h? Wie schnell sind denn C und D bzw. was meinst Du mit "Schnelligkeit"? Die Ausfuehrungszeit der Kompilate? Die Kompillierzeit? Den Entwicklungsprozess oder gar die Installation der Compiler? Was die "Eleganz" betrifft, will ich mich gar nicht zu auessern. Eleganz war, ist und bleibt Geschmackssache, genau wie Eleganz eine Nebensaechlichkeit ist. Insbesondere bei Programmiersprachen. Aber all' diese Nullaussagen stoeren mich nicht im Geringsten, angesichts deiner, von dir unbegruendeter, Kritik an C++. Kannst Du also bitte es etwas genauer ausfuehren, was C++ denn nun misslungen sei. Oder kannst Du es nicht? user unknown hat geschrieben: Lunar hat geschrieben:
[x] Das darfst du erläutern.
Das interessiert mich [ ] auch [x] weniger
Weniger ist nicht wenig genug. Es steht dir aber frei, meine Postings zu ueberlesen.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Das geht aber off-topic - bitte in einem eigenen Thread bearbeiten: http://forum.ubuntuusers.de/viewtopic.php?p=787853#787853
|
diarrhoe
Anmeldungsdatum: 24. Juni 2005
Beiträge: Zähle...
Wohnort: Berlin
|
Um nochmal was zu Ruby on Rails, Python usw. beizutragen: Für die, die bereits PHP können drängt sich Symfony gerade zu auf. Hat sogar einige Vorteile gegenüber Ruby on Rails, z. B. kann man die "PHP-Namen" der Datenbanken von vornherein selbst definieren (und nicht diese schreckliche Pluralregelung..). Python und seine Frameworks kenne ich nur aus der Theorie.
|
blackbird
Anmeldungsdatum: 19. November 2004
Beiträge: 3396
Wohnort: Hermagor, Kärnten - Österreich
|
Dann muss ich mich jetzt als C# Befürworter aussprechen 😀 Ich find das Ding sehr genial. Bzw die Ganze Mono Entwicklung überhaupt. Wo das Problem mit der exe Datei ist versteh ich jetzt auch nicht, benennt sie halt in .csc um 🙄 Ich denke jede Distribution, die GNOME in Zukunft mitbringt, wird auch Mono mitbringen, zu viele Anwendungen werden momentan damit programmiert.
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
blackbird hat geschrieben: Dann muss ich mich jetzt als C# Befürworter aussprechen 😀 Ich find das Ding sehr genial. Bzw die Ganze Mono Entwicklung überhaupt.
Darf man fragen warum? Versteh mich nicht falsch, C# ist keine schlechte Sprache. Trotzdem ist sie statisch typisiert, und enthält dieses ganze unnötige Klammern- und Semikolonzeugs 😉
|
mythos
Anmeldungsdatum: 14. Juli 2006
Beiträge: 1080
|
oder wieso sollte man c# java vorziehen? java hat die selben vorteile, wie c# und ist nachweislich schneller (die gui holt auf, aber der rest IST schneller). am jmf muss noch gefeilt werden, das gebe ich zu. aber ansonsten ist es eine sprache für alle lebenslagen. mfg mythos
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
mythos hat geschrieben: oder wieso sollte man c# java vorziehen? java hat die selben vorteile, wie c# und ist nachweislich schneller (die gui holt auf, aber der rest IST schneller).
Das darfst du gerne mal beweisen. Ansonsten wäre noch zu erwähnen, dass für Java kein vernünftiges Gnome-Binding existiert, und man relativ schnell im Regen steht, wenn man Gnome-Anwendungen schreiben soll. Mono dagegen hat bereits eine umfangreiche Klassenbibliothek und gute Gnome-Bindings. mythos hat geschrieben: am jmf muss noch gefeilt werden, das gebe ich zu. aber ansonsten ist es eine sprache für alle lebenslagen.
jmf?
|
jklö
Anmeldungsdatum: 22. Mai 2007
Beiträge: 102
|
mythos hat geschrieben: oder wieso sollte man c# java vorziehen? java hat die selben vorteile, wie c# und ist nachweislich schneller (die gui holt auf, aber der rest IST schneller).
c# hat die "mächtigere" Syntax: Es gibt zum Beispiel Delegates und Events. In Java gibt es das nicht, was zur Folge hat, dass zum Beispiel das Abfangen von Gui-Events etwas unschön gelöst ist. Sowas wie "yield return" gibts auch nicht in Java (zumindest kenne ich nichts vergleichbares). Auf der anderen Seite muss ich auch sagen, dass der Minimalismus von Java auch seine Reize hat. C# scheint besser in Linux integriert zu sein: Die Gnome/gtk-Bindings für C# sind besser als die für Java (zumindest habe ich das gelesen - ich muss zugeben, ich habe noch nicht wirklich viel gemacht). Generell sehe ich öfters C#-Bindings als Java-Bindings. Also zumindest wenn ich mir nur die Sprachen anschaue, dann hat C# bei mir im Moment die Nase vorn ... wenn ich mir dann aber noch das ganze "drum herum" anschaue, dann sieht die ganze Sache halt schon wieder ganz anders aus: - Es gibt keine wirklich gute C#/Mono-IDE für Linux, deswegen taugt es nicht wirklich für die Linux-Entwicklung - Die ganze Klassenbibliothek von MS (Windows Forms, ADO.net, etc) finde ich einfach nur schlecht, deswegen ziehe ich auch für Windows-/MultiPlatform-Entwicklung Java vor - Die rechtliche Situation von Mono ist immer noch etwas dubios ... man liest immer wieder was von irgendwelchen MS-Patenten
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
jklö hat geschrieben: mythos hat geschrieben: oder wieso sollte man c# java vorziehen? java hat die selben vorteile, wie c# und ist nachweislich schneller (die gui holt auf, aber der rest IST schneller).
- Es gibt keine wirklich gute C#/Mono-IDE für Linux, deswegen taugt es nicht wirklich für die Linux-Entwicklung
Mmmh, ist MonoDevelop immer noch so schlecht? Obwohl es im Bezug auf emacs auch düster aussieht. Der C#-Mode scheint schon länger ohne Maintainer zu sein. JDE ist da doch deutlich besser, nach allem was man hört. jklö hat geschrieben: - Die rechtliche Situation von Mono ist immer noch etwas dubios ... man liest immer wieder was von irgendwelchen MS-Patenten
Die beziehen sich aber nur auf Technologien wie ASP.net, die unter Linux insbesondere im Bezug auf Gnome bedeutungslos sind. Der Mono-Kern ist nicht patent-belastet.
|
jklö
Anmeldungsdatum: 22. Mai 2007
Beiträge: 102
|
Lunar hat geschrieben: Mmmh, ist MonoDevelop immer noch so schlecht? Obwohl es im Bezug auf emacs auch düster aussieht.
Zumindest wenn man es mit Visual Studio oder Eclipse vergleicht. Ich hab mir MonoDevelop bis jetzt nur einmal kurz angeschaut. Was mir spontan gehfelt hat, war: - Refactoring (also die Möglichkeit, Variablen umzubenennen) - Autovervollständigung scheint nur teilweise zu gehen Lunar hat geschrieben:
Die beziehen sich aber nur auf Technologien wie ASP.net, die unter Linux insbesondere im Bezug auf Gnome bedeutungslos sind. Der Mono-Kern ist nicht patent-belastet.
Ich hab auch mal etwas gelesen, dass es auf Teile der Sprache C# Patente gibt. Das wäre dann sehr wohl eine Einschränkung. Aber wie gesagt: ich weiß da nichts genaues. Kann durchaus sein, dass das alles bloß Gerüchte sind...
|