[c++] plattformabhängig - plattformunabhängig??



  • Gregor schrieb:

    Stimmt, Javacode ist überhaupt nicht portabel. Der Code muss ja nicht portiert werden. Aber man kann mit Java Programme mit Fenstern usw. schreiben, die auf einer Vielzahl von Plattformen ausgeführt werden können. Es muss nur eine JVM installiert sein. Wenn man davon nicht ausgehen kann, kann man ja eine mitliefern.

    Ach ich weiß nicht. Die Probleme sind vielfältig, und man sieht das auch bei den Client-Anwendungen im Internet. Z.B. bieten viele Anbieter für den Druck von Digitalbildern außer einem Java-Client auch noch einen nativen Windows-Client an, der dann meistens schneller ist und zuverlässiger.

    Und ich habe das auch anders selbst erlebt: als ich für ein Java-Buch einige Dinge ausprobieren wollte, habe ich mir die aktuelle VM + JDK geladen und installiert. Alles Prima soweit. Als ich das nächste Mal Online-Banking machen wollte, ging das nicht mehr. Das Applet stürzte mit einer Null-Ptr-Exception ab. Ich konnte erst dann wieder Online-Banking machen, als ich die neue VM (das war wohl .3 Version) deinstallierte und mit der alten weiterfuhr.

    Kann ja sein, daß das alles Schuld der Entwickler ist und nicht an Java liegt, aber mir als Kunde ist das eigentlich egal warum es nicht geht, wenn es nicht geht. Es war ein riesiger Akt das wieder richtig hinzubiegen, vor allem weil die Deinstallation nicht problemlos funktionierte.



  • Marc++us schrieb:

    Artchi schrieb:

    Die MFC von MS ist auch nur auf den VC++ beschränkt, also selbst in der Windows-Welt kann man keinen anderen Compiler nehmen.

    *seufz*

    Doch, der Borland C++ Builder. Der kann auch MFC. Borland hat schon seit jeher die MFC lizenziert und immer mitgeliefert.

    und mit dem Zeta Compiler lassen sich auch MFC PRogramme compilieren
    ebenso mit dem von Digital MArs



  • Trotzdem ist die MFC ungeeignet für Platform unabhängigkeit und nebenbei ist sie auch ein teurer Spaß. Wozu sollte ich Geld ausgeben, wenn ich Librarys ihm modernem C++ Design gratis und mit Sourcen bekomme und wo die Librarys nicht in den nächsten Jahren eingestellt wird? Support kann ich auch erhalten, oft sogar kommerzielle Support Verträge.

    Gregor schrieb:

    Welche GUI-Lib für C++ kann da mithalten?

    also wenn ich mir ein Widget System auf SDL Basis nehme oder bastel, bin ich mindestens genauso portabel. Dann nehm ich eben für Thread und Socket Zeugs einfach ACE.

    Marc++us schrieb:

    Das Applet stürzte mit einer Null-Ptr-Exception ab.

    ich dachte in Java gibt es keine Pointer, sondern nur Referenzen und die können ja nicht NULL sein. Das war doch immer das Argument für Java.



  • kingruedi schrieb:

    ich dachte in Java gibt es keine Pointer, sondern nur Referenzen und die können ja nicht NULL sein. Das war doch immer das Argument für Java.

    DAS war sicherlich nie das Argument für Java. Java-Referenzen können null sein, sie können aber nicht auf Unsinn zeigen.

    Als ich das nächste Mal Online-Banking machen wollte, ging das nicht mehr. Das Applet stürzte mit einer Null-Ptr-Exception ab. Ich konnte erst dann wieder Online-Banking machen, als ich die neue VM (das war wohl .3 Version) deinstallierte und mit der alten weiterfuhr.

    War das zufällig die VM von MS? AFAIK wurden früher viele Applets genau für diese VM entwickelt. MS hat den Entwicklern und Nutzern da mehr oder weniger vorgegaukelt, dass es sich hierbei um Java handelte, aber die VM war inkompatibel zu Java. Sun hat diesbezüglich gegen MS geklagt und vor Gericht Recht bekommen. Das Resultat: Kein Java mehr von MS, dafür gibt es jetzt .NET!



  • DAS war sicherlich nie das Argument für Java. Java-Referenzen können null sein, sie können aber nicht auf Unsinn zeigen.

    lol ob die nun auf NULL Zeigen und ich das dereferenzieren will oder nach XYZ ist im Endeffekt doch egal. In C++ können Referenzen nur auf gültige Objekte zeigen. Das nenn ich mal sicher :p



  • Naja, die VM war schon zum SUN-Standard kompatibel. Aber MS hatte halt zusätzliche Features die nicht in SUNs Specs drin waren, und somit hatte MS mehr geboten als SUN. Eigentlich positiv, aber wer keine MS-VM hatte, war im Nachteil. 😉



  • kingruedi schrieb:

    lol ob die nun auf NULL Zeigen und ich das dereferenzieren will oder nach XYZ ist im Endeffekt doch egal.

    Nein, das ist nicht egal. Bei null weiß man, dass es sich hierbei nicht um ein Objekt handelt. Bei XYZ weiß ich nicht, ob es ein Objekt ist oder nicht.

    Eigentlich positiv

    MS hat das als Java verkauft, was es nicht war. Ich kann daran nichts positives entdecken. Das hat Java sicherlich deutlich in seiner Verbreitung gehindert. Das Gericht hat ja auch nichts positives daran gesehen.



  • "positiv" im Sinne von mehr Features.



  • danke nochmals für die antworten 🙂

    @ kingruedi: was ist MFC? also ich lerne c++ mithilfe des buches "jetzt lerne ich c++" und der onlineversion von "c++ in 21 tagen" (die sind ja recht identisch, nur das zweite ist ausführlicher), ich benutze auch devc++. aber ich weiss auch nicht was du mit IDE meinst *schähm* und danke für die links 😉

    @ artchi: ja leider weiss ich nur nicht was MFC genau ist 😞 hmm, nein ich kann eigentlich nicht c++, wie gesagt bin noch am lernen. kann jetzt so grundaufbau, if, while, rechnen, variablen, funktionen, (klassen) ... nein ich möchte eigentlich nicht nur für windows coden. also dann kann ich vc++ in 21 tagen ja wieder löschen und lerne jetzt mal mein buch zu ende 😉

    edit: weiss inzwischen was IDE ist 🙄



  • kingruedi schrieb:

    In C++ können Referenzen nur auf gültige Objekte zeigen. Das nenn ich mal sicher :p

    Referenzen in C++ sind was grundlegend anderes als Referenzen in Java. Der gleichlautende Name ist eher verwirrend, eigentlich müßten die Dinger in Java Pointer heißen, aber der Begriff ist von C++ her zu negativ besetzt.



  • Sili! MFC steht für Microsoft Foundation Classes. Es ist also eine Klassen-Sammlung mit der man relativ einfach Windows-Programmierung betreiben kann. Es hat zwar auch so seine unschönen Seiten, aber es funktioniert. 😉 Und natürlich halt nur für Windows, weil es die MFC nicht für andere Plattformen gibt. Die MFC könnte man sicherlich auf andere Plattformen portieren, aber macht natürlich keiner (MS schon garnicht).

    wxWindows ist z.B. eine gute Alternative zur MFC. Andere bevorzugen GTK u.a. Libs.

    Eines kann man dir hier aber raten: lerne erstmal C++ mit der Standard-lib, es ist umfangreich genug. Und dann kannst du dich ja irgendwann langsam in eine der genannten Bibliotheken einarbeiten.



  • kingruedi schrieb:

    Trotzdem ist die MFC ungeeignet für Platform unabhängigkeit und nebenbei ist sie auch ein teurer Spaß.

    der MArs Compiler ist nur kostenlos
    den BCB gibts als Kommandozeilenversion kostenlos und auch als Personal Edition



  • Ja, aber was er meint: den Quelltext und die DLLs der MFC bekommt man nur, wenn man einen Visual C++ oder einen Borland C++ Builder kauft. Insofern nützt einem der kostenlose Compiler nichts, wenn man die Quellen oder auch die Includes, Libs + DLL nicht kostenlos bekommt.



  • Artchi schrieb:

    Eines kann man dir hier aber raten: lerne erstmal C++ mit der Standard-lib, es ist umfangreich genug. Und dann kannst du dich ja irgendwann langsam in eine der genannten Bibliotheken einarbeiten.

    ja jetzt weiss ich was ich zu tun hab 🙂


Anmelden zum Antworten