Heute noch C++ für Unternehmenssoftware



  • Prof84 schrieb:

    1. Direkt code ich schon lange nicht mehr nativ. Bei mir ist heute alles modellgetrieben. C++, Java oder C# nur noch mit Codegenerator.

    Sehr interessant! Ich setze mich derzeit auch ein wenig mit MDA auseinander, leider befinde ich mich noch im Anfängerstadium. Kannst Du Case-Tools empfehlen die Ihr Geld Wert sind? Hast Du gute Bookmarks bzw. Literatur zu diesem Thema?



  • Ein Projektleiter schrieb:

    inwiefern war das jetzt eine antwort auf die frage ?

    Ok!

    Die Wahl der Programmiersprache wird getroffen aufgrund von:

    1. technischen Anforderungen - Einsatzgebiet der Software, Toolunterstützung, verfügbare Experten, Entwicklungsdauer, Flexibilität bei der Änderung, ...
    2. Entwicklungsaufgabe - im Finanzsektor ist Java recht etabliert, für Steuerungssoftware C++ und im MS Umfeld ist c# der Hype.Dies aus technischen Gründen. Aber es existiert keine zwingende Signifikanz der Technologie.
    3. Altbestand - Existiert schon eine Lösung? In welcher Sprache ist die geschrieben? Können wir einen Sprachenwechsel vornehmen? Schnittstellen implemtieren?....
    4. Paradigmen - Objektorientierung, Serviceorientierung, Aspektorientierung, Produktlinien, Modell-getrieben, Ereignis-getrieben etc. Welches Paradigma wollen wir etablieren und in wieweit unterstützt dies unsere Sprache?
    5. Welche Fertigsoftware möchte ich im Unternehmen nutzen und in wieweit unterstützen diese die Sprachen?
      etc.

    D.h.: Die Entscheidung sollte nach einer sinnvollen Konzeption getroffen werden und nicht nach einer Umfrage im Internet. 😉



  • @Prof84 schrieb:

    Prof84 schrieb:

    1. Direkt code ich schon lange nicht mehr nativ. Bei mir ist heute alles modellgetrieben. C++, Java oder C# nur noch mit Codegenerator.

    Sehr interessant! Ich setze mich derzeit auch ein wenig mit MDA auseinander, leider befinde ich mich noch im Anfängerstadium. Kannst Du Case-Tools empfehlen die Ihr Geld Wert sind? Hast Du gute Bookmarks bzw. Literatur zu diesem Thema?

    Möchtest Du als Student den kommerzielle Lösungen einsetzen?

    Hier ist mal ein kleines Arbeitspaket
    http://modelware-ist.org/
    Schau Dir zuerst die Videos an. Brauchen Flash, xDSL und Ton.

    http://www.eclipse.org/modeling/
    http://www.eclipse.org/gmt/oaw/
    http://www.software-families.org/slides/voelter.pdf

    http://www.software-families.org/programm.html
    http://se-radio.net

    Aber vielleicht möchtest Du mit erst mal mit DSM anfangen:
    www.metacase.com
    Lade Dir mal Metaedit+ runter (30 Tage trial)
    oder
    http://www.isis.vanderbilt.edu/projects/gme/

    Kommt man schneller zu Resultaten.

    Reicht erst mal für den Anfang.



  • Prof84 schrieb:

    ... in der DB wäre ich der 168te den er anruft.

    In der Deutschen Bahn? 😕 😉



  • Prof84 schrieb:

    Im Embedded Bereich ist C++ immer noch die erste Wahl. Oder generell in der hardwarenahen Umgebung.

    wieder einer, der C nicht von C++ unterscheiden kann 🙄



  • vista schrieb:

    Prof84 schrieb:

    Im Embedded Bereich ist C++ immer noch die erste Wahl. Oder generell in der hardwarenahen Umgebung.

    wieder einer, der C nicht von C++ unterscheiden kann 🙄

    Wieder so einer, der nicht weiß, dass man C++ auch embedded einsetzen kann. 🙄



  • Bei normalen Desktop-Anwendungen ist zum einen eine gute Integration in die Umgebung des Benutzers wichtig. Da kann Java nicht mithalten. Java ist eben unter jeder Umgebung fremd. Außerdem hat Java einen ganz klar höheren Speicher-Verbrauch und teilweise ein langsames verhalten. So sind zumindest meine Erfahrungen und wenn ich auf einem 1GB-Rechner warten muss, bis sich ein Dialog aufgebaut hat und ich ihn wegklicken kann, ist das sehr schlecht. Oder die ganzen VM-Installations Angelegenheiten. Das ist eben nichts für DAUs. Daher wird sich Java wohl nie im Desktop-Bereich durchsetzen.

    Das war bis jetzt die unquilifizierste Bemerkung im ganzen Thread. Was brauchen den GUI-Anwendungen für eine Intergration? Das einzige was diese GUI-Anwendungen brauchen ist die Zwischenablage. Mehr nicht.

    Eine Java Anwendung hat normalerweise eine sehr gute Perfomance, oder du hast bis jetzt mit sehr schlecht programmierten Anwendungen gearbeitet. VisualParadigm ist z.B. eine Java-Anwendung und arbeitet sehr flott bei sehr vielen Features.

    VM-Installations-Angelegenheiten? Was gibt's da für welche? Du lädts dir aus dem Internet eine 50 Megs große Installationsdatei runter und das wars. Damit läuft dann jede Java-Anwendung. Die Jar-Datei kannst du unter Windows danach mit einem Doppelklick ausführen, der DAU merkt gar nicht das es eine Jar Datei ist und keine Exe, weil Windows als Standard die Dateierweiterungen nicht anzeigt. Du brauchst bei kleinen Programmen nichts zu installieren sondern kannst die Jar überall ausführen. Ausserdem funktioniert die Anwendung unter jedem System der die JVM installiert hat.

    Meine letzte geschriebene Java-Anwendung läuft problemlos auf Linux, WindowsXP, und Vista (wahrscheinlich auch unter allen anderen Systeme für die es eine JVM gibt), ohne etwas neu kompelieren zu müssen oder überhaupt irgendwas daran zu ändern. Ist eben eine 100% GUI-Anwendung (aber schon komplexer als ein Terminplaner :p )

    Kannst dir gerne runterladen:
    http://www.globalscaling.de/index.php?option=com_content&view=category&layout=blog&id=7&Itemid=7
    und dann auf Software: Global Scaling Rechner

    Ich verstehe auch nicht wieso ständig propagiert wird das Java-Anwendungen generell viel Speicher verbrauchen. Die JVM wird unter allen Anwendungen geteilt und der erzeugte Code kann auch nicht größer sein als ein C++-Programm. Wenn sich jemand über den großen Speicherverbraucht aufregt, dann sollte man die ganzen Bibliotheken die ein C++-Programm benötigt bitte auch in die Rechnung einfließen lassen und dies bei C++-Programmen nicht außenvor lassen.



  • DEvent schrieb:

    Die JVM wird unter allen Anwendungen geteilt und der erzeugte Code kann auch nicht größer sein als ein C++-Programm.

    😕 Meist du die java.exe oder was? Jedes Java Programm das läuft hat doch seine eigene VM. Da würde ja keine Java Programm mehr funktionieren, wenn eines mal nen OutOfMemoryError hatte.



  • Hm zum Thema Integration

    Eine SWING - Anwendung sieht bei mir wie eine SWING-Anwendung aus und nicht wie eine GNOME / KDE / Win32 - Anwendung. Von Integration kann man da wohl kaum reden und ich persönlich finde das stören.

    P.S.: Ich weis, dass Java != SWING und dass man mit Java auch Programme schreiben kann, die sich tatsächlich Integrieren 😉



  • Jester schrieb:

    vista schrieb:

    Prof84 schrieb:

    Im Embedded Bereich ist C++ immer noch die erste Wahl. Oder generell in der hardwarenahen Umgebung.

    wieder einer, der C nicht von C++ unterscheiden kann 🙄

    Wieder so einer, der nicht weiß, dass man C++ auch embedded einsetzen kann.

    naja, es geht schon, aber die aussage von Prof84 "Im Embedded Bereich ist C++ immer noch die erste Wahl. Oder generell in der hardwarenahen Umgebung" ist einfach falsch. das lässt mich vermuten, dass C und C++ hier gleichgesetzt wurden...
    🙂



  • darthdespotism schrieb:

    Eine SWING - Anwendung sieht bei mir wie eine SWING-Anwendung

    meine Swing (es gibt kein SWING, was meinst du damit?) Anwendung sieht hübsch aus, und ist von einer winapi anwendung nicht zu unterscheiden !?
    im übrigen ist das argument "java/swing ist scheiße weil sieht nicht wie windows aus" mit verlaub dummfug 👎
    die meisten anwendungen sehen nicht "wie windows aus". kurze beispielliste:
    - firefox
    - trillian
    - winamp
    - photoshop (und alle anderen adobe produkte auch)
    - ms office, ms media player
    - dreamweaver
    - opera
    alle scheiße 👎 👎 👎



  • Vista! Nö, es lässt nur vermuten, das C++ so langsam C im Embeddedbereich eingeholt hat - nicht mehr und nicht weniger.

    Devent! SWING ist genial zum Programmieren (ich finde die Swing-Lib genial um meine GUIs zu bauen). Aber unter Integration verstehe ich was anderes. Oder warum gibt es SWT? Genau deshalb, weil man mit SWT halt doch die nativere GUI in Java hinbekommt. Wir haben mal einem Großprojekt unser Java-Eclipse-Framework gezeigt, weil sie von Smalltalk auf Java umsteigen wollten. Als wir in der Präsentation von Swing-Desktop anfingen, haben die gleich abgewunken und gemeint, sie können mit Swing nichts anfangen. Solange wir kein SWT haben, hat unser Framework keine Chance. Denn aus anderen Swing-Projekten haben sie negative Erfahrung gemacht. Yo... und das war vor 2 Monaten.



  • aha schrieb:

    darthdespotism schrieb:

    Eine SWING - Anwendung sieht bei mir wie eine SWING-Anwendung

    meine Swing (es gibt kein SWING, was meinst du damit?) Anwendung sieht hübsch aus, und ist von einer winapi anwendung nicht zu unterscheiden !?
    im übrigen ist das argument "java/swing ist scheiße weil sieht nicht wie windows aus" mit verlaub dummfug 👎
    die meisten anwendungen sehen nicht "wie windows aus". kurze beispielliste:
    - firefox
    - trillian
    - winamp
    - photoshop (und alle anderen adobe produkte auch)
    - ms office, ms media player
    - dreamweaver
    - opera
    alle scheiße 👎 👎 👎

    Es geht um Look&Feel!!! Das MS-Office nicht wie eine normale Win-Anwendung aussieht stimmt. Aber das ist der Look. Es gibt aber auch das Feel, und da benutzt das MS-Office nunmal immer noch native Windows-Controlls.

    Opera ist übrigens eine Qt-Anwendung, genauso wie die meisten Adobe-Produkte.



  • Artchi schrieb:

    Oder warum gibt es SWT? Genau deshalb, weil man mit SWT halt doch die nativere GUI in Java hinbekommt.

    falsch, weil swing zu langsam war vor 8 jahren oder wann ibm mit visual age/eclipse angefangen hat

    Artchi schrieb:

    Es geht um Look&Feel!!!

    darthdespotism schrieb:

    Eine SWING - Anwendung sieht bei mir wie eine SWING-Anwendung aus

    davon abgesehen dass ich dort nichts gelesen hab von feel versteh ich nicht inwiefern man was am feel von java applikationen bemängeln kann.



  • Das Feel beinhaltet nunmal das Verhalten der Widgets. Damit ist nicht mal die Performance gemeint. Aber mal ein krasses Beispiel um es deutlich zu machen: muß ich eine Combobox lange gedrückt halt damit die Dropdownlist aufgeklappt bleibt oder reicht ein einfacher Mouseklick? Von alten GTK-Anwendungen unter Windows weiß ich noch, das man diese lange drücken mußte. Hat man als Gewohnheitsmensch nur kurz drauf geklickt, ging die Dropdownlist sofort wieder zu. Das Feel war katastrophal für einen Windows-Benutzer. Unter einem entsprechenden originalen GTK-Desktop (Gnome?) mag das völlig i.O. Aber Windows-GIMP war damals einfach nur schlecht zu bedienen. Heute hat sich das Feel schon sehr an Windows angepasst.

    Swing-Anwendungen haben z.B. kein Kontextmenü im JTextfield (Textfeld). Eine ganz einfache Sache unter Windows, weil das jedes EDIT-Control serienmäßig dabei hat. Immer wieder rufen User bei uns an, und fragen wie sie einen Text aus einem Textfeld kopieren können? Natürlich mit Ctrl+C! Aber das interessiert den normalen Anwender nicht, der es gewohnt ist die rechte Mousetaste zu drücken. Ich weiß nicht ob es unter Java 1.6 besser geworden ist. Unter Java 1.5 war das noch nicht eingebaut. Es gibt noch ein paar andere Sachen, wo einfach Inkonsistenten für den Normal-User auftauchen. Ich als Technikfan suche mir nen Ausweg und gewöhn mich schnell um. Aber die meisten User haben mit PCs nichts am Hut, es ist ein notwendiges Übel um die Arbeit zu erledigen.

    Z.B. kann man das Kontextmenü des Edit-Felds erweitern. Mein Kontextmenü auf meinem Privat-PC hat neben Copy-Paste-Menüs noch ein paar andere Einträge. Die würde ich gerne in allen Textfeldern aller Anwendungen haben.



  • Artchi schrieb:

    Vista! Nö, es lässt nur vermuten, das C++ so langsam C im Embeddedbereich eingeholt hat...

    das lässt es nicht. lies doch nochmal genau, was er geschrieben hat...



  • Swing-Anwendungen haben z.B. kein Kontextmenü im JTextfield (Textfeld). Eine ganz einfache Sache unter Windows, weil das jedes EDIT-Control serienmäßig dabei hat. Immer wieder rufen User bei uns an, und fragen wie sie einen Text aus einem Textfeld kopieren können? Natürlich mit Ctrl+C! Aber das interessiert den normalen Anwender nicht, der es gewohnt ist die rechte Mousetaste zu drücken. Ich weiß nicht ob es unter Java 1.6 besser geworden ist. Unter Java 1.5 war das noch nicht eingebaut. Es gibt noch ein paar andere Sachen, wo einfach Inkonsistenten für den Normal-User auftauchen. Ich als Technikfan suche mir nen Ausweg und gewöhn mich schnell um. Aber die meisten User haben mit PCs nichts am Hut, es ist ein notwendiges Übel um die Arbeit zu erledigen.

    Z.B. kann man das Kontextmenü des Edit-Felds erweitern. Mein Kontextmenü auf meinem Privat-PC hat neben Copy-Paste-Menüs noch ein paar andere Einträge. Die würde ich gerne in allen Textfeldern aller Anwendungen haben.

    Mach das doch einfach! Ich habe auch in meinem Textfeld ein Contex-Menu eingebaut. Nichts einfnacher als das, einfach das MouseListener-Interface implementieren und zu dem Textfeld eintragen: textfeld.addMouseListener(new MyMouseListener());

    Ich bezweifle das man in der WinAPI so ein Contex-Menu standardmäßig schon bei jedem Control dabei ist. Vielleicht irre ich mich, hab das letzte mal vor 10 Jahren mich mit der WinAPI beschäftigt.

    Es geht um Look&Feel!!!

    Richtig programmiert verhält sich ein Java-Programm nicht anders als ein WinAPI-Programm. Z.b. mein GlobalScalingRechner, VisualParadigm, ArgoUML oder Azereus. Unter Java kannst du sogar dein eigenes Look&Feel definieren. Ausserdem wie aha schon treffend gesagt hat, hat doch jedes Programm ein eigenes Look and Feel.



  • DEvent schrieb:

    Das war bis jetzt die unquilifizierste Bemerkung im ganzen Thread.

    An deiner Stelle würde ich den Ball mal flach halten



  • DEvent schrieb:

    Mach das doch einfach! Ich habe auch in meinem Textfeld ein Contex-Menu eingebaut. Nichts einfnacher als das, einfach das MouseListener-Interface implementieren und zu dem Textfeld eintragen: textfeld.addMouseListener(new MyMouseListener());

    Ne, das ist Dreck. Genauso wie der File Dialog niemals geil sein wird. Ich hab ein Subversion-Plugin im Explorer, der mir den Status der Dateien anzeigt, das wird in einem Swing-File Dialog auch nie zu sehen sein, in jedem normalen Dialog aber schon. Und die ganze Explorer-Funktionalität darin wie kopieren von Dateien und Ordnern ist auch mega-schlecht umgesetzt. Und da können sie noch so viel rumfrickeln, jedesmal wenn es ein neues Windows gibt, wo der Dialog wieder anders aussieht (wie jetzt in Vista) brauchen sie wieder 5 Jahre, damit es immer noch nicht geil ist. Völliger Mist, das selber zeichnen.



  • Richtig programmiert verhält sich ein Java-Programm nicht anders als ein WinAPI-Programm. Z.b. mein GlobalScalingRechner, VisualParadigm, ArgoUML oder Azereus. Unter Java kannst du sogar dein eigenes Look&Feel definieren. Ausserdem wie aha schon treffend gesagt hat, hat doch jedes Programm ein eigenes Look and Feel.

    Ganz ehrlich, dein GlobalScalingRechner sieht, zumindestens auf den Screenshots, salop formuliert nicht sehr in das System integriert aus. Ich muss allerdings fairerweise auch gestehen, dass ich nicht bereit war 340,- Euro auszugeben, nur um deine achso beispielhafte Swing-basierte Desktopanwendung genauer zu evaluieren. Abgesehen davon ist Azureus, meiner Meinung nach das einzige Programm aus deiner Liste, von dem man behaupten kann, dass es sich gut ins System integriert, ebenfalls eine SWT Anwendung.


Anmelden zum Antworten