Ciao, se posso dare la mia opinizione, inizia a programmare in C. Il linguaggio è standardizzato da anni e non cambia (a differenza del python, ndr) e soprattutto ti aiuta a capire un po' meglio come funziona un compilatore e un pc in generale.
C'è relazione tra linguaggi di programmazione e hacking? Si e no. Saper programmare serve per diverse cose nel mondo dell'hacking, ma non tutti i linguaggi servono per le stesse cose. Per esempio Bash e Python (che sono linguaggi veloci da scrivere) si usano per crearsi degli script o dei piccoli tool per ottimizzarsi il lavoro e sveltirlo. Conoscerli quindi aiuta a migliorare il workflow. Conoscere Java o C serve invece per quando si devono analizzare delle applicazioni già scritte e fare la cosiddetta "Code Review": analizzo il codice di un programma in cerca di eventuali vulnerabilità. E' raro che si scrivano tools direttamente in Java o C (in C magari dei tools particolarmente dettagliati, ma è comunque più raro). Saper programmare bene in C però puà aiutare in fase di creazione di exploit (codici per sfruttare determinate vulnerabilità) oppure per la creazione di backdoor e simili (è comunque programmazione avanzata).
Al contrario, conoscere HTML, JavaScript, PHP, lo stesso Python, SQL, ecc serve per quando si eseguono test su applicazioni web, ma non ti capiterà quasi mai di scrivere del codice, al massimo qualche piccola paginetta per sfruttare certe vulnerbilità.
Per riassumere quindi, programmazione e hacking sono collegati: secondo me più no che sì. Sì, conoscere dei linguaggi aiuta parecchio il mestiere ma no, non ti capiterà ti scrivere codice tanto quanto facendo il programmatore.
E' molto più importante (in ambito hacking) conoscere come si comporta un server, una rete, internet e i vari protocolli, con cui ci si deve regolarmente confrontare.
Se dovessi scegliere un settore nella cybersec, ti direi di cominciare allora dal web hacking, che secondo me è leggermente più facile e sui cui si trova molto più materiale, ma la scelta sta a te