ohne vordefinitere API/dlls?

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Ich habe vor einiger Zeit mit C++ begonnen und damals auch einige kleinere Programme darin geschrieben, bin dann jedoch durch Sprachen, die mir besser gefallen haben wie Java (fand/finde die Umsetzung des OOPs in C++ einfach schrecklich) davon weg gekommen. Vor einiger Zeit wollte ich mich mal wieder auf C++ einlassen, da es einem doch etwas mehr Möglichkeiten beiten sollte als .net (ist zwar schnell, dafür aber relativ stark Platform gebunden) oder Java (Platform unabhängig, dafür muss man ohne eigene Bibliotheken mit dem vorlieb nehmen, das man von Java geliefert bekommt)
    Ich habe mich dann also umgeschaut und musste feststellen, dass man bei der GUI fast immer auf irgendwelche Biblotheken (QT usw.) oder die WinAPI verwiesen wird und auch wenn es um Dinge wie die Komunikation mit Hardware, die beispielsweise über USB angeschlossen wird, geht, gibt es immer vordefinierte dlls oder eben die WinAPI (wo bleibt da denn die Platformunabhängigkeit, die theoretisch C++ hat?).
    Als ein Programmierer, der aber lieber alles von Grund auf selbst erstellen und es somit auch verstehen möchte, würde ich lieber selbst die GUI usw schreiben. Vielleicht dann auch nicht immer, aber zumindest am Anfang; um zu verstehen wie es letztendlich funktioniert und unabhängig von irgendwelchem Bibliotheken zu sein, die es möglicherweise irgendwann nicht mehr geben wird.


    Somit frage ich nun einfach mal in die Runde, ob sich jemand mit sochen Dingen auskennt und bereit wäre, jemandem etwas beizubringen, der schon etwas länger nichts mehr mit C++ zu tun hatte, oder einfach hierauf mit einer Lösung/Links antworten könnte.


    mfg
    prime


    PS: Ganz ohne API wird man wohl nicht auskommen, wie ich mir denken kann, da man ja noch ein Programm haben möchte und nicht das Betreibssystem neu schreiben will, oder irre ich mich da?


  • Ich habe mich dann also umgeschaut und musste feststellen, dass man bei der GUI fast immer auf irgendwelche Biblotheken (QT usw.) oder die WinAPI verwiesen wird


    Qt ist eine Bibliothek für die plattformübergreifende Programmierung einer GUI, das heißt die Programme funktionieren auf allen aktuellen Betriebssystemen. Programme, die mit der WinAPI entwickelt wurden laufen hingegen nur auf Windows.



    Als ein Programmierer, der aber lieber alles von Grund auf selbst erstellen und es somit auch verstehen möchte, würde ich lieber selbst die GUI usw schreiben. Vielleicht dann auch nicht immer, aber zumindest am Anfang; um zu verstehen wie es letztendlich funktioniert und unabhängig von irgendwelchem Bibliotheken zu sein, die es möglicherweise irgendwann nicht mehr geben wird.


    Was meinst du mit "selbst die GUI schreiben"? Eine Bibliothek liefert dir halt Klassen, die dir einiges an Arbeit abnehmen und unter anderem auch dafür sorgen, dass das Programm zum Schluss auf Windows genauso aussieht wie auf Linux oder Mac OS X. Es macht in meinen Augen keinen Sinn das Rad in Fällen wie diesen neu zu erfinden, dafür gibt es schließlich APIs und Libraries.

  • Es ist mir durchaus bewusst, das einige Biblitheken wie QT (relativ) platformunabhängig sind und ich habe mich mit dem Satz "(wo bleibt da denn die Platformunabhängigkeit, die theoretisch C++ hat?)" auf die WinAPI bezogen.


    Und ich will jetzt zwar nicht "das Rad neu erfinden", aber durch das selbst schreiben der Funktionen verstehen, wie es letztendlich im System abläuft.

  • Es ist mir durchaus bewusst, das einige Biblitheken wie QT (relativ) platformunabhängig sind und ich habe mich mit dem Satz "(wo bleibt da denn die Platformunabhängigkeit, die theoretisch C++ hat?)" auf die WinAPI bezogen.


    Das stimmt ja so auch, aber wenn du Anwendungen mit der WinAPI (oder einer anderen API wie DirectX) schreibst, hast du dich gezielt gegen die Plattformunabhängigkeit entschieden.



    Und ich will jetzt zwar nicht "das Rad neu erfinden", aber durch das selbst schreiben der Funktionen verstehen, wie es letztendlich im System abläuft.


    Es ist aber nicht so, dass du nur ein paar Funktionen selbst schreiben müsstest. Qt ist eine Bibliothek, die aus mehreren großen Klassen besteht und so etwas selbst zu schreiben ist richtig viel Arbeit. Wenn es dich aber interessiert kannst du dir den Source Code ja mal angucken.