Nachdem ich in C++ beim Einstieg in das Web-Authoring die Programmierung eingestellt hatte, wurde ich von PHP-High-Level-Konstrukten wie Hash-Tabellen oder seiner dynamischen, schwachen Typisierung verwöhnt. Ich erinnerte mich an die Angst vor C/C++ - Zeigern und das Labyrinth winziger Win32-API-Handles und Nachrichtenschleifen, die mich daran hinderten, Umgebungen wie Code :: Blocks für Desktop-Anwendungen zu nutzen. Ich mag auch keine sperrige, statisch typisierte C# /. NET-Umgebung. Irgendwelche anderen Ideen?High-Level-Sprachen für die Out-of-the-Box-GUI-Anwendungsprogrammierung
Antwort
Python hat große GUI toolkits.
I dritte Pyhon, wenn alles, was Sie wollen, ist schnell, einfach, schmerzfreie Entwicklung, oder wenn Sie zurück nach C++ wollen, weil einige von uns einfach lieben den Schmerz, versuchen Sie mit Boost und Qt Sie werden viel glücklicher als in den alten Tagen mit der Win32-API.
Ich habe viel mit Flex und WPF (C#) gearbeitet. Obwohl Sie C# nicht sehr mögen .. Ich würde sagen, dass Flex C# sehr ähnlich ist, aber ohne den stark typisierten Code. Ich habe ungefähr 13 Jahre PHP-Programmierung unter meinem Gürtel und ich würde sagen, dass der Wechsel zur Flex-Anwendungsentwicklung (das schließt AIR Desktop-Anwendungen mit ein) eine der flüssigsten Übergänge war, die ich gemacht habe. Vor allem, wenn Sie mit irgendeiner Art von Javascript arbeiten möchten.
Wie auch immer, Flex, Flex, Flex ... oh ja, und AIR :)
Bitte lassen Sie mich wissen, wenn Sie mehr Hilfe brauchen, oder einen besseren Abbau.
Ok, ja, ich habe Flex vergessen, ich habe es vor 2 Jahren benutzt, und ich muss sagen, dass das ECMA-Skript + XML sehr schnell zu erlernen ist, auch sehr einfach, deine Fähigkeiten zu übertragen, und die Benutzeroberfläche wird aussehen sehr cool. Ich zweite dieser eine mehr als ich zweite Python eigentlich –
Tcl/tk ist eine old-school-Lösung, aber Sie können mit erstaunlich wenig Code ein gui up and running erhalten. Die Laufzeitumgebung kann eingebettet werden, sodass Sie eine eigenständige ausführbare Datei in einer einzigen Datei verteilen können, die Ihren Code, die Laufzeitdatei und die Ressourcendateien enthält. Die Runtime läuft unter unix/windows/mac, so dass es einfach ist, Binaries für die von Ihnen benötigten Plattformen zu generieren. Wie auch immer, viele Menschen finden es schwierig, ihre Köpfe um Tcl zu wickeln ...
Tcl/Tk kann "Old School", aber es ist auch sehr modern, so dass Sie die Möglichkeit, native Widgets für große Teile Ihrer Anwendung zu verwenden. Es wird immer noch in Hunderten (Tausenden) von Unternehmen auf der ganzen Welt verwendet. –
Eine weitere Abstimmung für Tcl/Tk. Obwohl Tk mit anderen Skriptsprachen verwendet werden kann, ist die Tcl-Schnittstelle am saubersten. – erichui
Sie könnten Lua mit wxLua oder den leichten IUP-Bibliotheken verwenden. Beide sind tragbar.
Für die schnellen/kleinen Prototyp/wegzuwerfen Skripte, ich auch AutoHotkey verwenden: die Sprache ist ziemlich schrecklich für einen erfahrenen Programmierer (Neulinge scheinen es zu mögen ...), aber sein High-Level-GUI ist einfach und schnell zu benutzen. Und es ist eher klein und kann zu einer eigenständigen exe "kompiliert" werden.
Ich benutze tatsächlich AHK und stimme dir mit deinen Bemerkungen zu, aber ich habe darüber nachgedacht, in fortgeschrittenere Desktop-Programmierung zu gehen und war erschrocken von all dem Low-Level-Zeug, das du im konventionellen Ansatz lernen musst. – Meisner
Delphi. Ohne Frage.
http://www.codegear.com/delphi
Sie müssen mit starken Typisierung setzen würden, though.
C# ist keine schlechte Sprache und das .Net-Framework hat sicherlich einige interessante Features, aber WinForms kann träge sein, so dass es (zumindest für mich) für Desktop-GUI-Anwendungen weniger geeignet ist. Ich mag auch nicht die heftige Laufzeitanforderung.
Können Sie klarstellen, was Sie mit "out-of-the-box" meinen? – erichui
Ich brauchte keine umfangreiche Konfiguration und gehe durch das gesamte Multiple-Level-Trainingsprogramm, um tatsächlich mit der Nutzung der Umgebung beginnen zu können. – Meisner
Beachten Sie, dass C++ High-Level-Objekte wie Hash-Maps hat. Trotzdem, als Entwickler. In einer "historischen" Win32-App steckte ich aus der gleichen bitteren Tasse. Und wenn ich weiß, was ich in einem Win320000-Linien-Projekt umsetzen muss, denke ich über einen rituellen Selbstmord als eine Form ehrenhaften Protestes nach ... :-p ... – paercebal