Es kommt drauf an, in welche Richtung du einspringen möchtest.
In deinem Fall wird dies sehr wahrscheinlich Software- oder Websiteentwicklung sein. Dafür kann ich dir persönlich C# ans Herz legen.
Die Sprache ist sehr mächtig und hat eine saubere Syntax, eine große Community und mit .NET Core und der .NET Base Class Library hast du sehr gute Werkzeuge, um durchzustarten. Ein weiterer Vorteil mit C#: du brauchst keine weiteren Sprachen lernen, wenn du später Websites oder Mobile Apps entwickeln möchtest. Dafür gibts ASP.NET Core und Xamarin. Gerade mit C# 8 und dem kommenden .NET 5 kommen vieeele Verbesserungen und neue Features mit sich. (Neues in C# 8.0, Performanzverbesserungen in .NET 5) (auch, wenn die Links dir wahrscheinlich keinen Mehrwert bieten werden, wollte ich sie trotzdem anfügen, damit du es überfliegen kannst oder die ein oder anderen hier sich das ggf. durchlesen wollen)
Ansonsten kannst du dir auch F# angucken. F# ist eine funktionale Sprache (anders als bei bspw. C#, die eine stark objektorientierte Sprache ist).
Dort musst du entscheiden, ob du objektorientiert oder funktional arbeiten willst. Beides hat seine Vorteile und das eine ist für gegebene Fälle mal besser, mal schlechter geeignet. Siehe Functional Programming vs. Object-oriented programming.
Python wird sehr oft von Leuten für Anfänger empfohlen, da die Syntax sehr einfach und gut lesbar ist und für Anfänger "besser" verständlich.
Ich rate aber dagegen. Python mag zwar angenehm für die Augen sein, aber sie hat genau so viele Macken. Für Anfänger ist sie aus dem einfachen Grund schlecht, dass du nicht richtig programmieren lernen wirst. Du wirst an dieser Simplizität hängen bleiben und Schwierigkeiten haben, dich fortzubilden. Weitere Faktoren, die für dich eher weniger relevant sein werden, sind die Langsamkeit und Fehleranfälligkeit, weil Python eine interpretierte Sprache ist, d.h. sie wird Zeile für Zeile vom Interpreter interpretiert. Zudem werden Fehler dann nur in der Runtime, also während der Ausführung evaluiert. Darüber hinaus gibt es einige weitere Faktoren, die hier ausführlicher beschrieben werden.
Zum Schluss fällt mir noch Rust ein. Habe ich gutes von gehört und scheint ziemlich stabil zu sein (und ist auch low-level anwendbar!).
Warum ich nicht C oder C++ aufgelistet habe - sehr wahrscheinlich willst du mit einer High-Level Sprache starten und hast keine Ziele, maschinennah zu programmieren. (d.h. Treiber programmieren, mit dem Arbeitsspeicher rumspielen (kannst du auch mit C# ), und was weiß ich nicht was.) Dort wirst du nämlich nicht den Komfort haben, dass dir viele gewöhnliche Funktionen schon bereit stehen und den Luxus eines Garbage Collectors hast du dann auch nicht. Aber klar, wenn dich das anspricht, dann gerne C oder C++.
Bezüglich des Lehrmaterials kann ich dir Pluralsight ans Herz legen (Pluralsight - mach dich schlauer). Ich bin dort schon seit einem Jahr dabei und habe einige Kurse belegt und kann dir versichern, dass die Autoren und Mentoren dort keine halben Sachen machen und kompetent sind, um mal nur an der Oberfläche zu kratzen. Wenn du einen Vorgeschmack haben willst, kann ich dir gerne paar Kurse zu C# (und zu HTML, CSS, ..) zeigen.
Wenn du eher der Büchertyp bist, dann muss ich einfach O'Reilly (o rly?) erwähnen. Da kommst du irgendwann einfach nicht drum rum. Einfach mal nach seinen E-Books suchen, der Rest erklärt sich von selbst.
Ich hoffe, dass ich dir und anderen hiermit helfen und etwas geben konnte, mit dem du weitermachen kannst.