Ist es sinnvoll heute noch C++ anzufangen?



  • Mich würde mal interessieren was ihr alle von Delphi haltet.

    Ich bin nämlich am überlegen auch auf C++ umzusteigen, weil ich evtl. Programme für Windows Mobile schreiben wollte und dies in Delphi nicht so einfach oder überhaupt nicht möglich ist. Vor allem fehlt mir da noch die Unterstützung von 64Bit.
    Wenn ich allerdings mir hier so die ganzen Postings durchlese kann ja eigentlich keiner wirklich sagen was jetzt besser ist weil jeder das anpreist was er kann...

    Mich wundert auch das hier so viele Java toll finden und das in einem C++ Forum^^

    Naja ich hab jedenfalls schon einige Jahre mit Delphi gearbeitet und finde es eigentlich ganz gut wenn man Programme für Windows schreiben will.



  • Dravere schrieb:

    Ich frage mich langsam, als was du native Resourcen bezeichnest. Vor allem wieso plötzlich native Resourcen? Wir haben doch über native GUIs geredet? Tatsache ist aber, und das geht auch sehr schön aus den Artikeln hervor, welche du verlinkt hast, dass Java seine Komponenten selber zeichnet. LOGISCH muss es dabei irgendwelche APIs von der entsprechenden Platform verwenden. Aber das ist kein native GUI. Da kannst du wettern und tun wie du willst, es ändert nichts an der Tatsache.

    Doch, überprüf deine Fakten. Das Windows XP Look and Feel von Java benutzt das von Windows zur Verfügung gestellte Toolkit um Controls zu zeichnen. Ebenso basiert das Aqua L&F auf dem nativen Cocoa Code um Aqua Controls zu zeichnen und das GTK l&f auf dem nativen GTK+ Code um GTK Controls zu zeichnen. Ist dir das explizit genug? Hier nochmal auf englisch und explizit:
    http://weblogs.java.net/blog/chet/archive/2006/10/java_on_vista_y.html (Abschnitt "Native Look and Feel")

    Problem: In Windows XP, Swing derived its native look & feel from resources on the system which XP itself used. So, essentially, we were using the same core resources as XP itself to make our components look native. However, there were some corner cases in which this did not work on XP. Even more problematic, Vista uses a completely new system with new resource locations and formats. So not only did we not look Vista-native on Vista; we didn't even look XP-native (because the XP resources no longer exist).
    Solution: In Java SE 6, the Swing native look & feel for both Windows and GTK was re-written to use the native platform rendering engine to draw Swing widgets. Instead of our old approach of using the native resources and doing our own rendering, we actually call the native rendering system to draw the widgets for us (on Windows, this is done through the UXTheme API). This means that we are finally able to achieve true native fidelity for these components because, by definition, our components are drawn in the same way that the native components are.

    Im Hintergrund braucht es die gleichen Versionen, sonst hättest du ziemlich Mühe, da der Bytecode unterschiedlich wäre. Denn im Bytecode wird die Java Version gespeichert.

    Wieder unsinniges Halbwissen, im Bytecode wird die "Major" version des SDKs abgespeichert mit dem kompiliert wurde, diese version ändert sich selbstverständlich nicht, mit den minor (security) updates, wie die _XX versionen. Mit welcher Runtime Version ich ein Programm ausführe ist dem Programm egal, solange sie nicht älter ist, als die Version mit der kompiliert wurde (logisch).

    Weil es auch Bugs in den Java Spezifikationen haben könnte und diese auch auf MacOSX vorhanden sind?

    Ich weiß nicht was "bugs in speizifikationen" sind, kannst du das mal erläutern 🙄
    Jedenfalls sind in den updates hauptsächlich bug fixes enthalten, Beispiel: http://java.sun.com/javase/6/webnotes/6u14.html

    Was QT angeht: finde ich allgemein angenehmer als boost, aber das ist wohl geschmackssache, ich muss zum glück auch nicht all zu viel in C++ programmieren.

    ibs schrieb:

    Ja, klar die GUI kann man in C# oder Objective C machen. Aber das wichtige, also der Kern der Anwendung wird dann eben in C++ gemacht

    Achso, habe angenommen du beziehst das (C++) auch auf die GUI, weil du vorher explizit von Desktopanwendungen geredet hast und danach moniert hast Java hätte keine native GUI. Worin der Programmkern ist, ist natürlich Jacke wie Hose.

    Aber im Endeffekt wird noch viel Windows Zeugs einfach mit der WinAPI oder MFC gemacht, weil es so viele Leute gibt, die sich damit auskennen. Das ist auch einer der Gründe warum, C++ weiterhin sehr populär sein wird: Einfach weil es viele Leute kennen. Warum sollte man seine Firma auf einmal komplett auf etwas anderes umstellen, nur weil es als Trend propagiert wird.

    Stimmt, aber wenn man neue Anwendungen ohne legacy mit MFC oder gar der WinAPI aufziehen will find ich das doch ein bisschen lebensmüde 🙂



  • databecker schrieb:

    Mich würde mal interessieren was ihr alle von Delphi haltet.

    Delphi ist so 90er und mir irgendwie zu databecker mäßig 😃
    Im ernst: Delphi war ja ganz gut für schnelles RAP aber heute würde ich für sowas doch lieber C# oder Java nehmen, die stellen dir einfach eine modernere toolchain zur verfügung. 👍



  • databecker schrieb:

    Mich würde mal interessieren was ihr alle von Delphi haltet.

    👎 Das Haltbarkeitsdatum ist nun wirklich abgelaufen und es hat angefangen zu stinken :).

    btw. Delphi hat glaube ich auch nur in Deutschland eine gewisse Popularität erreicht.

    databecker schrieb:

    Ich bin nämlich am überlegen auch auf C++ umzusteigen, weil ich evtl. Programme für Windows Mobile schreiben wollte und dies in Delphi nicht so einfach oder überhaupt nicht möglich ist. Vor allem fehlt mir da noch die Unterstützung von 64Bit.
    Wenn ich allerdings mir hier so die ganzen Postings durchlese kann ja eigentlich keiner wirklich sagen was jetzt besser ist weil jeder das anpreist was er kann...

    Es gibt ja auch kein objektives "besser". Schau dir einfach an, welche Sprache dir was bietet und mach dir klar was du willst. Wenn du C# lernst, dann machst du den gleichen Fehler wie mit Delphi und lernst eine Sprache, die für eine Sache gut ist (Windows Desktop Apps). Willst du für andere Systeme arbeiten oder andere Anwendungen machen, dann musst du wieder was neues lernen. Java auf der anderen Seite ist gerade bei Desktop Apps zu recht nicht sonderlich beliebt. C++ bietet dir fast alles udn gibt es für jede Paltform, ist aber im Webbereich nicht wirklich verbreitet.

    databecker schrieb:

    Mich wundert auch das hier so viele Java toll finden und das in einem C++ Forum^^

    Lass dich nicht täuschen. Die Leute die an den Threads teilnehmen, sind eh nur zum flamen hier (besonders fricky. Den würde ich nicht ernst nehmen.) und die finden auch nur Java gut, weil man damit hier flamen kann. Die meisten ernsthaften Leute hier im Forum, nehmen an solchen Threads gar nicht mehr Teil.



  • databecker schrieb:

    Mich wundert auch das hier so viele Java toll finden und das in einem C++ Forum^^

    naja, eigentlich ist es ein forum für alle, die irgendwas mit programmieren zu tun haben. ich bin z.b. hier gelandet, weil es ein C-forum gibt.

    ibs schrieb:

    ...und die finden auch nur Java gut, weil man damit hier flamen kann.

    das stimmt nicht. privat verwende ich sehr gern Java, beruflich ganz selten. in Java zu programmieren macht mir jedenfalls sehr viel spass.

    ibs schrieb:

    Die meisten ernsthaften Leute hier im Forum, nehmen an solchen Threads gar nicht mehr Teil.

    was immer du unter 'ernsthaften leuten' verstehst - die meisten davon werden sich wohl überhaupt nicht in irgendwelchen foren rumtreiben.
    🙂



  • +fricky schrieb:

    was immer du unter 'ernsthaften leuten' verstehst - die meisten davon werden sich wohl überhaupt nicht in irgendwelchen foren rumtreiben.
    🙂

    Ah, und wo stellst du fragen wenn die Onlinehilfe nicht ausreicht und der Arbeitskollege nicht weiter weiß? Ich habe es schon in recht vielen Firmen erlebt das Internet gerade im Bereich Foren, Newsgroups usw. besonders gerne verwendet wird.



  • ablach schrieb:

    databecker schrieb:

    Mich würde mal interessieren was ihr alle von Delphi haltet.

    Delphi ist so 90er und mir irgendwie zu databecker mäßig 😃

    das ich mich so nenne hat andere gründe die ich hier nicht näher erläutern werde 😃

    ibs schrieb:

    databecker schrieb:

    Ich bin nämlich am überlegen auch auf C++ umzusteigen, weil ich evtl. Programme für Windows Mobile schreiben wollte und dies in Delphi nicht so einfach oder überhaupt nicht möglich ist. Vor allem fehlt mir da noch die Unterstützung von 64Bit.
    Wenn ich allerdings mir hier so die ganzen Postings durchlese kann ja eigentlich keiner wirklich sagen was jetzt besser ist weil jeder das anpreist was er kann...

    Es gibt ja auch kein objektives "besser". Schau dir einfach an, welche Sprache dir was bietet und mach dir klar was du willst. Wenn du C# lernst, dann machst du den gleichen Fehler wie mit Delphi und lernst eine Sprache, die für eine Sache gut ist (Windows Desktop Apps). Willst du für andere Systeme arbeiten oder andere Anwendungen machen, dann musst du wieder was neues lernen. Java auf der anderen Seite ist gerade bei Desktop Apps zu recht nicht sonderlich beliebt. C++ bietet dir fast alles udn gibt es für jede Paltform, ist aber im Webbereich nicht wirklich verbreitet.

    OK Danke mit der Antwort kann ich was anfangen 😉
    Da ich bis jetzt nur Windows Desktop Anwendungen programmiert habe hat Delphi immer sehr gut funktioniert aber mitlerweile stößt es für mich da an Grenzen. Deshalb werde ich mich mal näher mit C++ beschäftigen.
    C++ ist eigentlich relativ ähnlich aufgebaut finde ich.



  • Wenn du Windows Desktop Anwendungen programmieren willst, würde ich nicht noch auf ein "sinkendes Schiff" wie C++ wechseln. Gerade wenn du Desktop Anwendungen entwickeln willst, ist C# sicherlich die weitaus bessere Wahl. Sowohl von der Sprache her als solcher, als auch von den Zukunftsaussichten (Die WinAPI wird in mittelferner Zukunft Auslaufmodel und in ferner Zukunft gänzlich abgeschafft werden).



  • Databoris schrieb:

    (Die WinAPI wird in mittelferner Zukunft Auslaufmodel und in ferner Zukunft gänzlich abgeschafft werden).

    Ganz sicher nicht, weil dann tausende Programme nicht mehr funktionieren würden. Und WinAPI hat auch nichts mit C++ zu tun.



  • Scheppertreiber schrieb:

    Hi ~john,

    was das Programm zu tun hat entscheide ich und nicht ein Compiler.

    Das ist die bekannte Geisteshaltung, die massenweise Buffer Over-/Underflos produziert. Man verliert absolut nichts, wenn man eine Sprache ohne Zeigerarithmetik nutzt! Aber wahrscheinlich weist du noch nicht einmal was Zeigerarithmetik überhaupt ist, es ist mitnichten der Verzicht auf Zeiger!



  • schwachsinn schrieb:

    Databoris schrieb:

    (Die WinAPI wird in mittelferner Zukunft Auslaufmodel und in ferner Zukunft gänzlich abgeschafft werden).

    Ganz sicher nicht, weil dann tausende Programme nicht mehr funktionieren würden.

    Aber sicher. Denkst du, Microsoft hat die ganze .Net Dudelei der letzten Jahre zum Spaß getrieben?! Das langfristige Ziel ist die komplette .Netisierung des Userspaces.

    schwachsinn schrieb:

    Und WinAPI hat auch nichts mit C++ zu tun.

    C++ Programme sind halt unmanaged. Und nun willst du ihm wohl nicht allen Ernstes diese unüberschaubare Monstrum von C++/CLI empfehlen, da ist er mit C# oder VB.Net hundert mal besser aufgehoben.



  • Databoris schrieb:

    schwachsinn schrieb:

    Databoris schrieb:

    (Die WinAPI wird in mittelferner Zukunft Auslaufmodel und in ferner Zukunft gänzlich abgeschafft werden).

    Ganz sicher nicht, weil dann tausende Programme nicht mehr funktionieren würden.

    Aber sicher. Denkst du, Microsoft hat die ganze .Net Dudelei der letzten Jahre zum Spaß getrieben?! Das langfristige Ziel ist die komplette .Netisierung des Userspaces.

    Google: Netisierung klar... 😃

    schwachsinn schrieb:

    Und WinAPI hat auch nichts mit C++ zu tun.

    C++ Programme sind halt unmanaged. Und nun willst du ihm wohl nicht allen Ernstes diese unüberschaubare Monstrum von C++/CLI empfehlen, da ist er mit C# oder VB.Net hundert mal besser aufgehoben.

    Zusammenhangsloses Blabla. Viel spass noch...



  • asc schrieb:

    +fricky schrieb:

    was immer du unter 'ernsthaften leuten' verstehst - die meisten davon werden sich wohl überhaupt nicht in irgendwelchen foren rumtreiben.

    Ah, und wo stellst du fragen wenn die Onlinehilfe nicht ausreicht und der Arbeitskollege nicht weiter weiß? Ich habe es schon in recht vielen Firmen erlebt das Internet gerade im Bereich Foren, Newsgroups usw. besonders gerne verwendet wird.

    ja, du hast natürlich recht. ich bin auch oft im internet unterwegs, um irgendwelche infos zusammenzusammeln, allerdings bemühe ich eher google u.ä. mit den richtigen suchbegriffen, anstatt fragen in foren zu stellen. nahezu alle allgemeinen themen wurden schon irgendwo gefragt und beantwortet. viele machen es wahrscheinlich ähnlich und sind, wie ich, parasiten des informationszeitalters, statt selbst hilfreiche beiträge in foren, newsgroups, usw. zu veröffentlichen.

    Databoris schrieb:

    Aber sicher. Denkst du, Microsoft hat die ganze .Net Dudelei der letzten Jahre zum Spaß getrieben?! Das langfristige Ziel ist die komplette .Netisierung des Userspaces.

    vielleicht war das ziel einfach nur, Java unter windows das wasser abzugraben. kann mir schon vorstellen, dass m$ durch Java reichlich genervt war/ist.
    🙂



  • Databoris schrieb:

    Wenn du Windows Desktop Anwendungen programmieren willst, würde ich nicht noch auf ein "sinkendes Schiff" wie C++ wechseln. Gerade wenn du Desktop Anwendungen entwickeln willst, ist C# sicherlich die weitaus bessere Wahl. Sowohl von der Sprache her als solcher, als auch von den Zukunftsaussichten (Die WinAPI wird in mittelferner Zukunft Auslaufmodel und in ferner Zukunft gänzlich abgeschafft werden).

    Das was ich ja wollte sind zusätzlich auch Anwendungen für Windows Mobile zu schreiben... Ich dachte deshalb an C++



  • Das Geflame ist doch sinnlos. Windows Mobile kann auch .NET, mit C# kann man 10000mal leichter Win-GUIs erstellen als mit Visual C++, also nimm C#!



  • ----



  • _matze schrieb:

    dass man schon eher von einer neuen Sprache sprechen müsste (vielleicht "C+#"? oder "C++++"? 😉 )

    Für den erfahrenen C++ Programmierer kommt natürlich nur ++C als neuer Name in Frage.



  • Noch schlimmer sieht der stinkende Müllberg Namens Java aus. Immer neue Features und Funktionen obwohl die Bugs der alten noch nichtmal gefixt sind. Nichtmal grundlegende Dinge wie identisches Verhalten der JVM unter Windows und Linux, den beiden Mainstream-OS ist umgesetzt. Wenn man die Entwicklungszeit kurz halten will soll man sich ordentliche Leute besorgen die "ihre" Sprache _wirklich_ beherrschen, dann kommt am Ende auch ein gutes Produkt raus. Und möglichst auf irgendwelche Buzzword-Technologien wie Java, Corba, XML-RPC und wie sie alle heissen verzichten. Da ist die Code-Decke inzwischen so gigantisch, ich wage einfach mal zu behaupten dass das in den nächsten Jahren noch zu einem enormen Sicherheitsalbtraum wird weil schlichtweg kaum noch einer da durchblickt / durchblicken kann.



  • Ad aCTa schrieb:

    Das Geflame ist doch sinnlos. Windows Mobile kann auch .NET, mit C# kann man 10000mal leichter Win-GUIs erstellen als mit Visual C++, also nimm C#!

    damit gehts auch: http://www.smorgasbordet.com/pellesc/
    🙂



  • hier ist noch was zum thema C vs. C++: http://pizer.wordpress.com/2008/10/29/c-versus-c/


Anmelden zum Antworten