C++-Framework mit grafischem Interface
-
Der aus dem Westen ... schrieb:
C# ist nicht gerade schnell
Blödsinn.
Der aus dem Westen ... schrieb:
Java hört sich da schon besser an.
Warum soll es da einen Unterschied geben?
-
C# ist 5 mal so langsam wie C++
-
Der aus dem Westen ... schrieb:
Deswegen wurde einer unserer Programmier abkommandiert, Hardware zusammenzuschrauben und das besagte Framework draufzuspielen und dann so etwas wie eine Anwendung zusammenzubasteln. Grafisch sieht das Programm wie 80er-Jahre aus und von der Stabilität ist es so sicher wie ein angeschossenes Nashorn auf drei Beinen, aber es hat sich 2 Jahre gehalten, trotz Fehlermeldungen, Verbindungsabbrüchen und gelegentlichem Ausfall der Benutzerverwaltung.
Super Formulierung, ich musste lachen deswegen
Handelt es sich um eine Art Kassen-Software oder warum sind die Systemspezifikationen so... altmodisch? Ich würde von C# abraten, gerade da ihr nicht so recht wisst, was am Ende die Hauptplattform sein wird. Windows Forms mit Mono auf Linux geht angeblich recht gut, aber irgendwie sehe ich euch eher mit Java unterwegs (was mir persönlich weh tut).
Der Haken an Java ist allerdings dass es am Ende doch nicht so plattformunabhängig ist, wie man immer meint. Wir programmieren momentan an einem Projekt für Windows, Mac und diverse Linux-Derivate (kein offizieller Support für Linux) und es macht keinen Spass. Der Teufel steckt im Detail. Im Hinblick auf die Spezifikationen der Hardware würde ich dann ebenfalls von Java abraten, wenn es sich um eine grössere Applikation handelt (Internet + MySQL lassen mich mal darauf schliessen).
Qt sollte eigentlich sehr wohl für euer Vorhaben geeignet sein. Aber wie es so ist, C++ für GUIs ist immer kritisch vom Aufwand her. Du wirst mehr Code schreiben müssen. Aber du weisst ja, worauf du dich einlässt.
-
also schrieb:
C# ist 5 mal so langsam wie C++
Bernd, bitte...
-
audacia schrieb:
Blödsinn.
Begründung? Ich habe mal selbst einige Tests gemacht, C# erreichte zumindest bei mir nie die Geschwindigkeiten von C oder C++. Wenn du der Meinung bist, C# sei nicht langsam - wieso ist Linux dann nicht in C# geschrieben?
audacia schrieb:
Warum soll es da einen Unterschied geben?
Weil der Bytecodeinterpreter heutzutage schon einiges an unnützem Code rausfiltern kann, das hat der IL-Interpreter von C# nicht drauf.
also schrieb:
C# ist 5 mal so langsam wie C++
"also" DAS wage ich zu bezweifeln. Es kommt wohl eher auf die Struktur des Programmes als auf die Programmiersprache an, wenn du fünfmal längere Ausführungszeiten bei C# hast. Ich könnte ja auch einen arschlahmen Algo für C# schreiben, eine schnellere Version für C++ implementieren und dann sagen, dass C# scheißelangsam ist.
Aber für das Projekt ist Ausführungsgeschwindigkeit nun mal wichtig, deshalb C++. Wir haben uns eine Zeit lang mit Perl rumgedrückt, aber langsam kommen wir an den Punkt, wo das aufgrund der Datenmenge einfach nicht mehr geht, wo wir die Abläufe optimieren müssen.
/rant/ schrieb:
Super Formulierung, ich musste lachen deswegen
Ja, ist doch wahr.
Ein grundlegendes Konzept existiert bei uns nicht, da wird gefrickelt, bis es funktioniert.
/rant/ schrieb:
Handelt es sich um eine Art Kassen-Software oder warum sind die Systemspezifikationen so... altmodisch? Ich würde von C# abraten, gerade da ihr nicht so recht wisst, was am Ende die Hauptplattform sein wird. Windows Forms mit Mono auf Linux geht angeblich recht gut, aber irgendwie sehe ich euch eher mit Java unterwegs (was mir persönlich weh tut).
Kann man so sagen. Mich wundet's, dass die Kunden das Zeugs überhaupt kaufen, für so technisch unbedarft halte ich die gar nicht, sonst würde es ja keine Diskussion darüber geben, ob's Linux, Windows oder Beides kann.
C# mag ich eigentlich nicht aus den erwähnten Gründen. Da hat ein Kunde 100.000 Datensätze (mit ... 100 Datenfeldern, wenn ich's richtig überschlage, und die Länge der Datenfelder kann ich nicht einmal ermessen, mit zig Perl-Routinen, Abfragen und höchst unsicheren und lahmarschigen Ausdrücken - ist aber auch kein Wunder, wenn du statt
chop
einen RA verwendest, der noch einmal 5 Minuten Laufzeit frisst, und der Kunde sitzt alleine auf seinem Server), die ständig ausgefürhrt werden. Debugging bei dem macht Spaß wie das Kompilieren auf einem 500-MHz-Prozessor, du startest ihn und kannst getrost eine Kaffeepause einlegen.Java wäre an sich schneller und sicherer, nur sind hier die Probleme, dass das keiner kann (bis auf Cheffe, aber der probiert's eher mit Ruhe und Gemütlichkeit - sonst immer nur JavaScript :D). C++ beherrsche ich eigentlich recht gut, aber wenn schon, denn schon ...
/rant/ schrieb:
Der Haken an Java ist allerdings dass es am Ende doch nicht so plattformunabhängig ist, wie man immer meint. Wir programmieren momentan an einem Projekt für Windows, Mac und diverse Linux-Derivate (kein offizieller Support für Linux) und es macht keinen Spass. Der Teufel steckt im Detail. Im Hinblick auf die Spezifikationen der Hardware würde ich dann ebenfalls von Java abraten, wenn es sich um eine grössere Applikation handelt (Internet + MySQL lassen mich mal darauf schliessen).
Die Hardware wird zumindest von unserer Seite aus standardisiert, da gibt es auch eine Gewährleistung drauf. Wenn der Kunde aber nun den Computer von Dachboden holt und uns auf den Tisch knallt, mit der Bitte, die Software darauf einzuspielen ... Linux wird wahrscheinlich gehen, eventuell bekommen wir mit ein bisschen Glück auch noch den X-Server ans Laufen, aber dann muss das, wie du schon gesagt hast, flutschen. Da ist Java wohl wirklich nicht das Wahre.
/rant/ schrieb:
Qt sollte eigentlich sehr wohl für euer Vorhaben geeignet sein. Aber wie es so ist, C++ für GUIs ist immer kritisch vom Aufwand her. Du wirst mehr Code schreiben müssen. Aber du weisst ja, worauf du dich einlässt.
Der Aufwand ist kein Problem. Der Ersatzmann für die Software hat es ja schon erreicht, dass die Chefs so langsam kapieren, dass Abreißen und Neubauen auf Dauer weniger Zeitintensiv ist. Ansonsten gibt das großes Aua nächstes Jahr, da kommen noch zig neue Kunden. Überhaupt sollten wir mal dringend neue Server besorgen (die alten sind ein halbes Jahr alt und kotzen schon einmal im Monat) oder zumindest auf derzeit noch leere Server verschieben. Wir hatten die Woche schon zwei Vorfälle, wo die armen Festplatten nur noch durch Bauchpinselung und Löschen von obsoleten Daten nicht völlig voll liefen.
-
Der aus dem Westen ... schrieb:
Begründung? Ich habe mal selbst einige Tests gemacht, C# erreichte zumindest bei mir nie die Geschwindigkeiten von C oder C++. Wenn du der Meinung bist, C# sei nicht langsam - wieso ist Linux dann nicht in C# geschrieben?
Weil es das vor 20 Jahren noch nicht gab!
(zu der Zeit wollte noch nicht mal jemand etwas mit C++ machen
)
Ich habe mal in einer Firma gearbeitet, in der wir auch ein Kassensystem gemacht haben. Wir benutzten auch C++, allerdings mit dem C++ Builder. Läuft halt nur unter Windows.
Aber ansonsten kann ich dir nur zu Qt raten, da muss man auch nicht den ganzen Ballast mit rumschleppen. Was man nicht braucht/will, kann man getrost weglassen.
-
Cybertec schrieb:
Weil es das vor 20 Jahren noch nicht gab!
(zu der Zeit wollte noch nicht mal jemand etwas mit C++ machen
)
91 war ein guter Jahrgang.
Aber im Ernst, bei dem Komplettsystem muss es was schnelles sein. Ich kann's noch weitertreiben - kennt jemand plattformunabhängige C-Frameworks?
Cybertec schrieb:
Ich habe mal in einer Firma gearbeitet, in der wir auch ein Kassensystem gemacht haben. Wir benutzten auch C++, allerdings mit dem C++ Builder. Läuft halt nur unter Windows.
Deswegen lieber ein Programm erstellen, bei dem diverse Bibliotheken die Darstellung übernehmen. Mit dem C++-Builder habe ich nie gearbeitet, aber wenn das so aufgebaut ist wie Visual Studio, dann habe ich eine ungefähre Vorstellung davon, was du meinst.
Cybertec schrieb:
Aber ansonsten kann ich dir nur zu Qt raten, da muss man auch nicht den ganzen Ballast mit rumschleppen. Was man nicht braucht/will, kann man getrost weglassen.
Meine Frage war nicht, ob Qt gut dafür ist, sondern ob es Frameworks gibt, die sich noch besser eignen. Theoretisch kann ich das Ganze auch über die Kommandozeile laufen lassen, dann klatschen wir Debian ohne GUI auf die Maschinen und programmieren funktionell.
-
C++ in Verbindung mit Qt sollte die Anforderungen( zumindest das was formuliert ist ) erfüllen.
Alternativ geht da noch WXwidgets oder ähnlich, ein Blick auf die jeweilige Doku und ein paar eigene kleine Test sollten da die Unterschiede deutlich machen.
Eventuell könnte man auch einen Blick auf den C++ Builder werfen, da wäre dann die Arbeit mit C++, Delphi und C# möglich. Zumindest was ich aus den Neuerungen von Embarcadero ( o.ä. ) rausgelesen habe. Die IDE ist jedenfalls göttlich, gerade bei DB Anwendungen. Thema RAD.
Zu den Sprachen selbst, natürlich gibt es einen Geschwindigkeitsunterschied, Leistungsbedarf und bedingte Plattformanhängigkeit zwischen den Sprachen.
Der Vorteil von C#/Java liegt ja in dem geringeren Lernaufwand gegenüber z.B. C++, in der Entwicklung selbst sehe ich da persönlich keine Vorteile. Ob ich in C++ vergesse meinen Müll selber wegzuräumen oder in C# nen Käfer reinbaue, debuggen solle man beides und funktionierenden Code abliefern.
Webanwendungen mache ich in C# und Asp.net und finde es jedesmal einen "Riesentipper" gegenüber c++ mit einen kurzen "Brainer".
-
Hi,
ich würde die GUI über QT mit QML programmieren. Eine Art HTML/CSS-Sprache für QT-GUIs. Mach dir nicht den Stress die GUI in C++ zu programmieren! Außerdem können mit QML theoretisch auch Nicht-Programmierer GUIs erstellen.EDIT: Wenn sich deine Firma weiterhin so unprofessionell verhält, ist die schnell weg vom Fenster. In so einem Pommes-Buden-Verein habe ich auch mal gearbeitet. Heute sieht's bei denen so aus: Chef ist wegen Geldmangel in die Firma gezogen, ca. 50% der Belegschaft hat bzw. wurde gekündigt, Gehalt wurde seit einigen Monaten nicht bezahlt, der Schrott-Code der von Version zu Version mitgeschleppt wurde, hat zur Folge, dass unzählige Support-Anfragen die Entwickler daran hindern die Software weiter zu entwickeln --> Terminverzögerungen.
Mag sein, dass es Anfangs lustig ist in so einer locker-lustigen Firma zu arbeiten, aber glaub mir: So eine Firma überlebt keine 15 Jahre, wenn sie sich nicht ändert! Meine ehemalige Firma, in der ich meine Ausbildung gemacht habe, hat nur deswegen so lange überlebt, weil sie eine Nische gefunden hatte, in der man Mondpreise für richtige Schrott-Software verlangen durfte!Liebe Grüße
Steffo
-
Steffo schrieb:
Hi,
ich würde die GUI über QT mit QML programmieren. Eine Art HTML/CSS-Sprache für QT-GUIs. Mach dir nicht den Stress die GUI in C++ zu programmieren! Außerdem können mit QML theoretisch auch Nicht-Programmierer GUIs erstellen.Gut. Werde ich mir mal anschauen. Eilt nämlich gerade nicht, ein Chef ist gerade für 6 Wochen nach Südostasien geflogen (Urlaub machen), und das Projekt ist aufgrund von gerade mal 7 Tickets auch in den Hintergrund gerückt.
Steffo schrieb:
Wenn sich deine Firma weiterhin so unprofessionell verhält, ist die schnell weg vom Fenster. In so einem Pommes-Buden-Verein habe ich auch mal gearbeitet. Heute sieht's bei denen so aus: Chef ist wegen Geldmangel in die Firma gezogen, ca. 50% der Belegschaft hat bzw. wurde gekündigt, Gehalt wurde seit einigen Monaten nicht bezahlt, der Schrott-Code der von Version zu Version mitgeschleppt wurde, hat zur Folge, dass unzählige Support-Anfragen die Entwickler daran hindern die Software weiter zu entwickeln --> Terminverzögerungen.
Mag sein, dass es Anfangs lustig ist in so einer locker-lustigen Firma zu arbeiten, aber glaub mir: So eine Firma überlebt keine 15 Jahre, wenn sie sich nicht ändert! Meine ehemalige Firma, in der ich meine Ausbildung gemacht habe, hat nur deswegen so lange überlebt, weil sie eine Nische gefunden hatte, in der man Mondpreise für richtige Schrott-Software verlangen durfte!Verdammt, du hast meine Firma ziemlich genau beschrieben.
Aber ich habe auch schon so genug Arbeit zu erledigen. Mein 'Sorgenkind' ist derzeit Meister Vergesslich - ich meine, mein Gedächtnis ist schon ziemlich im Arsch, aber der übertrifft alles. Ich schiebe ihm Tickets zu, er beantwortet sie nicht. Ich spreche ihn darauf an:
I; Hast du dich um das Ticket von O. gekümmert? Der Typ wartet seit einer Woche auf Rückmeldung.
M.V.: Öhhh ... ... ... ... weißt du, ich bin gerade so auf einer Autobahn, weißt du?
I: ???
M.V.: Ja, ich bin gerade was anderes am Machen und kann nicht wechseln ...
I.: Was hat das mit dem Ticket zu tun? Hast du dich darum gekümmert?
M.V.: Öhhh ... ... ... ... öhh, nein.
I.: (Hab schon damit gerechtnet) Wieso nicht? Schlichtweg vergessen? (Das hätte ich noch verstanden ...)
M.F.: Öhh ... ... ich ... ich gelobe Besserung. (sic)Die Templates, die er schreibt und geschrieben hat, darf ich regelmässig ausbessern, weil die Kunden einfach Usability-Fehler haben. Aber das schärfste: Laut Chefprogrammierer und 'Luftverschwendung' (der Typ surft die ganze Zeit im Web rum und schaut sich geschwollene Genitalien an) ist Meister Vergesslich der einzige, der testet und der fehlerfreien Code schreibt. Sücher dat, deshalb melden sich die Kunden ja auch so häufig bei uns, weil denen die Software so gut gefällt.
Aber mir traut man es zu, dass ich mich auf meinen Kollegen stürze und ihm einen Schraubenzieher in den Schädel jage. Wie verrückt muss man eigentlich sein, um kostenlose Glückspillen zu bekommen?
-
Mein Tipp: Bring Ordnung in deinem Leben, dann klappts auch besser mit dem Erinnern. Je mehr Ordnung es in deinem Leben gibt, desto ruhiger deine Gedanken, je ruhiger deine Gedanken, desto klarer und konzentrierter kannst du denken und desto besser ist dein Gedächtnis.
Mein zweiter Tipp: Schnell die Firma wechseln (falls du Ausbildung machst, mach sie noch zu Ende). Den Leuten ist nicht zu helfen, da kannst du sagen was du willst!EDIT: Ich kann Meditation, wie sie im Zen-Buddhismus zu finden ist, nur empfehlen!
L. G.
Steffo
-
Steffo schrieb:
Mein Tipp: Bring Ordnung in deinem Leben, dann klappts auch besser mit dem Erinnern. Je mehr Ordnung es in deinem Leben gibt, desto ruhiger deine Gedanken, je ruhiger deine Gedanken, desto klarer und konzentrierter kannst du denken und desto besser ist dein Gedächtnis.
Ach weißt du, mir gefällt's so ein bisschen. Ich könnte hier Geschichten erzählen, da würden euch die Ohren abfallen, nur weil ich so chaotisch bin.
Steffo schrieb:
Mein zweiter Tipp: Schnell die Firma wechseln (falls du Ausbildung machst, mach sie noch zu Ende). Den Leuten ist nicht zu helfen, da kannst du sagen was du willst!
Ich bin nicht dort, um Geld zu verdienen, ich bin da, um zu lernen. Und in den letzten Monaten habe ich eine verdammte Menge gelernt, auch wenn ich mir sicher bin, dass ich die Thematik nicht einmal angekratzt habe.
Aber ich bin ja noch 20, noch habe ich Zeit ...
Steffo schrieb:
EDIT: Ich kann Meditation, wie sie im Zen-Buddhismus zu finden ist, nur empfehlen!
Meditation? Also jetzt mal ohne Mist, mir ist bewusst, dass ich verrückt bin. Jetzt erkläre du mir, wie ich hyperaktives Nervenbündel die nötige Konfiguration dafür aufbringen soll, ganz still zu sein und und mich auf ... ja, was denn eigentlich konzentrieren?
Und überhaupt, Zen-Buddhismus? Da könnte ich dir wieder was erzählen, was du vermutlich noch nicht gehört hast, und den Buddhismus mit anderen Augen sehen.
-
Der aus dem Westen ... schrieb:
Meditation? Also jetzt mal ohne Mist, mir ist bewusst, dass ich verrückt bin. Jetzt erkläre du mir, wie ich hyperaktives Nervenbündel die nötige Konfiguration dafür aufbringen soll, ganz still zu sein und und mich auf ... ja, was denn eigentlich konzentrieren?
Meditation betreibt man nicht, weil man sich schon so super konzentrieren kann, sondern weil man eben noch viel aus sich herausholen kann.
Und überhaupt, Zen-Buddhismus? Da könnte ich dir wieder was erzählen, was du vermutlich noch nicht gehört hast, und den Buddhismus mit anderen Augen sehen.
Ich habe über die Methode der Meditation geredet, die im Zen-Buddhismus gelehrt wird und nicht über die Religion an sich. Das sind zwei paar Schuhe.
L. G.
Steffo
-
also schrieb:
C# ist 5 mal so langsam wie C++
Ich erinnere mich mal so an den Benchmark, bei dem C# etwa 3x schneller im Double parsen war als die IO-Streams.
-
Steffo schrieb:
Ich habe über die Methode der Meditation geredet, die im Zen-Buddhismus gelehrt wird und nicht über die Religion an sich. Das sind zwei paar Schuhe.
Habe ich wohl nicht mitbekommen.
Ethon schrieb:
also schrieb:
C# ist 5 mal so langsam wie C++
Ich erinnere mich mal so an den Benchmark, bei dem C# etwa 3x schneller im Double parsen war als die IO-Streams.
Das bekomme ich auch hin, wenn ich mich einen Dreck um die Pufferung kümmere. Wenn ich's schön umständlich mache, ist sogar Java schneller als C.
-
Der aus dem Westen ... schrieb:
Das bekomme ich auch hin, wenn ich mich einen Dreck um die Pufferung kümmere. Wenn ich's schön umständlich mache, ist sogar Java schneller als C.
Die IO-Streams puffern schon richtig, sie sind einfach überladen.
Die Aussage von mir war eigentlich: So pauschal darf man das nicht sagen. C# ist schon nett von der Performance her.