Aber letzten Endes sind es doch alles nur Programmiersprachen. Ich finde es kommt darauf an wieviel Fleiß man hineinsteckt, um eine Sprache zu erlernen. Dann ist es eigentlich irrelevant ob man sich mit einer Web-Programmiersprache oder mit einer höheren Programmiersprache beschäftigt.
Ich finde dass es enorm hilft, sich mit den niederen Sprachen beschäftigt zu haben, auch wenn man sonst nur höhere benutzt. Man versteht einfach besser, was der Rechner macht.
Vielleicht könntet ihr mir noch eine Frage beantworten: was würde es mir im Endeffekt "bringen", mich mit reinem C++ zu beschäftigen? Was kann man damit beispielsweise für coole Sachen machen? Das hab ich noch nicht ganz verstanden.. was bringt mir eine Programmiersprache, wenn ich damit keinerlei grafischer Oberflächen erzeugen kann?
Du kannst doch grafische Oberflächen damit erzeugen. Dass du irgendein Framework brauchst um überhaupt erstmal Grafiken darzustellen, mag vielleicht wie ein Fluch erscheinen, ist in Wirklichkeit aber ein Segen. Stell dir mal vor du müsstest heute noch mit den Möglichkeiten leben, die zu Zeiten von K&R-C vorhanden waren. Das wäre kaum sinnvoll. Stattdessen hat sich in der C-Familie durchgesetzt, dass die Sprache nur eben die Sprache selbst zur Verfügung stellt, und soweit wie möglich auch unabhängig von der ausführenden Plattform ist. Weitere Funktionalität wird über für die jeweilige Umgebung und Aufgabe in Form von Bibliotheken eingebunden.
Bei JavaScript solltest du das Problem eigentlich auch bemerkt haben. Du hast zwar einheitliche Interfaces um Grafik darzustellen (DOM, HTML direkt schreiben, Canvas, etc.) aber in der Praxis gibt es dann je nach Laufzeitumgebung doch wieder deutliche Unterschiede. Da kommen dann Bibliotheken wie jQuery UI ins Spiel, die im Prinzip das Äquivalent der JavaScript-Welt zu Qt sind.
Was macht Qt besonders? Eigentlich nichts. Letzten Endes macht das auch nicht mehr als ein paar Widgets (und einen ganzen Haufen andere Dinge) zur Verfügung zu stellen, die dann hinter den Kulissen mit den auf der Plattform vorhandenen Mitteln umgesetzt sind ohne dass man sich um diese Details kümmern muss. Im Prinzip ist das aber auch mehr oder weniger reines C++, wenn man die ganzen Abstraktionsebenen zurückverfolgt. Klar, irgendwann ruft Qt dann eine API des Betriebssystems auf um ein Fenster zu öffnen oder sowas ähnliches, aber je nach OS geht es da dann auf OS-Ebene auch noch mit C++ weiter, oder C, oder Objective-C. Je nachdem was die Entwickler des OS bevorzugten. Irgendwann mal kommt man vielleicht bei Code an der ursprünglich in Assembler geschrieben war, aber der Grund dafür ist (heutzutage) dann Performance. Rein theoretisch geht das alles auch in C++, je nach Hardware vielleicht auch mit minimalem Inline-Assembler, aber den Großteil könntest du wirklich in C++ nachprogrammieren. Irgendwann redest du dann mit der Grafikkarte über memory mapped IO und kannst tatsächlich Pixel direkt setzen. Der Aufwand lohnt sich nur nicht wirklich, vor allem wenn die Alternative ist dass ein Betriebssystem und ein Framework zusammen 99% der Arbeit machen würden, wenn du sie lässt.
Dementsprechend kannst du auch hergehen und deiner Freundin Windows zeigen und stolz sagen, schau mal, das ist auch in C++ programmiert. Das Problem ist nur dass ihr das nicht wirklich weiterhelfen wird. Meiner Erfahrung nach lernt man am Anfang in solchen halb-fachfremden Studiengängen nur die Basics, also entweder Hello World im Textmodus, oder Hello World mit Fenster zusammengeklickt in Visual Studio. Die Sprache (oder Programmieren im Allgemeinen) kann man danach nicht unbedingt. Vielleicht findest du etwas, womit sie sich ihr Leben leichter machen könnte, das Problem dabei ist nur dass das meistens mit C++ zwar geht, aber der denkbar ärgerlichste Weg zum Ziel ist wenn man auf dem Niveau programmiert auf dem man noch von sowas überzeugt werden muss. Das sind dann oft so Fälle in denen man mit Access, Excel, oder - ja - HTML und JavaScript wesentlich schneller zum Ziel kommen könnte.