Eu nu am folosit python la nimic serios, e folosit in machine learning, boti si scraping destul de mult. Se poate realiza si un backend destul de bun cu FastAPI de exemplu. Ai micropython pe embedded, dar iti limiteaza drastic memoria disponibila.
Problema cu python e ca e foarte greu sa inveti ce se intampla in spate. E un limbaj foarte bun ca sa intrii in programare si sa vezi cum scrii un algoritm, dar dupa cand lucrurile devin foarte complexe nu te ajuta. Ideal inveti python, te atrage spre programare dar dupa trebuie sa te fortezi sa cresti, te duci spre un proiect care necesita altceva. Unde se foloseste python problema nu e programarea sau algoritmul ci matematica/ordonarea/normalizarea datelor (data wrangling).
Exemple de limbaje dupa utilitate:
Exista limbaje care iti arata cum sa procesezi datele in mod functional ca sa poti garanta (in mod teoretic, ca e imposibil sa verifici) ca programul tau e corect si pur (adica daca rulezi acelasi program mereu va returna acelasi output pe un input). Primul care imi vine in minte e Haskell, dar e si Clojure, Lisp, Scala si multe altele. E mult mai greu ca si Python, daca te-ai obisnuit cu python o sa iti fie foarte greu sa inveti programare functionala.
Exista C++, care te ajuta mult cand scrii jocuri, ceva realtime fiindca nu exista un garbage collector, un garbage collector are un stop the world event care iti introduce pauze din ce in ce mai lungi cu cat folosesti mai multa memorie. Vezi Java si Minecraft, in functie de cata memorie ai o sa ti se blocheze jocul pentru cateva ms si poti simti asta daca te misti exact atunci sau iti apare ca atingi un cub dar nu se intampla nimic. Cu C++ inveti despre memorie (trebuie sa o aloci si dealoci manual), pointeri si type-uri. Poti invata si assembly cu el, poti decompila codul de C/C++ in assembly si sa vezi ce face codul tau in procesor si memorie. (poate fi foarte important la embedded sau din cauza securitatii, vezi usor daca ceva face ceva ce n-ar trebui)
Exista Java, Kotlin, C# care sunt foarte utile cand iti trebuie un framework, utilitar, o platforma sau chiar client care le foloseste, de exemplu C# e folosit cu Unity, care e unul din cele mai bune framework-uri pentru creat jocuri. Java e folosit la aplicatii foarte mari, ai librarii mature pentru cam orice, e mai multa configurare decat programare ca sa realizezi aplicatii foarte complexe. Kotlin e un limbaj mai modern compatibil cu librariile pentru Java, e folosit in mod nativ pe Android. Altfel ca si avantaj major la Java/C# sunt cartile si cursurile disponibile. Sunt limbaje sprijinite de cele mai mari companii - Oracle, Google si Microsoft. C# si Kotlin pot fi similare cu TypeScript - util daca faci Full-Stack, C# e si limbajul multor aplicatii pe Windows. Pe Mac/iOS ar fi Swift si Swift Playground-ul e probabil cel mai bun mod de a incepe sa inveti despre programare.
Exista Go, care iti permite sa scrii programe multi-threaded pur si simplu scriind ‘go’ in fata unei functii. (bine e putin mai complicat de atat) E si mai special fiindca returnezi mereu valoarea si eroarea (ai 2 return-uri de la o functie) si trebuie sa tratezi mereu erorile. - Te invata sa tratezi mereu erorile, sa programezi defensiv.
Exista Rust, Rust e un limbaj mai special care iti garanteaza ca daca codul tau se compileaza nu vei avea erori la rulare. Te invata foarte multe pattern-uri utile - care nu sunt optionale si implica mult efort pentru a le intelege. La fel ca C++ nu are garbage collector, dar se asigura din principii ca o sa scrii cod sigur. Vrea sa inlocuieasca C/C++.
Exista JavaScript, care ruleaza in browser in mod nativ, e cel mai util limbaj fiindca apesi F12 si poti sa il folosesti. Pentru proiecte serioase ai TypeScript. Nu e un exemplu de limbaj foarte bun, dar e puternic si util. Poti sa il folosesti si pe server cu NodeJS. Se poate combina cu webassembly.
Exista bash, care ruleaza in terminalul de linux/mac si chiar Windows. E un limbaj care consta din programe la care le poti lega output-ul ca si input la un alt program. Este foarte puternic, practic si util.
Daca vrei sa fii un programator serios bash cu linux si toate utilitarele sunt un must-have. Dupa poti alege python si dupa inveti ceva in functie de ce vrei sa faci. S-ar putea ca python sa iti ajunga pentru tot. Probabil nu e o idee buna pentru front-end, mobile si jocuri (chiar daca multe jocuri il folosesc pentru scripting precum lua/smalltalk).