Ich hätte ja nie gedacht, dass ich das mal sagen würde...



  • http://www.heise.de/newsticker/meldung/114130
    ... aber gerade in Bezug auf VS und .NET wünsche ich mir manchmal
    Windows zurück. Eine schöne Auswahl an Programmiersprachen mit
    ausgereiften APIs, die dank der hohen Verbreitung des Frameworks auf
    allen modernen Microsoft-Systemen zum Laufen gebracht werden können.

    Im Ernst: Was haben Linux oder Mac OS dem in Sachen schneller und
    eleganter Anwendungsentwicklung entgegenzusetzen?
    Java ist für den Server vielleicht ganz OK, auf dem Client aber
    absolut träge und passt sich bisher kaum in die native Oberfläche
    ein. Mono taugt ebenfalls nur auf dem Server richtig und wird auf
    Lebenszeit der "kleine Bruder" von .NET bleiben.
    Von Apple-Systemen will ich gar nicht sprechen, dort ist Java
    inzwischen unerwünscht und wird wenn dann auf dem Server
    vorangetrieben (Stichwort WebObjects), auf dem Client heißt es Cocoa.
    Und das fast zwingend mit Objective-C, brauchbare Alternativen zeigt
    Apple da immer weniger auf.

    Was sonst noch übrig bleibt, sind auch eher Notlösungen. Wer mit
    C/C++ warm wird schnappt sich ein Framework wie GTK/QT/wxWidgets, für
    Pascal kann man auf Lazarus hoffen. Aber wie gesagt: Mit diesen
    Sprachen kann sich eben nicht jedermann anfreunden und die
    Bibliotheken haben auch alle kleine oder große Macken.

    Auf bessere Non-Microsoft-Frameworks wartend
    t1m1



  • Was haben Linux oder Mac OS dem in Sachen schneller und
    eleganter Anwendungsentwicklung entgegenzusetzen?

    bei linux ist meiner meinung nach auch nicht so der große wunsch nach "schneller und eleganter anwendungsentwicklung", vor allem clientseitig, da - verglichen zu windows. die GUI-lastigen programm für den (DAU-)endanwender werden eben größtenteils immer noch unter windows geschrieben, wo sie ja auch verwendet werden - da führt momentan(!) kein weg vorbei.

    ich denke aber, dass vor allem linux auch mit dem sogenannten "geek-syndrom" kämpft. ich zumindest kenne genug sogenannte "experten", die in wirklichkeit einfach nur vollidioten sind, die lieber mit reinem C oder C++ ohne nennenswerte frameworks, am besten auch noch im VI, rumfrickeln, anstatt performante IDEs zu nehmen -> "das einzig wahre", "brauche keine klickibunti oberfläche", "wer braucht schon eine IDE", "reines, STANDARDISIERTES!!!!! C statt doofe frameworks!!!!" etc. viele open-source entwickler sind eben in diese sparte einzuordnen - ich will jetzt nicht flamen oder so 😉



  • t1m1 schrieb:

    Von Apple-Systemen will ich gar nicht sprechen, dort ist Java
    inzwischen unerwünscht und wird wenn dann auf dem Server
    vorangetrieben (Stichwort WebObjects), auf dem Client heißt es Cocoa.
    Und das fast zwingend mit Objective-C, brauchbare Alternativen zeigt
    Apple da immer weniger auf.

    CoreXXX
    Das ist durchaus eine API die man auch mit .NET vergleichen kann - wobei .NET natürlich mehr bietet, aber die Kernkomponenten sind mit Core* bei Apple ganz gut abgedeckt.



  • t1m1 schrieb:

    Java ist für den Server vielleicht ganz OK, auf dem Client aber
    absolut träge und passt sich bisher kaum in die native Oberfläche
    ein.

    Das ist falsch.
    Du hast in Java primär die Auswahl zwischen zwei GUI-Libraries: (i) Swing und (ii) SWT. Beide sind (solange man rechenintensiven Operationen nebenläufig und nicht im GUI-Thread ausführt) absolut nicht träge. Und beide passen sich sehr gut in die native Oberfläche des OS ein, vor allem im Fall von SWT, denn dort werden die nativen GUI-Komponenten gewrappt. Der visuelle Unterschied ist demnach gleich null.

    Die Swing-GUI meines derzeitigen Projektes ist weit weniger träge als es z.B. MS Outlook oder Apples iTunes auf selbigem Rechner ist. 🤡



  • t1m1 schrieb:

    Im Ernst: Was haben Linux oder Mac OS dem in Sachen schneller und
    eleganter Anwendungsentwicklung entgegenzusetzen?

    Python & Ruby. Fuer beide gibts angenehme GUI-Libs.

    Java ist für den Server vielleicht ganz OK, auf dem Client aber
    absolut träge und passt sich bisher kaum in die native Oberfläche
    ein.

    wurde bereits kommentiert, Java ist da durchaus eine Alternative.

    Wer mit C/C++ warm wird schnappt sich ein Framework wie GTK/QT/wxWidgets [...] Mit diesen Sprachen kann sich eben nicht jedermann anfreunden

    mit .NET kann sich auch nicht jedermann anfreunden 🙄



  • byto schrieb:

    t1m1 schrieb:

    Java ist für den Server vielleicht ganz OK, auf dem Client aber
    absolut träge und passt sich bisher kaum in die native Oberfläche
    ein.

    Das ist falsch.
    Du hast in Java primär die Auswahl zwischen zwei GUI-Libraries: (i) Swing und (ii) SWT. Beide sind (solange man rechenintensiven Operationen nebenläufig und nicht im GUI-Thread ausführt) absolut nicht träge. Und beide passen sich sehr gut in die native Oberfläche des OS ein, vor allem im Fall von SWT, denn dort werden die nativen GUI-Komponenten gewrappt. Der visuelle Unterschied ist demnach gleich null.

    Die Swing-GUI meines derzeitigen Projektes ist weit weniger träge als es z.B. MS Outlook oder Apples iTunes auf selbigem Rechner ist. 🤡

    Es gibt doch noch QTJambi http://trolltech.com/products/qt/features/language-support/java

    Ausserdem bietet Linux doch weitaus mehr Sprachen und Bibliotheken als man in Windows vorfindet. Auf jeder Linux-Box hast du z.B. Bash, Ruby, Python, C, C++. In Windows musst du erst alles installieren. (Vielleicht habe ich den OP auch Falsch verstanden).

    ûnregistrierter schrieb:

    ich denke aber, dass vor allem linux auch mit dem sogenannten "geek-syndrom" kämpft.

    Keine Ahnung welche Leute du kennst, aber Linux kaepft eigentlich nur mit dem Henne-Ei-Problem: Da Linux wenige benutzen, schreibt man fuer Linux wenige Anwendungen, da es fuer Linux wenige Anwendungen gibt, benutzen wenige Linux.



  • DEvent schrieb:

    Ausserdem bietet Linux doch weitaus mehr Sprachen und Bibliotheken als man in Windows vorfindet. Auf jeder Linux-Box hast du z.B. Bash, Ruby, Python, C, C++. In Windows musst du erst alles installieren. (Vielleicht habe ich den OP auch Falsch verstanden).

    Hö?
    Du hast C++ in deinem Linux? Also meinen Compiler musste ich erst einmal installieren, so wie unter Windows auch.
    So wie es die Linux-API gibt so auch die Windows-API.
    Und ansonsten hat es doch mit dem System nichts zu tun, es gibt z.B. Perl auch für Windows (ActivePerl).

    NET ist lediglich eine weiter entwickelte und abstrahierte Form der Windows-API. Ich glaube seit Vista wird das Framework auch automatisch mit installiert oder ist integriert, habe kein Vista. Unter XP muss man es auf jeden Fall installieren.
    Statisches Linken ist zwar nicht mehr möglich, aber wenn NET eh bald überall drauf ist braucht man sich auch keine Sorgen zu machen das etwas nicht läuft.

    Und Mono ist eine Portierung von NET. Wobei ich sagen muss das ich nicht verstehe warum man von NET so begeistert ist.
    Ja, man braucht nicht mehr viel um leistungsfähige Programm mit GUI zu schreiben, aber dafür ist mein System mit NET überfrachtet auch wenn ich es nicht brauche.
    Derzeit (XP) habe ich es nicht installiert.

    Windows ist Windows, aber Linux ist nicht gleich Linux. Kompiliere ein Programm mit QT brauche ich dessen Libs, für GTK, für ..... ganz viele.

    Und Programmiersprachen gibt gibt es fast jede für jedes System.

    Wo ist das Problem.



  • Stimmt so nicht ganz, unter Linux hat man meist die grundlegenden Dinge wie die GCC, Bash, Perl und evt. Python bereits installiert, falls nicht, dann ist das im Regelfall mit ein zwei Klicks bzw. einem kleinen Kommando in der Konsole erledigt. Anschließend ist die entsprechende Software voll einsatzfähig, es sind alle Umgebungsvariablen gesetzt, Konfigurationsdateien etc.

    Unter Windows muss ich mir erst einmal einen Installer herunterladen, mich durch das Installationsmenü kämpfen und nur allzu häufig die Umgebungsvariablen selbst setzen, wenn ich diesen Komfort nutzen möchte.

    Man kann Linux vieles nachsagen, aber wenn es um Softwareinstallation geht, dann ist es Windows meilenweit voraus.

    Der Punkt wo sich die Geister scheiden ist wohl der wenn es zu einem Problem kommt, dann heißt es von der einen Seite "Linux ist doof und kompliziert" und von der anderen "Linux ist toll, alle Konfigurationsdateien sind offen zugänglich das System macht es einem leicht wirklich nachzuforschen wie, wo, was und wann es schiefgeht".

    Ich entwickle gerne unter Linux, Linux ist einfach besser zum Entwickeln ausgelegt. Unter Windows ist es ok, wenn man eine IDE nutzt, aber sobald man etwas drumherum machen möchte wird es schon kompliziert. Die starke GUI-zentrierung und das (imho) schlechtere Dateisystem machen es einem nicht gerade leicht mal eben was zu automatisieren.



  • Ich kann den Thread-Ersteller voll und ganz verstehen. Für mich wirkt der ganze Software-Erstellungs-Prozess in Windows durch das glorreiche Visual Studio (VS hat natürlich auch seine Macken) wie aus einem Guss. Klar, ich muss es erst runterladen und installieren, das ist aber wohl Kicki-Fatz.

    Mit dem VS hab ich alles in einem, unter Linux hab ich meine Probleme. Sicherlich, in Windows bin ich wesentlich geübter und an VS gewöhnt, trotzdem kann ich mich weder mit Eclipse noch mit Netbeans anfreunden. Und wenn ich auf der "Basis" programmiere, also mit Shell, Makefiles und was dazugehört, ist mir das zuviel drumherum, ich will einfach drauflos-coden und mit einem Knopfdruck soll das Ding kompilieren und starten.

    Ich persönlich kann nur von der Entwicklung von C++ und C# sprechen, aber wie gesagt: Unter Windows mit dem VS komme ich wesentlich schneller zu einem Ergebnis als unter Linux.

    Dazu kommen noch diese ganzen "Rand"-Sachen, z.B. finde ich die MSDN als Doku erheblich besser als die man-pages. Wenn ich wegen einem Problemchen mal Google frage, hat es für mich für Linux nur lauter Mailinglisten-Einträge (ich hasse es, Mailinglisten durchzustöbern), während ich mich bei Windows-spezifischen Problemen in übersichtlichen Foren wiederfinde. Und noch dutzende solcher Kleinigkeiten, die in der Summe aber viel Gewicht haben.

    Tippgeber schrieb:

    Unter Windows ist es ok, wenn man eine IDE nutzt, aber sobald man etwas drumherum machen möchte wird es schon kompliziert.

    Was meinst du denn mit drumherum?

    Tippgeber schrieb:

    [...] das (imho) schlechtere Dateisystem machen es einem nicht gerade leicht mal eben was zu automatisieren.

    Was hat denn das Dateisystem damit zu tun?



  • Ich kann Badestrand da nur zustimmen. Vor zwei Jahren habe ich mal eine Kommandozeilen-Anwendung nach Linux übertragen. Danach wusste ich, dass dies das erste und letzte Mal gewesen ist. Wenn man VS gewohnt ist, dann ist Entwickeln unter Linux echt ein Krampf.



  • Und wenn man Eclipse gewohnt ist, dann macht es keinen Unterschied. 🤡




Anmelden zum Antworten