Givet utvecklingen i C++ de senaste åren måste man absolut särskilja på "klassisk C++" samt C++11 och senare.
C++11 fick så mycket nyheter att sättet man skriver "bra C++11" kod skiljer sig signifikant från tidigare versioner. Ett sätt att se det är att C++11 är ett nytt språk med 100 % kompatibilitet med klassisk C++.
Det skrivet, skulle hävda att de tre mest fundamentala programspråken som existerar just nu är
C - alla operativsystem är skrivna i detta (även om MacOS och Windows numera tillåter en delmängd av C++ i vissa lägen, vissa RTOS tillåter C++ i kärnan), C är också det som i praktiken används i alla andra miljöer för att kommunicera mellan olika programmeringsspråk
C++ - nästan alla applikation vi använder på våra datorer är i grunden C++ applikation, finns bara några få undantag som t.ex. Eclipse (skrivet i Java, fast JVM:en är skriven i C++...), Visual Studio Code (skrivet i JavaScript, som bygger på Electron som bygger på NodeJS och Chromium som båda är skrivna i C++). Många applikationer har delar skrivna i andra språk, Matlab nämndes t.ex. och där är IDE:n numera i Java men majoriteten är skrivet i C och C++, MS Office är i princip bara C++, alla webbläsare är C++, spel med några enstaka undantag skrivna i C++ (och spel börjar nu allt mer vara skrivna i C++11 och senare)
JavaScript - detta är för webben vad C är för operativsystem!
Detta betyder inte att andra språk inte är viktiga. Tvärtom är Java det språk som är överlägset vanligast för enterprise, C# är inte fullt lika stort sett över hela världen men det är ändå riktigt stort och just i Sverige är det väldigt populärt (nog minst lika lätt att hitta C# jobb som Java jobb i alla fall i Sthlm).
Python är numera det mest "populära" programmeringsspråket i bemärkelsen vad som används för att lära ut programmering. Språket är även väldigt populärt inom numeriska metoden (NumPy, som i praktiken är en wrapper kring bibliotek skrivna i C/C++) och maskininlärning (TensorFlow, som åter igen är en wrapper kring bibliotek skrivna i C/C++).
Varför bygger världen på C och C++? Därför att i slutändan spelar effektivitet alltid roll! Man kan absolut göra många saker direkt i Java/C# och liknande, men finns en rad saker som faktiskt inte kan utföras med mindre än att man går ned till C++ (eller C/assembler som knappast är enklare).
Ta <atomic> i C++11. Visst kan på en hög logisk nivå göra samma sak i Java/C#, men vill man t.ex. maximera skalning över CPU-kärnor måste man kunna styra på rätt håriga detaljer (som gissningsvis färre än 10 % av alla programmerare känner till). Endera gör man det i assembler och tvingas hantera detaljer i varje CPU-arkitektur separat, eller så skriver man det i C++11 <atomic> och för exakt samma prestanda fast nu har man något som fungerar på alla CPU-arkitekturer där det finns en modern C++ kompilatorn.
Ta <random>. Visst kan man skapa "slumpmässiga tal" i andra språk, men i C++11 har man skapat något som i praktiken designats av matematiker och statistiker, inte programmerare som saknar erforderligt domänkunskap (slumptal är faktiskt ett extremt svårt fält på en dator, datorer gör inte slumpmässiga saker om de inte är trasiga...).
Så är det värt att lära sig C++? Om målet är att jobba med programmering i Sverige: inte helt självklart faktiskt. De områden där C++ används är relativt små här. Vet av egen och andras förstahandsinformation att det är extremt svårt att få tag i folk med systemkunskaper på HW-nivå och med riktigt djup kunskap i C/C++. Gissningsvis en direkt följd av att sådana jobb är relativt ovanliga i detta land (jämfört med antalet jobb som kräver kunskap i webbutveckling, i back-end utveckling och liknande).
Är målet att bättre förstå modern HW: finns inget bättre än att lära sig C och C++ (och dess GPGPU derivat CUDA och OpenCL).