HTML/CSS sind schonmal gar keine Programmiersprachen (es sind simple Beschreibungssprachen mit denen man nur "gestalten" kann). Warum also stehen die überhaupt zur Wahl, wenn du nach Lieblingsprogrammiersprachen fragst?

C# ist ein proprietärer Verschnitt von Microsoft der mit C außer dem Namen nicht wirklich was zu tun hat; proprietäre Sprachen (wie z.B. auch Delphi) würde ich dir niemals empfehlen zu lernen, da du immer der Gnade der Entwicklungsfirma unterworfen bist. Entscheiden die sich die Entwicklung einzustellen oder die Lizenzkosten astronomisch hoch zu setzen, siehst du alt aus und hast eine Sprache umsonst gelernt. Halte dich lieber an die "offenen" Sprachen, wo der Quellcode des Compilers/Interpreters open source ist.

Meine am häufigsten genutzte Sprache ist Ruby. Ist auch keine "richtige" Programmiersprache im klassischen Sinne (= kompiliert zu Maschinencode) sondern eine Interpretersprache wie auch PHP, Perl u.a. An Ruby habe ich Spaß, weil die gesamte Sprache unglaublich gut logisch aufgebaut ist und die Syntax echt schön und übersichtlich ist. Für Interpretersprachen hat sie eine ganz gute Performance, zudem kann man durch die zig verfügbaren Gems mit praktisch kaum Selbstaufwand Programme mit sehr fortschrittlicher Funktionalität bauen, aber auch eben schnell auf eigene Faust neue Funktionalität programmieren. Eine Skriptsprache halt, gut um schnell zu einem tollen Ergebnis zu kommen :)

Für dich könnte Ruby insofern interessant sein, da es auch Ruby on Rails gibt, ein Framework für Ruby, mit dem man Webanwendungen programmieren kann (wenn's ordentlich aussehen soll brauchst du da halt auch noch zusätzlich HTML, CSS und ggf. JavaScript). Falls du schon in irgendeiner anderen Programmiersprache solide Grundkenntnisse oder besser hast kann ich dir das Buch "Die Programmiersprache Ruby" von Yukihiro Matsumoto (beim O'Reilly Verlag) sehr empfehlen. War mein eigener Einstieg in die Sprache. Für Ruby on Rails gibt es nochmal extra Lektüre, auch bei dem Verlag, allerdings nur auf Englisch. (Solltest du aber eh sehr gut können, wenn du ernsthaft programmieren willst, von daher...)

Ruby ist aber auch nicht das Maß aller Dinge und hat in anderen Bereichen seine Nachteile. Programmiersprachen sind keine Wahl die man einmal trifft und dann dabei bleibt, Programmiersprachen sind einfach nur Werkzeuge. Und du brauchst mehrere verschiedene Werkzeuge, weil jeder Job andere Anforderungen hat und das eine Werkzeug bei einem anderen Job immer mal unbrauchbar sein kann. Kannst du mehrere Sprachen, kannst du immer eine möglichst gut passende auswählen für den Job.

Du solltest als absolutes Minimum eine Interpretersprache wie Ruby, eine Compilersprache wie C oder C++, sowie das undefiniere Mittelding, das Java ist, gut in der Praxis beherrschen, wenn du irgendwann professioneller Softwareentwickler werden willst.

Mit Webprogrammierung wirst du glaube ich auf Dauer nicht glücklich (war früher auch mal mein Traum), aber wenn du meinst es durchziehen zu wollen solltest du den Fokus verstärkt auf Interpretersprachen legen, die sich gut fürs Web eignen, z.B. PHP, Ruby und Perl. HTML und CSS sind Standardgrundlagen, die du blind beherrschen musst, JavaScript (oder besser gesagt der Umgang mit den ganzen Fertig-Libraries) ist heutzutage auch schon Quasistandardforderung und HTML5/CSS3-Features zu kennen kann auch nicht schaden. Serveradministration und die Unix-Shell sind da auch Sachen die man können sollte.

...zur Antwort