mit welcher sprache programmieren



  • Mal abseits von Silverlight und M$-Bashing.. 😃

    Ich persönlich hab auch eine zeitlang mit VB 6 programmiert und danach eine Weile mit VB.net. Ich kann mich irgendwie aber nicht damit anfreunden. Es ist mir einfach zu "umständlich" damit zu programmieren. Klar, für Anfänger war VB6 nicht schlecht. Ein paar Klicks und die Anwendung hatte schonmal ne Oberfläche. Das ist ein großes Erfolgserlebnis, das unter C++ mit der WinAPI ungleich schwerer herbeizuführen ist. So fragt man sich als Anfänger (der nicht studiert) oft, warum man einen Button mit CreateWindow() erzeugt. Ich habs ehrlich zugegeben auch nie geschafft, ein halbwegs sinnvolles Programm mit der WinAPI zu erzeugen. Als ich auf Tipp eines Freundes (dem ich immer die Ohren "vollgejammert" hab über die WinaAPI :D) wxWidgets entdeckt habe, ging ich förmlich darin auf, weil C/C++ mir einfach von der Sprache und den Möglichkeiten her schon immer besser gefallen hat. Gut, "damals" spielte Leistung beim Programm auch noch eine Rolle. Die VB-Programme waren damals einfach ne Ecke langsamer als C++-Programme. Heute mit .net ist der Unterschied kleiner imho. Auch die Portabilität spielte damals für mich eine Rolle, als Dual-System-User (Linux/Windows). Ich wollte meine Tools die ich erstelle, einfach unter Linux UND Windows laufen haben. Das war mit VB6 nicht möglich, mit C++ und wxWidgets eben schon.

    Die Richtige Sprache für einen selbst zu entdecken, ist eine reine Frage des Geschmacks und der persönlichen Bedürfnisse.
    Da man heutzutage Plattformunabhängig/portabel programmieren sollte, stehen einem viele Möglichkeiten offen:

    C++ mit entsprechenden WrapperLibs. Gerade bei Programmen, die 3D-Beschleunigung beinhalten, braucht man entweder eine Engine, die auf allen Systemen läuft (Ogre, Irrlicht) oder man programmiert in purem OpenGL.

    Python. Sehr gute Sprache die schnell und einfach zu lernen ist, mit vielen Möglichkeiten. Auch die Einbindung als Script-Sprache in C++ ist möglich. OpenGL-Anwendungen sind damit auch kein Problem. GUIs mit wxWidgets oder TK sind kein Problem. Aber vor allem als Wartungs-Scripts für Projekte die ultimative Wahl finde ich.

    Java. Die Sprache schlechthin eigentlich für Plattformunabhängige Programme und mittlerweile eine sehr gute Kombo, wenn man rein Objektorientiert arbeiten möchte. Die Erstellung von GUIs ist damit allerdings nicht soo einfach (finde ich). Allerdings ist mittlerweile damit auch OpenGL möglich und das soll gar nicht mal so langsam laufen. Also auch eine Wahl. Größere 3D-Sachen würde ich damit aber nicht entwickeln wollen.

    Mono/.net. Ich finde hier haperts an der Geschwindigkeit der Entwicklung. Man kann sich wie bei den anderen Punkten nicht darauf verlassen, dass Feature X auf beiden Seiten vorhanden ist. Von daher fällt das Thema für mich persönlich komplett aus der Reihe.

    Das alles ist aus der Sicht eines Hobbyprogrammierers und nur meine persönliche Erfahrung und Meinung.
    rya.



  • Scorcher24 schrieb:

    Java. [...] Die Erstellung von GUIs ist damit allerdings nicht soo einfach (finde ich).

    ist wahrscheinlich nur eine frage der gewöhnung. swing (kein schwein will mehr awt verwenden *g) ist eigentlich sehr simpel zu bedienen. kompliziert wird java gui entwicklung erst dann, wenn man wert auf pixelgenaues design legt. solang man aber die positionierung einem layout manager überlässt (gibt mittlerweile auch bessere als border layout ;)) hat man sich ne anständige anwendung in nur sehr wenigen zeilen code zusammengebaut.



  • thordk schrieb:

    Scorcher24 schrieb:

    Java. [...] Die Erstellung von GUIs ist damit allerdings nicht soo einfach (finde ich).

    ist wahrscheinlich nur eine frage der gewöhnung. swing (kein schwein will mehr awt verwenden *g) ist eigentlich sehr simpel zu bedienen. kompliziert wird java gui entwicklung erst dann, wenn man wert auf pixelgenaues design legt. solang man aber die positionierung einem layout manager überlässt (gibt mittlerweile auch bessere als border layout ;)) hat man sich ne anständige anwendung in nur sehr wenigen zeilen code zusammengebaut.

    Sicher, es ist alles nur eine Frage der Erfahrung und Gewöhnung, von daher ist das Statement auch eher subjektiver Natur. Mit "Layoutmanagern" programmiere ich auch unter wxWidgets, da heissen die halt Sizer. Ich denke es lag an meiner mangelnden Erfahrung mit Java. Mit C++ hab ich sehr lange Zeit nur Konsolenanwendungen programmiert, bevor ich zur GUI überging. Ich hatte also weit mehr Erfahrung als mit Java, als ich eine GUI programmieren sollte (Praktikum bei einer Firma). Ich wurde da quasi ins "kalte Wasser" geworfen. 🙂 Die Grundstruktur der Sprache kannte ich allerdings, nur nicht die Packages.
    rya.


Anmelden zum Antworten