Hallo,
wenn ich nicht gerade auf MS VC++ setzen will um unter Windows zu
programmieren..was nimmt man da anständiges?
QT Creator ist offenbar nur für Privatanwender kostenlos, würde aber
sofort Geld kosten wenn es kommerziell genutzt wird oder vermutlich ist
es sonst eingeschränkt?
Ich kenne das von Lazarus Free Pascal, das ist wie MS Visual C++ nur
darf eben auch problemlos kommerziell genutzt werden.
Soweit wie ich das sehe, geht das nicht mal eben so einfach und
komfortabel mit gcc und Exlipse oder was anderem?!
Mit Qt kann man grundsätzlich auch kostenlos kommerzielle Software
schreiben, man muss allerdings die Bedingungen der LGPL erfüllen.
Es ist auch dann möglich, eigene Anteile verschlossen zu halten - eine
kommerzielle Qt-Version mag aber durchaus bequemer sein.
Weitere ausführliche Informationen auf der Homepage von Qt.
Der große Unterschied ist, dass QT die Widgets selber zeichnet, und
wxwidgets native widgets verwendet. Das kann man als vor oder als
Nachteil sehen.
Ich bin der Meinung heutzutage geht eigentlich nur noch QT (leider).
hmm..ich sehe sonderlich viele Bücher gibt es zu wxwdget nicht...da ist
PAscal ja noch erheblich umfangreicher...
und auch die QT Bücher sind nicht gerade gut bewertet :-(
Dann erspare ich mir wohl den Umstieg.
Ich mag Bücher lieber als Onlinetutorials, da man sonst gar nicht mehr
vom Rechner wegkommt.
Der Einzige Grund für einen Umstieg von Lazarus PAscal ist die erheblich
größere Auswahl an Libs, wie auch bei Python.
Mehr Vorteile sehe ich bislang eigentlich auch nicht.
Bei lAzarus ist alles aus einem Guss, das ist bei gcc QT WXwidget etc
alles nicht mehr so nice :-( außer ich würde auf MS VC++ setzen..was ich
aber vermeiden wollte.
Eines der weiteren Probleme ist, dass wxwidgets für Python 3 nicht
richtig verfügbar ist (es gibt zwar Projekt Phoenix, aber so richtig
fliegt das nicht)
gibt es eigentlich generell überhaupt irgendeine Brauchbare Alternative
zu VC++?!?
Dieses ganze WX und QT ist doch meilenweit davon entfernt, dennoch
schwören alle so auf C++, ich verstehe dann aber nicht warum?!
Sowohl VC++ als auch Visual Basic scheinen mehr für vieles besser
geeignet als gcc.
Klar bei einfachem C wäre es völlig i.O. aber alles andere?! da machen
doch Sprachen wie Lazarus Pascal, Python, Visual C++, /Basic, C# viel
mehr Sinn, aber dennoch wird C++ immer so hoch gelobt..raffe ich nicht.
Tina schrieb:> gibt es eigentlich generell überhaupt irgendeine Brauchbare Alternative> zu VC++?!?
Es werden ganze Betriebssysteme ohne VC++ entwickelt. Scheint also zu
gehen.
Tina schrieb:> Dieses ganze WX und QT ist doch meilenweit davon entfernt, dennoch> schwören alle so auf C++, ich verstehe dann aber nicht warum?!
Du kennst aber schon den Unterschied zwischen einer Programmiersprache
und einem Framework? VC++ benutzt auch, Überraschung, C++.
Tina schrieb:> Sowohl VC++ als auch Visual Basic scheinen mehr für vieles besser> geeignet als gcc.
Auch für Linux-Entwicklung, Cortex-M-Entwicklung, PPC-Entwicklung,
AVR-Entwicklung usw. usf.? Der GCC unterstützt C++ übrigens besser als
VC++. Letzterer akzeptiert vielen gültigen C++ Code nicht, und
akzeptiert vielen ungültigen C++ Code fälschlicherweise.
Tina schrieb:> da machen> doch Sprachen wie Lazarus Pascal, Python, Visual C++, /Basic, C# viel> mehr Sinn, aber dennoch wird C++ immer so hoch gelobt..raffe ich nicht.
Hier wirfst du also Sprachen mit IDE's durcheinander. C++ ist eine
mächtige Sprache mit bestimmten Eigenschaften, die die anderen nicht
haben. Bei VC++ scheinst du diese ja auch haben zu wollen.
Die Windows-Entwicklung mit GCC ist tatsächlich nicht so toll, aber
unter Linux ist sie dank Paket-Manager sogar teilweise komfortabler als
mit VC++. Da kann man auch GUI-Toolkits wie Gtk+ / GTKmm und Qt
problemlos einsetzen.
Qt kompiliert unter Windows mit VC++, mit GCC und mit dem Intel-C++. Du
hättest also mindestens drei Compiler zur Auswahl, von denen zwei sogar
plattformunabhängig laufen.
Verglichen mit Qt ist MFC und WPF eigentlich ziemlich steinzeitlich.
Gut, MFC ist eigentlich heute keine ernstgemeinte Option mehr.
Die mit Qt gelieferte Dokumentation ist ziemlich umfangreich, mehr
brauchst du eigentlich nur selten.
Ansonsten lies die Lizenz. Natürlich kann man mit der freien Version von
Qt kommerzielle Anwendungen entwickeln.
Tina schrieb:> gibt es eigentlich generell überhaupt irgendeine Brauchbare Alternative> zu VC++?!?
Geht denn mit VC++ überhaupt noch GUI Entwicklung? Haben die das nicht
seit 2016 nur noch in den C# Zweig integriert?
Sicher geht das noch mit VC++ und die verschiedenen Frameworks gibt es
auch noch. Es gibt MFC, ATL und die DirectX Zusätze. Die Frage ist was
'grafisch' sein soll, der Entwurf von Dialogen oder soll das Programm
grafische Daten bearbeiten/darstellen?
lalala schrieb:> Tina schrieb:>> gibt es eigentlich generell überhaupt irgendeine Brauchbare Alternative>> zu VC++?!?>> Geht denn mit VC++ überhaupt noch GUI Entwicklung? Haben die das nicht> seit 2016 nur noch in den C# Zweig integriert?
MFC und anderes wurden schon genannt. Wenn's nur auf Windows laufen soll
ginge auch noch UWP also XAML mit C++.
Alternative: HTML mit sciter und C++ (HTML + DirectX geht dort auch,
falls es nötig ist). Andere Sprachen, die sciter unterstützt sind z.Z.
u.a. Rust, Go, D, Python, C#.
https://sciter.comDr. Sommer schrieb:> Tina schrieb:>> Sowohl VC++ als auch Visual Basic scheinen mehr für vieles besser>> geeignet als gcc.> Auch für Linux-Entwicklung, Cortex-M-Entwicklung, PPC-Entwicklung,> AVR-Entwicklung usw. usf.? Der GCC unterstützt C++ übrigens besser als> VC++. Letzterer akzeptiert vielen gültigen C++ Code nicht, und> akzeptiert vielen ungültigen C++ Code fälschlicherweise.
Hmmm... http://en.cppreference.com/w/cpp/compiler_support
VC++ unterstützt C++11 und C++14 vollständig (bis auf N3664 Clarifying
memory allocation (avoiding/fusing allocations). C++17 großteils
(Proposals, die kein offizielles Numbered Paper zur möglichen Aufnahme
in den nächsten Standard sind, mal nicht mitgezählt).
C++2a-Features werden noch so gut wie gar nicht unterstützt (weder vom
gcc noch von clang)
Arc N. schrieb:> VC++ unterstützt C++11 und C++14 vollständig (bis auf N3664 Clarifying> memory allocation (avoiding/fusing allocations).
Ja, es ist besser geworden. Aber noch nicht so gut wie beim GCC - sie
sind jetzt erst dabei, 2-Pass-Compilation einzubauen. z.B. kompiliert
folgender falscher Code oder (oder sowas ähnliches :) ) falls ich mich
recht erinnere ohne Fehlermeldung:
Tina schrieb:> @dr sommer> Du hast leider nicht verstanden worum es geht?
Dafür hast du den Unterschied zwischen Framework, Compiler, IDE und
Sprache nicht verstanden.
Tina schrieb:> ja...irgendwie ist die Mehrzahl der Internetmeinungen für QT
Ein möglicher Grund dafür könnte sein, daß Qt wirklich gut ist und
deshalb gerne empfohlen wird.
Tina schrieb:> QT Creator ist offenbar nur für Privatanwender kostenlos, würde aber> sofort Geld kosten wenn es kommerziell genutzt wird oder vermutlich ist> es sonst eingeschränkt?
Wie kommst du darauf? Gut - eine Einschränkung gibt es: Wenn man die
kommerzielle Version von Qt nicht kaufen will, muss man dynamisch an die
Qt-Bibliotheken linken.
> Ich kenne das von Lazarus Free Pascal, das ist wie MS Visual C++ nur> darf eben auch problemlos kommerziell genutzt werden.>> Soweit wie ich das sehe, geht das nicht mal eben so einfach und> komfortabel mit gcc und Exlipse oder was anderem?!
Was meinst du? Mit gcc erzeugte Programme kann man beliebig lizenzieren.
Bei Eclipse würde ich auch davon ausgehen, aber was willst du jetzt?
Eclipse oder Qt Creator?
Tina schrieb:> hmm..ich sehe sonderlich viele Bücher gibt es zu wxwdget nicht...da ist> PAscal ja noch erheblich umfangreicher...> und auch die QT Bücher sind nicht gerade gut bewertet :-(
Bei Qt braucht man auch nicht viel. Die Dokumentation ist sehr
Umfangreich und enthält viele Tutorials und haufenweise
Beispielprogramme.
> Ich mag Bücher lieber als Onlinetutorials, da man sonst gar nicht mehr> vom Rechner wegkommt.
Gerade bei Programmierung muss man doch sowieso zum Lernen die ganze
Zeit am Rechner sitzen und Dinge dort ausprobieren.
Dr. Sommer
mag sein und bestreite ich nicht, aber offenbar haben alle anderen
verstanden worum es geht. nun spar Dir Deine Sinnfreien Kommentare wenn
es nichts zu Thema beiträgt
@Sheeva Plug
na mir scheint es eher so, als ob Qt das beste ist das man
bekommt...also eher mangels Alternativen.
Wie gesagt von VC++ oder Lazarus Pascal ist es meilenweit entfernt
Tina schrieb:> Dr. Sommer> mag sein und bestreite ich nicht, aber offenbar haben alle anderen> verstanden worum es geht. nun spar Dir Deine Sinnfreien Kommentare wenn> es nichts zu Thema beiträgt
Scheint mir der typische "Pascal ist besser" Thread zu sein, nur diesmal
eben mit den Zusatz "graphischer Oberfläche".
Also schon mal "alle anderen-1".
Tina schrieb:> und ansonsten offenbar ganz klar VC++> https://www.c-plusplus.net/forum/345036
Können wir mal den Unterschied zwischen Framework, IDE und Compiler
festhalten? Ich entwickle unter Windows Anwendungen mit Qt und dem
QtCreator und kompiliere sie mit vc++. Genausogut könnte ich auch Visual
Studio, Qt, und mingw benutzen. Evtl. könnten mal alle Menschen, die
Visual Studio als GUI-Framework empfehlen, einfach nichts mehr sagen.
Dr. Sommer schrieb:> Tina schrieb:>> Dieses ganze WX und QT ist doch meilenweit davon entfernt, dennoch>> schwören alle so auf C++, ich verstehe dann aber nicht warum?!
Ganz einfach, weil die typischen Wortführer hier ihre selbstsicher und
langjährig erlernte Lieblings-Programmiersprache unbedingt hypen wollen.
Denn C++ ist nach Ansicht von Experten bereits auf dem absterbendem Ast
siehe
https://www.heise.de/ix/heft/Raus-aus-der-C-Krise-3892813.html
" Ohne die faktisch unbezahlbare und seit der ersten Standardisierung
von C++ andauernde Hilfe einer Armee hochmotivierter und -qualifizierter
Freiwilliger in der Boost-Community wäre C++ heute möglicherweise
bereits in der Bedeutungslosigkeit versunken. Die Open-Source-Analysten
von Open Hub schätzen die Kosten für die Neuentwicklung der 23,6
Millionen Zeilen Code der Boost-Library auf 416 Millionen US-$. "
" Und in der Ausbildung an Universitäten und Fachhochschulen spielt C++
zumindest in Deutschland nur noch eine sehr untergeordnete Rolle. "
Für kleine ausführbare Tools braucht es diese Sprache nicht. Da gibt es
zahlreiche Alternativen. Und für größere Projekte braucht es gut bis
sehr gut erfahrene Spezialisten und die fallen nicht (mehr wie früher)
vom Himmel, aufgrund der veränderten Ausbildungsprioritäten (Hinwendung
zu JAVA und Skriptsprachen) an den Hochschulen.
Die HW ist heutzutage so leistungsfähig, dass Einfachheit in der
Codeerstellung generell immer öfter mehr Vorrang eingeräumt wird vor der
eigentlichen Effizienz dessen, was bei einer Programmiersprache
hinterher an ausführbarem Code herauskommt. Früher beispielsweise zu
Zeiten von Turbo Pascal (Turbo C), DOS, 386/486er PCs, wo ein Megabyte
RAM noch eine schier unvorstellbare Menge Speicher bedeutete und um
jedes Kilobyte gekämpft wurde, wuchs die Qualität einer
Programmiersprache (Ausführungsgeschwindigkeit, Speicherausnutzung,
Sicherheit etc.) noch spürbar schneller als die Verbesserung der
Hardware auf der sie lief. Heutzutage ist das lange umgekehrt. Das führt
dazu, dass zunehmend Skript- und JIT-Sprachen hocheffizient kompilierten
(C++) Code verdrängen (können) und auch immer öfters die einst hoch
gelobten, kompakten Binärdateien durch (für jedermann lesbare, aber
leider auch aufgeblähte) Textdateien ersetzt haben.
Die Beliebtheit von QT gründet sich im Wesentlichen nicht auf deren
Aufsetzen auf C++, sondern ist eher der Tatsache geschuldet, dass MS es
versäumte beizeiten eine leicht erlernbare Sprache wie C# mit dem
GUI-Unterbau CLI/.NET - dem Nachfolger von Win32 auf wichtige
Plattformen wie Linux und Apple auszudehnen und auch "Lizenz freundlich"
zu etablieren. Das einst aufgeführte Argument der Geschwindigkeit als
unbedingtem Vorrang von C++ gegenüber C#/.NET (als JIT-Sprache) ist
längst kein Grund mehr sich den Lernaufwand von C++ heute noch zwanghaft
an zu tun.
Auch laufen neuere Sprachen wie Rust, Nim, golang u.a. C++ zunehmend den
Rang ab. Daran ändert auch C++ Boost nix. Ob man damit aber schneller
zum GUI-Programm gelangt (wahrscheinlich eher nicht) muss jeder selber
herausfinden. Da kann eine Integrierte Entwicklungsumgebung (IDE), die
einem ein fix und fertig geschnürtes Komplettpaket serviert, womöglich
spürbar smoother erscheinen als ein allumfassender Flickenteppich aus
Editor + lose gebundenen Libraries samt explizitem Build-Skript als die
quasi "Eierlegende Wollmilchsau".
Der Programmör hat es entscheidungstechnisch nun mal schwör. ;-)
Zum Glück laufen die ganzen neuen fancy Dinge, die ich auch einsetze,
warum auch nicht, selbst direkt auf der HW und brauchen kein Oldschool
geschriebenen Streigbügelhalter mit Namen Compiler,
Bytecode-Interpreter/-JIT-Compiler, etc. Ohne den Programiersprachen-Opa
hätten wir viel weniger IT-Probleme und müssten die Zeit nicht mit
welweit verteilter Diskussion darüber zubringen.
Wenn jemand fragt, wie GUIs auf PCs programmiert werden können, dann
würde ich auch Qt erwähnen, weil ich es schon benutzt hab. Aber wenn mir
dann jemand als Antwort auf meine Antwort was anderes verkaufen will,
dann war's das. Normaler Sprachen-Flame-Thread eben.
Sven B. schrieb:> Ich entwickle unter Windows Anwendungen mit Qt und dem> QtCreator und kompiliere sie mit vc++
Du willst sagen Du nutzt VC++ als Compiler und nicht mit der
Compiler-Option /clr als Cross-Compiler für die .NET Common Intermediate
Language :-)
Tina schrieb:> QT Creator ist offenbar nur für Privatanwender kostenlos, würde aber> sofort Geld kosten wenn es kommerziell genutzt wird oder vermutlich ist> es sonst eingeschränkt?
1. Das ist nicht so.
2. Who cares? Wenn Du es kommerziell einsetzen willst dann bekommtst DU
Geld. Aber QT soll für Dich gratis sein?
Wenn der Erfolg Deines "Produkts" von den Lizenzkosten der Tools abhängt
dann wäre es evtl. schauer mal das Projekt zu überdenken.
Generell wäre es hilfreich wenn Du mal sagen würdest in welchem Bereich
Deine "kommerzielle" Software eingesetzt werden soll.
Oft kommen die "harten" Forderungen ja aus den Kundenforderungen.
Meinung schrieb:> Dr. Sommer schrieb:>> Tina schrieb:>>> Dieses ganze WX und QT ist doch meilenweit davon entfernt, dennoch>>> schwören alle so auf C++, ich verstehe dann aber nicht warum?!>> Ganz einfach, weil die typischen Wortführer hier ihre selbstsicher und> langjährig erlernte Lieblings-Programmiersprache unbedingt hypen wollen.
Wohl eher weil ihre Chefs nicht die Kohle in die Hand nehmen eine
Application, die schon jahrelang im Einsatz ist, ohne Grund neu zu
schreiben.
Rechne Dir einfach mal durch was das Umschreiben, Test & Inbetriebnahme
einer mittelgrossen Software kostet.
Warum sollte man sich das antun?
Und wenn DU das alles umsonst macht und dabei auch das volle
Haftungsrisiko eingehst, dann hätte ich ein paar dankbare Kunden für
Dich^^
Meinung schrieb:> Dr. Sommer schrieb:>> Tina schrieb:>>> Dieses ganze WX und QT ist doch meilenweit davon entfernt, dennoch>>> schwören alle so auf C++, ich verstehe dann aber nicht warum?!>> Ganz einfach, weil die typischen Wortführer hier ihre selbstsicher und> langjährig erlernte Lieblings-Programmiersprache unbedingt hypen wollen.> Denn C++ ist nach Ansicht von Experten bereits auf dem absterbendem Ast> siehe>> https://www.heise.de/ix/heft/Raus-aus-der-C-Krise-3892813.html
Experten ™
naja, die ganze Argumentation hätte man vor 30 Jahren schon genau so
hinschreiben können. C++ gibt's trotzdem noch. Vielleicht sind die Dinge
einfach nicht so absolut, und für unterschiedliche Anforderungen sind
unterschiedlichen Sprachen gut geeignet?
Andreas H. schrieb:>> Ganz einfach, weil die typischen Wortführer hier ihre selbstsicher und>> langjährig erlernte Lieblings-Programmiersprache unbedingt hypen wollen.>> Wohl eher weil ihre Chefs nicht die Kohle in die Hand nehmen eine> Application, die schon jahrelang im Einsatz ist, ohne Grund neu zu> schreiben.>> Rechne Dir einfach mal durch was das Umschreiben, Test & Inbetriebnahme> einer mittelgrossen Software kostet.>> Warum sollte man sich das antun?
Sach ich doch. C++ Leute sind in ihrem Universum fest verortet, weil
langjährig mit ihrer Materie vertraut. Dementsprechend wird alles
außerhalb von C++ negiert bzw. darauf herabgeschaut.
Sven B. schrieb:>> Ganz einfach, weil die typischen Wortführer hier ihre selbstsicher und>> langjährig erlernte Lieblings-Programmiersprache unbedingt hypen wollen.>> Denn C++ ist nach Ansicht von Experten bereits auf dem absterbendem Ast>> siehe>>>> https://www.heise.de/ix/heft/Raus-aus-der-C-Krise-3892813.html>> Experten ™>> naja, die ganze Argumentation hätte man vor 30 Jahren schon genau so> hinschreiben können. C++ gibt's trotzdem noch.
Winforms gibt es auch noch. Obwohl dies weiter oben mal auf die schnelle
in Abrede gestellt wurde. Es gibt sogar noch die alte Win32-API als
Windows-Unterbau, in der man noch heute mit seinem Visual C++ auf die
schnelle ausführbare Windows Programme erstellen (kompilieren) kann,
ganz ohne .NET/CLR.
> Vielleicht sind die Dinge> einfach nicht so absolut, und für unterschiedliche Anforderungen sind> unterschiedlichen Sprachen gut geeignet?
Klar.
Meinung schrieb:> Sach ich doch. C++ Leute sind in ihrem Universum fest verortet, weil> langjährig mit ihrer Materie vertraut. Dementsprechend wird alles> außerhalb von C++ negiert bzw. darauf herabgeschaut.
Hast Du meinen Post überhaupt gelesen?
Es geht hier simpel um die Kosten.
Natürlich würde man etwas neu schreiben WENN es sich lohnt. Aber das ist
eben oft nicht so.
Rechne es einfach mal anhand einer Dir bekannten Software durch (und wie
schon geschrieben: Haftungsrisiko nicht vergessen^^)
Meinung schrieb:> Die Open-Source-Analysten von Open Hub schätzen die Kosten für die> Neuentwicklung der 23,6 Millionen Zeilen Code der Boost-Library auf 416> Millionen US-$. "
Ah, und die noch viel größere Standard Library von Java ist einfach so
vom Himmel gefallen? Das .Net Framework aus der Hölle? Ohne diese sind
die jeweiligen Sprachen auch ziemlich nutzlos, gerade die JVM und CLI
Sprachen leben von dem Universum an Tools & Libraries drum herum. Und
auch heute noch gibt es Bereiche wo Performance dann doch noch zählt.
Die werden auch so bald nicht verschwinden. Trotz aller Totenreden auf
C++ (die es seit den 90ern gibt) erlebt C++ derzeit eine kleine
Renaissance, z.B. Microsoft investiert da wieder. Auch diverse andere
Embedded Toolchains (Tasking, IAR) ziehen da mit. Das würden sie nicht
tun wenn sie erwarten würden, dass bald auf jedem Controller PHP läuft.
Andreas H. schrieb:> Hast Du meinen Post überhaupt gelesen?>> Es geht hier simpel um die Kosten.
DIR geht es um Kosten in DEINER Firma. HIER geht es um das Anliegen des
TE. Das ist etwas anderes.
Dr. Sommer schrieb:> Meinung schrieb:>> Die Open-Source-Analysten von Open Hub schätzen die Kosten für die>> Neuentwicklung der 23,6 Millionen Zeilen Code der Boost-Library auf 416>> Millionen US-$. ">> Ah, und die noch viel größere Standard Library von Java ist einfach so> vom Himmel gefallen? Das .Net Framework aus der Hölle? Ohne diese sind> die jeweiligen Sprachen auch ziemlich nutzlos, gerade die JVM und CLI> Sprachen leben von dem Universum an Tools & Libraries drum herum. Und> auch heute noch gibt es Bereiche wo Performance dann doch noch zählt.> Die werden auch so bald nicht verschwinden. Trotz aller Totenreden auf> C++ (die es seit den 90ern gibt) erlebt C++ derzeit eine kleine> Renaissance, z.B. Microsoft investiert da wieder. Auch diverse andere> Embedded Toolchains (Tasking, IAR) ziehen da mit. Das würden sie nicht> tun wenn sie erwarten würden, dass bald auf jedem Controller PHP läuft.
Der Autor des Heise Artikel ist Inhaber einer Firma, die zu C++ Fragen
berät. Warum nur hat der ein Interesse, daß alle glauben das zu
brauchen?
Zu der Eingangsfrage:
GUI?
-> Qt -??-> C++
Qt-Libs lassen sich prima mit Python ansprechen, es gibt also die
todbringend Verbindung zur Hasssprache vieler gar nicht. Wobei es
schlimm ist, etwas nicht zu mögen, deswegen sind aber die, die es zu
nutzen wissen, nicht automatisch senilen Idioten.
Carl D. schrieb:> Wobei es> schlimm ist, etwas nicht zu mögen,
Nein, ist es nicht (meintest du aber wohl auch so).
> deswegen sind aber die, die es zu> nutzen wissen, nicht automatisch senilen Idioten.
Klar. Aber dann gilt auch
"Der Autor des Heise Artikel ist Inhaber einer Firma, die zu C++ Fragen
berät. Warum nur hat der ein Interesse, daß alle glauben das zu
brauchen?"
dass der Ersteller des Artikels kein Vollidiot ist und vermutlich weiß
wovon er schreibt.
Nicht immer alles nur einseitig beurteilen, gell.
> Qt-Libs lassen sich prima mit Python ansprechen
Auch in Sachen Bindings gibt es oft Möglichkeiten. Ob man damit die
Möglichkeiten dieses Frameworks voll ausreizen kann steht auf einem
anderen Blatt.
Meinung schrieb:> Carl D. schrieb:>> Wobei es>> schlimm ist, etwas nicht zu mögen,
.
> Nein, ist es nicht (meintest du aber wohl auch so).
.
>> deswegen sind aber die, die es zu>> nutzen wissen, nicht automatisch senilen Idioten.
.
> Klar. Aber dann gilt auch
.
> "Der Autor des Heise Artikel ist Inhaber einer Firma, die zu C++ Fragen> berät. Warum nur hat der ein Interesse, daß alle glauben das zu> brauchen?"
.
> dass der Ersteller des Artikels kein Vollidiot ist und vermutlich weiß> wovon er schreibt.>> Nicht immer alles nur einseitig beurteilen, gell.>>> Qt-Libs lassen sich prima mit Python ansprechen>> Auch in Sachen Bindings gibt es oft Möglichkeiten. Ob man damit die> Möglichkeiten dieses Frameworks voll ausreizen kann steht auf einem> anderen Blatt.
Ganz im Sinne deines Nicks bin ich nicht zu Ausgewogenheit verpflichtet.
Tina schrieb:> na mir scheint es eher so, als ob Qt das beste ist das man> bekommt...also eher mangels Alternativen.
Es gibt massenhaft Alternativen, wxWidgets, GTK und andere wurden
bereits genannt. Und von all diesen Alternativen bevorzugt eine große
Mehrheit Qt, und das liegt im Wesentlichen an der hohen Qualität von Qt,
dem gefälligen Aussehen, den sauber designten Frameworks, den
ausgereiften Werkzeugen und etlichen anderen positiven Eigenschaften von
Qt.
> Wie gesagt von VC++ oder Lazarus Pascal ist es meilenweit entfernt
Das sehe ich anders. Von was redest Du da eigentlich, von der Sprache
selbst, von den IDEs, oder den Frameworks? VisualStudio kann man dank Qt
VS Tools [1] auch mit Qt nutzen, am Rande bemerkt.
[1] http://doc.qt.io/qtvstools/index.html
Tina schrieb:> gibt es eigentlich generell überhaupt irgendeine Brauchbare Alternative> zu VC++?!?> Dieses ganze WX und QT ist doch meilenweit davon entferntTina schrieb:> Schlussendlich kommt man mit allen Sprachen ans Ziel, weshalb solceh> Diskussionen müßig sind
Hmm.
Meinung schrieb:> dass der Ersteller des Artikels kein Vollidiot ist und vermutlich weiß> wovon er schreibt.
Das behauptest Du doch nur, weil es Dir gerade in den Kram paßt...
Darüber hinaus sehe ich Deine Behauptung, C++ sei "auf dem absteigenden
Ast", nach meiner Lektüre des Artikel keineswegs bestätigt. Und Du
kannst wettern und zetern, solange Du willst: C++ war da, ist da, und
wird auch auf absehbare Zeit da bleiben, ob es Dir gefällt oder nicht.
> Nicht immer alles nur einseitig beurteilen, gell.
Ach, wenn Du Dich doch an Deinen eigenen Rat halten würdest.
Sheeva P. schrieb:> Und Du> kannst wettern und zetern, solange Du willst: C++ war da, ist da, und> wird auch auf absehbare Zeit da bleiben, ob es Dir gefällt oder nicht.
Klingt wie im Kindergarten aus dem Sandkasten:
"Meine Förmchen waren immer rot, sind immer rot und werden immer rot
bleiben. Da kannst du mit noch so tollem Spielzeug antanzen. Basta."
:)
Meinung schrieb:> Sheeva P. schrieb:>> Und Du>> kannst wettern und zetern, solange Du willst: C++ war da, ist da, und>> wird auch auf absehbare Zeit da bleiben, ob es Dir gefällt oder nicht.>> Klingt wie im Kindergarten aus dem Sandkasten:>> "Meine Förmchen waren immer rot, sind immer rot und werden immer rot> bleiben. Da kannst du mit noch so tollem Spielzeug antanzen. Basta.">> :)
"Meine blauen Förmchen sind besser als eure roten"
Kann ich mich kaum dran erinnern, ist schon ein halbes Jahrhundert her.
Meinung schrieb:> Sheeva P. schrieb:>> Und Du>> kannst wettern und zetern, solange Du willst: C++ war da, ist da, und>> wird auch auf absehbare Zeit da bleiben, ob es Dir gefällt oder nicht.>> Klingt wie im Kindergarten aus dem Sandkasten:>> "Meine Förmchen waren immer rot, sind immer rot und werden immer rot> bleiben. Da kannst du mit noch so tollem Spielzeug antanzen. Basta.">> :)
Ach, Kindchen, ich spiele doch viel lieber mit Python. Aber das ändert
auch nichts daran, daß C++ heute eine der mit Abstand am weitesten
verbreiteten Programmiersprachen ist, mit einer riesigen Codebasis, die
niemand ohne Not über den Haufen werfen wird, nur weil Du in Deinem
Sandkasten mit anderen Förmchen spielen willst. Schau' hin, wie dringend
heute nach COBOL-Leuten gesucht wird, nur um eine wesentlich kleinere
Codebasis für eine Sprache zu pflegen, die nie so populär war wie C++.
C++ wird mich und wahrscheinlich auch Dich bei Weitem überleben, da
kannst Du zetern und mit Deinem Förmchen um Dich werfen, soviel Du
willst.
Edit: Satzbau
Es kommt sicher auch auf das User Interface an das man realisieren
möchte. VC++ klassisch hat für Dialoge z.B. nur den alten Dialogeditor
mit bescheidenen Möglichkeiten. Wenn der Charme der Win 3.1 Anwendungen
reicht ist das ok, aber z.B. bei grössenveränderlichen Dialogen muss man
alles zu Fuß programmieren. Da war .NET schon ein grosser Schritt, sowas
ist da mit wenigen Klicks erledigt. Für Anwendungen mit andockbaren
Fenstern und mehr Komfort beim Layout wird man aber auch da ein
zusätzliches Framework benutzen.
Mit Qt habe ich noch nichts gemacht, vermute aber das da der Support für
diese Sachen schon mit drin ist?
Der Hauptvorteil von Qt dürfte sein das mehrere Plattformen unterstützt
werden (wenn man es braucht). Wenn die Anwendung auch auf mobilen
Geräten laufen soll oder per Touchscreen bedient werden soll dann machen
Webtechnologien und JavaScript mehr Spass.
Johannes S. schrieb:> Mit Qt habe ich noch nichts gemacht, vermute aber das da der Support für> diese Sachen schon mit drin ist?
Ja, klar. QtWidgets hat jetzt schon so 3 Iterationen an API-Reworks
hinter sich und ist denke ich was diese Art von Framework angeht
ziemlich ausgereift.
Johannes S. schrieb:> Es kommt sicher auch auf das User Interface an das man realisieren> möchte. VC++ klassisch hat für Dialoge z.B. nur den alten Dialogeditor> mit bescheidenen Möglichkeiten. Wenn der Charme der Win 3.1 Anwendungen> reicht ist das ok, aber z.B. bei grössenveränderlichen Dialogen muss man> alles zu Fuß programmieren. Da war .NET schon ein grosser Schritt, sowas> ist da mit wenigen Klicks erledigt. Für Anwendungen mit andockbaren> Fenstern und mehr Komfort beim Layout wird man aber auch da ein> zusätzliches Framework benutzen.> Mit Qt habe ich noch nichts gemacht, vermute aber das da der Support für> diese Sachen schon mit drin ist?
Ja, und zwar seit etlichen Jahren. Ich habe Qt-Programmierung 1998 mit
Qt 1.4 angefangen. Und schon damals gab es einen GUI-Designer mit
komfortablen Layout-Funktionen für größenveränderliche Fenster. Deshalb
war sowas schon damals für mich eigentlich ganz selbstverständlich. Ich
hatte mich immer gewundert, warum unter Windows so viele Dialoge eine
feste Größe hatten, bis mir klar wurde, dass Layouts alles andere als
selbstverständlich waren.
Andockbare Fenster waren in Qt aber erst mit Version 3 im Jahr 2001 an
Bord. Inzwischen ist es unglaublich, was alles dabei ist.
> Der Hauptvorteil von Qt dürfte sein das mehrere Plattformen unterstützt> werden (wenn man es braucht). Wenn die Anwendung auch auf mobilen> Geräten laufen soll oder per Touchscreen bedient werden soll dann machen> Webtechnologien und JavaScript mehr Spass.
Würde ich so nicht sagen. Bei Qt ist auch für mobile Anwendungen alles
dabei, was man braucht - auch über GUI hinaus, wie z.B. Klassen für
Bluetooth, NFC, GPS, Beschleunigungssensoren u.s.w.
Javascript kann man auch nutzen mit Qt Quick, das extra für moderne
Touch-Anwendungen gemacht ist.
Schau dir z.B. mal an, wie man damit einen einfachen schicken Fotoviewer
(übrigens bis auf eine kurze main()-Funktion komplett ohne C++)
entwickeln kann:
http://doc.qt.io/qt-5/qtquick-demos-photoviewer-example.html
Warum kein QT? Deshalb: https://blog.fefe.de/?ts=a4e865e2
Warum kein VC++? Deshalb: https://www.fefe.de/nowindows/
Auch wenn ich kein Java-Freund bin, wäre JavaFX vielleicht eine
alternative.
Das läuft dann auch auf freien (im Sinne von Freiheit) Betriebssystemen.
Bitte Windows nicht noch mehr supporten. Das muss endlich weg.
Danke.
Wischmop schrieb:> Warum kein QT? Deshalb: https://blog.fefe.de/?ts=a4e865e2
Wenn es nach Fefe geht, kannst du 98% der eingesetzten Technologien
nicht mehr benutzen ...
Fefes Meinung in Ehren, aber von sowas hat er halt m.E. wenig Ahnung.
Das alte OpenSSL ist ja noch offiziell unterstützt. Als Upstream mit
hunderttausenden Entwicklern, die deine Bibliothek verwenden, machst du
da halt nicht 3 Tage nach dem Release ein Update auf das neue
Feature-Release von OpenSSL. Das ist weder eine Priorität noch hilfreich
für die Downstreams.
Das ist wie dieser CCC-Talk vor ein paar Jahren über irgendwelche Leaks
in der QApplication mit denen man vielleicht irgendwie Root-Access
bekommen kann wenn die Qt-Anwendung als Root läuft ... ja. Sollte man
wahrscheinlich reparieren. Ist aber halt wirklich nicht der
Design-Einsatzzweck und anders als die Security-Menschen in ihrem
Security-Universum wahrnehmen auch nicht so wahnsinnig wichtig. Ich
erinnere an dieser Stelle mal dran dass das WLAN-Krypto seit 15 Jahren
kaputt war und es ist auch keiner dran gestorben. Und im Gegensatz zu
"ich sitze vor einem Rechner wo ich keinen Root-Zugriff habe aber eine
Qt-Anwendung die als Root läuft" ist "jemand in meiner Nähe benutzt
WPA2-PSK" ein Umstand, der tatsächlich auftritt.
Die ganze Community (und insb. Fefe) hat halt ein Fable dafür, in einer
2MLOC-Anwendung die 2 Zeilen zu finden die halt wirklich doof sind und
dann zu sagen "aber DAS! DAS kann man doch wirklich nicht machen". Wo
sie dann sogar meist Recht haben. Das Problem ist halt, die Anzahl
dieser Stellen ist bei jeder größeren Anwendung direkt proportional zu
der Zeit die du aufwendest um sie zu suchen.
Thorben schrieb:> Kanzi waere noch eine gute Alternative, aber gute Sachen gibt es nicht> umsonst.>> http://www.rightware.com/kanzi/
Aha...
"Kanzi enables the rapid design and development of user interfaces (UIs)
for the automotive industry and other embedded applications."
Das passt voll in's Scope ...
Wischmop schrieb:> Warum kein $irgendwas? Deshalb: https://blog.fefe.de/$whatever
Fefe ist ein kompromissloser Nerd-Extremist äußersten Grades. Bis zum
Anschlag der Skala. Und noch weit darüber hinaus. Seine Äußerungen über
anderer Leute Software würde ich nicht unbesehen und ohne ausreichendes
Gegengewicht zur Meinungsbildung heranziehen, auch wenn er meist in die
richtige Richtung tendiert.
Bernd K. schrieb:> Wischmop schrieb:>> Warum kein $irgendwas? Deshalb: https://blog.fefe.de/$whatever>> Fefe ist ein kompromissloser Nerd-Extremist äußersten Grades. Bis zum> Anschlag der Skala. Und noch weit darüber hinaus.
Hast du schonmal den Stallman gesehen? :D
der hier genannte Link ist gar nicht mal so schecht..
https://www.heise.de/ix/heft/Raus-aus-der-C-Krisle-3892813.html
insbesondere wenn man auch die Kommentare ganz unten mit einbezieht.
Ich werde weiterhin bei Lazarus Free Pascal bleiben und mich aber
zusätzlich mit Java beschäftigen.
Da habe ich dann die ideale Kombination um sowohl weiterhin µc
uneingeschränkt programmieren zu können(Pascal) also auch auf dem
PC(Lazaurs Free Pascal) und mit Java sogar auf billigen mobilen Devices
:-)
Evtl schaue ich mir c mal an für µc, aber außer das man da manche Dinge
toll abkürzen ann, gibtes keinen nenenswerten Vorteil..daher muss ich
mal sehen, ob es den Umlernaufwand lohnt..da ja sowieso schon diverse
Libs in Pascal existieren wo ich keinen Nerv habe die umzuschreiben
Schade um meine C und C++ Büchersammlung die ich mir mitlerweile
zugelegt habe..teiwleise die 1300 Seiten Schinken die teils wirklich gut
geschrieben sind.
Ich bedanke mich bei allen für die Interessante Diksussion und freue
mich,d as es weitesgehend sachlich zuging bis auf wenige Ausnahmen..was
hier leider eher die <regel ist..das solche Kommentare dazwischen
kommen.
Ja nachdem, was man will, sollte man Windows-API nicht grundsätzlich
verteufeln. Wenn ich relativ einfache und starre Oberflächen brauche
oder direkt wie früher irgendwelche Pixel-Grafiken machen will, dann ist
es damit vielleicht nicht einfach aber auch nicht von einem Framework
abhängig.
Achim S. schrieb:> Ja nachdem, was man will, sollte man Windows-API nicht grundsätzlich> verteufeln. Wenn ich relativ einfache und starre Oberflächen brauche> oder direkt wie früher irgendwelche Pixel-Grafiken machen will, dann ist> es damit vielleicht nicht einfach aber auch nicht von einem Framework> abhängig.
Na doch ist es von einem Framework abhängig: von der Windows-API. Die
läuft halt nur auf Windows und auch nur bis Microsoft keine Lust mehr
hat (was zugegebenermaßen relativ unwahrscheinlich ist, die sind
ziemlich gut im API-Kompatibilität behalten).
Bernd K. schrieb:> Wischmop schrieb:>> Warum kein $irgendwas? Deshalb: https://blog.fefe.de/$whatever>> Fefe ist ein kompromissloser Nerd-Extremist äußersten Grades. Bis zum> Anschlag der Skala. Und noch weit darüber hinaus. Seine Äußerungen über> anderer Leute Software würde ich nicht unbesehen und ohne ausreichendes> Gegengewicht zur Meinungsbildung heranziehen, auch wenn er meist in die> richtige Richtung tendiert.
Hmm, ich hatte mal vor Äonen im Usenet mit im zu tun. Damals war mein
Eindruck schon, dass er zwar vom Thema Ahnung, aber leider auch eine
extrem festgefahrene Meinung und keinerlei Sozialkompetenz besaß. Die
rauen Umgangsformen hier im Forum sind Kinderkram gegenüber seinen
damaligen übelst herablassenden Kommentaren. Ich weiß aber nicht, ob er
heute auch noch so drauf ist.
Sven B. schrieb:> Bernd K. schrieb:>> Wischmop schrieb:>>> Warum kein $irgendwas? Deshalb: https://blog.fefe.de/$whatever>>>> Fefe ist ein kompromissloser Nerd-Extremist äußersten Grades. Bis zum>> Anschlag der Skala. Und noch weit darüber hinaus.>> Hast du schonmal den Stallman gesehen? :D
Ich habe ihn mal gesehen, als er auf dem LinuxTag (damals noch in
Stuttgart) eine Keynote gehalten hat. "Nerd-Extremist" trifft es, aber
er kennt wenigstens vernünftige Umgangsformen.
Anekdote von besagtem LinuxTag:
Ich weiß noch, wie ein "Groupie" nach der Keynote kam und doch ernsthaft
die Seitenwand seines PCs dabei hatte und ihn bat, sie zu signieren.
Stallman hat sich aber geweigert, weil da auch ein RedHat-Aufkleber
drauf war: "This distribution contains non-free software". Erst nachdem
der Aufkleber entfernt war, hat er drauf unterschrieben.
Rolf M. schrieb:> Ich weiß noch, wie ein "Groupie" nach der Keynote kam und doch ernsthaft> die Seitenwand seines PCs dabei hatte und ihn bat, sie zu signieren.> Stallman hat sich aber geweigert, weil da auch ein RedHat-Aufkleber> drauf war: "This distribution contains non-free software". Erst nachdem> der Aufkleber entfernt war, hat er drauf unterschrieben.
Hahaha nice. Ja, das klingt nach Stallman.
Auch sehr schön:
https://blog.fefe.de/?ts=bb5517a4
Hier wird sich darüber beschwert, dass der GCC es wagt, undefinierten C
Code wegzuoptimieren:
"No, let's face it. You fucked this up royally, and now you are trying
to close all the bugs as fast as you can, so nobody sees just how much
damage you have done. You, sir, are unprofessional and a disgrace to
the gcc development team."
Dr. Sommer schrieb:> Auch sehr schön:> https://blog.fefe.de/?ts=bb5517a4> Hier wird sich darüber beschwert, dass der GCC es wagt, undefinierten C> Code wegzuoptimieren:
Schwieriges Thema. Fefe zeigt dass er keine Ahnung hat was UB bedeutet.
Andererseits hat er eigentlich auch Recht.
John schrieb:> Ich bedanke mich bei allen für die Interessante Diksussion und freue> mich,d as es weitesgehend sachlich zuging bis auf wenige Ausnahmen..was> hier leider eher die <regel ist..das solche Kommentare dazwischen> kommen.
Transgender?
Tina ---> John?
Aber der Trick wird hier häufig angeandt, da Antworten an vermeintlich
feminine Personen freundlicher und hilfsbereiter ausfallen.
So sind wir Männer eben! (die Kastanie ist ja auch nur ein Mann...)
lalala schrieb:> Schwieriges Thema. Fefe zeigt dass er keine Ahnung hat was UB bedeutet.
definitiv
> Andererseits hat er eigentlich auch Recht.
ne.
Um auf Overflow zu testen, könnte man auch so testen, dass man den Fall
abfängt, bevor er auftritt und nicht, indem man einen provoziert, um ihn
zu verhindern - das ist irgendwie gaga
1
assert(len < (INT_MAX - 100))
Dann gäbe es das Problem überhaupt nicht.
Und möglicherweise Sicherheitsrelevanter Code sollte wenigstens statisch
gecheckt werden und da sollten solche Sachen (allways true/false
conditions) eigentlich auffallen.
Sven B. schrieb:> Ich glaube der clang macht diese Optimierung auch, gibt aber eine> Warnung dabei aus ...
Der obige Rant bezieht sich auf GCC 4.1 (Released 2006). Gab es da llvm
schon?
Und GCC warnt auch; der älteste GCC den ich grad greifbar hab ist v4.6:
1
warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
Zudem kann man signed overflow mod2-Semantik geben wenn man es mag oder
braucht, nämlich mit -fwrapv.
Zu UB. Egal wie ein Device auch genannt wird: Wenn man eine Sprache
nicht kennt, hat man schlechte Karten — egal wie die Sprache heißt.
Johann L. schrieb:> Zu UB. Egal wie ein Device auch genannt wird: Wenn man eine Sprache> nicht kennt, hat man schlechte Karten — egal wie die Sprache heißt.
Und wenn man eine Sprache zwar kennt, aber trotzdem etwas tut, das dort
eigentlich nicht erlaubt ist und dann dem Entwickler des Compilers die
Schuld dafür gibt, das der eigene kaputte Code nicht funktioniert, dann
leidet man schon an einer beinahe Trump-artigen Arroganz.
Tina schrieb:> was auch immer das mit dem Thema zu tun hat...
Mit dem Thema nicht, allerdings verstößt es gegen die Forumsregeln,
innerhalb eines Thread unter verschiedenen Namen zu posten und wird von
den Moderatoren auch nicht gerade gern gesehen.
wen auch immer es interessiert..genauso gut könnte da einfach gast(gast)
stehen Du Schlaumeier, weder siehst Du da Geschlecht des Gasts noch ob
die User wechseln..
Wenn ich vom Pc meines Freundes und dann wieder vom Handy schreibe kann
das passieren.
Als Single kannst das sicher niemand nachvollziehen...
Vlad T. schrieb:>> Andererseits hat er eigentlich auch Recht.> ne.
Wie testet man denn eigentlich richtig ob eine addition im Bereich ist?
Es gibt ja.einen link.auf die faq
http://c-faq.com/misc/intovf.html
Aber fuer negative b Werte ist das doch auch wieder UB oder nicht?
Rolf M. schrieb:>> Hast du schonmal den Stallman gesehen? :D>> Ich habe ihn mal gesehen, als er auf dem LinuxTag (damals noch in> Stuttgart) eine Keynote gehalten hat.
War das nicht in Karlsruhe? Oder verwechsel ich da was? Mir war so als
hätt ich ihn mal in Karlsruhe gesehen.
Rolf M. schrieb:> Klick doch mal auf "more sample code".
Schon besser, aber ist das fuer b=–2.147.483.648 nicht auch UB? (Da der
groesste positive Wert 2.147.483.647 ist)
Lalala schrieb:> Schon besser, aber ist das fuer b=–2.147.483.648 nicht auch UB? (Da der> groesste positive Wert 2.147.483.647 ist)
Deshalb steht genau das im erklärenden Text darüber...
Achim schrieb:> Deshalb steht genau das im erklärenden Text darüber...
Oops. Hatte nur den Code gelesen (Handy). Dann ist die Frage wie man es
richtig macht aber noch offen. (Aber auch nicht schwer).