Hallo Kenzo und willkommen im Forum!
Freut mich, dass sich auch Leute außerhalb unseres Fachgebiets für die Informatik zumindest so weit begeistern können, um sich zumindest in den Grundsätzen damit auseinandersetzen zu wollen. So schnell deine Frage jedoch gestellt ist, so schwer ist sie auch zu beantworten.
Als erstes ist es, glaube ich, wichtig zu verstehen, dass ein Computer in mehrere Schichten unterteilt werden kann. Zuerst eine einfache Auflistung dieser Schichten, von oben nach unten, wobei die oberste dem Benutzer am nächsten ist:
Ebene 5: Problemorientierte Sprachen
Ebene 4: Assemblersprache
Ebene 3: Betriebssystem
Ebene 2: ISA (Instruction Set Architecture)
Ebene 1: Mikroarchitektur
Ebene 0: Digitale Logik
Im Folgenden nun ein paar Informationen, was man sich unter diesen Schichten vorstellen kann. Die Ebenen 0 bis 2 sind für die Beantwortung deiner Frage nicht weiter von Bedeutung, daher werde ich nicht auf sie eingehen.
Problemorientierte Sprachen
Hier finden wir sogenannte höhere Programmiersprachen wir C, C++, Java, etc. Mit diesen können Programmierer bestimmte Probleme darstellen und lösen. Diese Sprachen werden meistens kompiliert, gelegentlich aber auch nur interpretiert. Das Kompilieren beschreibt den Vorgang, wenn ein Programm von der für den Menschen verständlichen Sprache in eine für den PC weiterbearbeitbare Sprache übersetzt wird.
Assemblersprache
Diese Schicht beinhaltete die Sprache, die ein Compiler (das Programm, welches kompiliert) erzeugt. Diese Sprache kann je nach System unterschiedlich sein. Stell dir vor, ein Programmierer will, dass eine Zeile mit einem bestimmten Text auf dem Bildschirm angezeigt wird. Nun kann es sein, dass zwar der Befehlt, mit dem er das erreicht, für ihn immer gleich aussieht, jedoch der kompilierte Assemblerbefehls je nach Zielsystem variiert, je nachdem, wie es eben arbeitet.
Betriebssystem
Das Betriebssystem kann man ganz grob als Schnittstelle zwischen Hardware und Software sehen. Zur Verdeutlichung ein einfaches Beispiel: Stell dir vor, du willst dir ein Urteil zu einem Fall ausdrucken, um es auf dem Weg in die Uni zu überfliegen. Du sagst also deinem jeweiligen Programm, es solle doch bitte das aktuelle Dokument ausdrucken. Woher soll das Programm jedoch wissen, welchen Drucker du besitzt? Es kann unmöglich alle Drucker der Welt kennen und wissen, wie jeder einzelne funktioniert. Dafür gibt es das Betriebssystem oder im folgenden OS für Operating System. Dein Programm sagt einfach dem OS, dass du etwas ausdrucken willst. Dieses schaut dann in den Druckertreibern nach, wie das funktioniert, und gibt deine Anfrage dann entsprechend an die Hardware weiter. Der Programmierer auf der obersten Ebene hat es also sehr leicht. Es braucht nur einen Befehl geben und sich um nichts weiter kümmern. Der Befehl wird dann Ebene für Ebene weiter nach unten durchgereicht, bis er schließlich am Zielgerät ausgeführt wird. Hier wird ein Pyramidensystem deutlich.
----------------
So, nun hast du ein recht ordentliches Fundament, auf dem aufbauend man nun über verschiedene Programmiersprachen diskutieren kann.
C und C++ sind Sprachen, mit denen man auch in Ebenen unterhalb der ersten eindringen kann. Das heißt, sie arbeiten nahe am OS. In C und C++ werden zum Beispiel gerne Treiber programmiert. Durch diese starke Nähe zum OS kann mit diesen Sprachen sehr guter, schlanker und vor allem schneller Programmcode erzeugt werden. Es wird nicht durch die oberen Schichten durchgereicht und greift direkt da an, wo er gebraucht wird. Daher werden bis heute, obwohl die zwei Sprachen schon extrem alt sind, immer noch C und C++ zur Entwicklung von Programmen hergenommen, die extrem schnell laufen müssen. Spiele sind ein schönes Beispiel hierfür. Nachteile gibt es natürlich auch. Dadurch, dass dem Entwickler die Logik der oberen Ebenen nicht zur Verfügung steht, ist der Preis für die hohe Geschwindigkeit meist deutlich mehr Code (damit meine ich die wirkliche Anzahl an Programmzeilen, die ich schreibe) und mehr Fehler, die er begehen kann, die normalerweise bereits von anderen Schichten abgefangen werden.
Java und C# sind Sprachen, die auf der obersten Ebene aufsetzen. Mit diesen Sprachen ist es sehr leicht, Programme zu entwickeln, weil man alle Möglichkeiten der zugrundeliegenden Schichten zur Verfügung hat. Das heißt, man kann mit weniger Arbeit genau das gleich erreichen wie in C oder C++, dabei aber das Programm nicht genau auf das Zielsystem abstimmen, was Geschwindigkeitsverluste angeht. Oft nimmt man diesen Nachteil jedoch in Kauf. Gründe dafür sind, dass durch den einfach zu handhabenden Befehlssatz Teamwork einfacher wird (das heißt, es können mehr Leute gleichzeitig am selben Programm arbeiten) und die Entwicklungszeit verkürzt wird.
CSS, HTML und XHTML sind nicht wirklich Programmiersprachen, sondern Skriptsprachen. Das bedeutet, sie besitzen keine Logik, sondern beschreiben einfach nur, wie eine Website auszusehen hat, so dass ein Browser sie darstellen kann. Flash beinhaltet zwar eine Programmiersprache, die sogar objektorientiert aber so langsam ist, dass sie nicht wirklich als Option zur Entwicklung von Programmen zur Debatte steht.
PHP ist ebenfalls eine einigermaßen objektorientierte Programmiersprache, die benutzt wird, um Websites gewisse Logik einzuhauchen. Passwortabfragen werden beispielsweise mit PHP realisiert.
MySQL ist eine Sprache, mit der zugehörige Datenbanken gesteuert werden. Du kannst zum Beispiel Befehle damit bauen wie „Suche in der Datenbank alle Lieferanten, deren Sitz in Berlin liegt und die mich in den letzen 4 Monaten beliefert haben, und gebe mir ihre Telefonnummer aus.“
Visual Basic und Delphi habe ich selbst noch nie benutzt, aber ich glaube sie ordnen sich vom Handlungsraum irgendwo zwischen C++ und Java ein.
So, ich hoffe das hilft dir ein wenig. Wenn du weitere Fragen hast, nicht zögern. Wir hier im Programmierforum sind ein ziemlich hilfsbereiter Haufen (manchmal sogar
zu hilfsbereit für manche unserer Moderatoren, nicht wahr...?

)