Aus der Sicht des Diplom-Informatikers, und wie es vor vielen, vielen Jahren mal ein Prof an der TU Berlin formuliert hat: Die algorithmische Lösung ist grundsätzlich unabhängig von der verwendeten Programmiersprache. Soll heißen, dass du schnell in jeder Sprache programmieren lernen kannst, wenn du erstmal verstanden hast, wie ein Computerprogramm funktioniert. Deswegen kannst du dir als erstes die Sprache aussuchen, die am besten zu dem Problem passt das du gerade lösen möchtest. Wenn's beim nächsten mal eine andere Sprache ist, wirst du damit vermutlich auch schnell zurechtkommen, die Unterschiede sind sehr häufig nur in der Syntax - muss ein Semikolon ans Ende einer Anweisung, wie schreibt man die Bedingungen einer If-Verzweigung u.ä.
Wenn du unter Windows probieren willst, würde ich zu PowerShell raten. Das ist zwar eine Skriptsprache (der Code wird während der Ausführung zeilenweise übersetzt), aber die Computer sind heutzutage so schnell, dass das zum Lernen keinen Unterschied macht. Da geht nicht viel mit grafischer Ausgabe, dafür ist C# denke ich besser geeignet, aber die Basis der Programmierung kann man gut lernen.
SQL würde ich aus der Liste von
@MiniMe entfernen. Das ist keine Programmiersprache im eigentlichen Sinn, sondern ausschließlich für den Zugriff auf Datenbanken konzipiert und kann auch nicht viel anderes. Mit verschiedenen Herstellerspezifischen Erweiterungen geht ein bisschen mehr, aber richtiges Programmieren wird's am Ende trotzdem nicht. Man kann SQL aber innerhalb von Programmiersprachen verwenden, um Daten aus erreichbaren Datenbanken zu ziehen. Das habe ich vor 25 oder so Jahren schon mit PHP und MySQL unter Linux gemacht...