Hallo Self-Gemeinde,
da hier viele Programmierer unterschiedlicher Sprachen lesen und schreiben, dachte ich mir, dass ich hier mit meinen Überlegungen vielleicht ein paar Antworten bekommen kann.
Kurz zu meinem Hintergrund: ich programmiere ca. 10 Jahre lang beruflich, vorrangig in interpretierenden Sprachen.
Hauptsächlich in PHP, aber ich kann auch Bash, Perl und eher wenig JS. Meine C bzw. Pascal-Zeiten sind extrem lange her.
An Datenbanken hab ich mit MySQL und Oracle gearbeitet und in Sqlite und Postgres rein geschnuppert.
Ich arbeite an einem Linux-Rechner und habe noch ein MacBook zur Verfügung. "Meine" IDE ist Eclipse, u.a. weil ich da die SVN-Integration angenehm finde.
Derzeit überlege ich an einem Programm herum, das es so noch nicht gibt und das ich schreiben möchte.
Meine Zielgruppe hat allerdings deutlich gemacht, dass eine rein serverbasierte Software nicht ideal wäre.
Daher überlege ich nun, eine "richtige" Software mit GUI mit einer der eher klassischen Sprachen zu entwickeln. Da ich mich sowieso neu einlesen und -lernen müsste, hab ich quasi die Qual der Wahl ;-)
Ich habe allerdings den Anspruch, die Software für Windows, Linux und Mac zu programmieren. Am liebsten wäre es mir, wenn ich dafür die Software nicht für jede Plattform neu schreiben müsste.
Zudem möchte ich nur die kompilierte Software ausliefern, meine Zielgruppe wäre auch mit dem selber-kompilieren überfordert.
Sprich: Zip-Datei runter laden, entpacken, ausführen und mit der Software glücklich werden.
Ich möchte das erste Release innerhalb der nächsten 6 Monate raus bringen. Klingt ehrgeizig, aber die Software besteht aus etlichen Formularen, einer DB-Anbindung, Bilder herunter skalieren und etwas XML-Austausch mit dem Internet. Also keine Quantenphysik, sollte man meinen. Und ich habe etwa 2-3 Tage die Woche Zeit dafür.
Als DB tendiere ich derzeit zu Sqlite, weil es wahrscheinlich zu aufwendig (bzw. lizenztechnisch schwierig) wäre, einen SQL-Server mit der Software mit zu liefern.
Mein Stöbern hat bislang folgendes zu Tage gebracht, wenn euch dazu was einfällt, würde ich mich über Verbesserungen und weitere Ideen freuen:
1. Java - Dürfte der Klassiker für plattformübergreifende GUI-Programmierung sein.
2. C++ mit wxWidgets oder QT
3. Python 3 mit wxWidgets oder Tkinter oder QT
4. ?
Ok, meine Fragen:
Die Syntax einer neuen Programmiersprache kann man ja innerhalb kürzester Zeit lernen - aber interessant ist ja der Sprachumfang und die Bibliotheken und wie schnell man sich in den Eigenheiten der Sprache zurecht findet. Wie realistisch ist es, innerhalb von ein paar Monaten eine neue Sprache produktiv (für andere) auch einzusetzen?
Welche der Sprachen wäre am ehesten für meine Zwecke geeignet?
Kann jemand Empfehlungen zur GUI-Bibliothek geben?
Ist C++ noch aktuell oder wird Desktop-Software nur noch in .NET entwickelt? Ein wenig zukunftssicher sollte das Ganze ja auch sein ;-)
Ich bin gespannt auf eure Meinungen und vielen Dank fürs Lesen.
Viele Grüße
Martin