Wydaje mi się, że trochę za dużo myślisz i zastanawiasz się jak coś zrobić, aby na pewno było idealnie, zamiast po prostu spróbować zrobić, zobaczyć co z tego wyjdzie i ewentualnie poprawić po drodze. Znam to ze swojego przypadku, też tak czasem działam i nie zawsze jest to dobre ;)
Nie wiem skąd opinia, że akurat C++, webdev czy frontend są złe, myślę że tu każdy ma swoje preferencje. A przede wszystkim jest kwestia zastosowania, co tak naprawdę chciałbyś robić, bo niektóre języki nadają się do pewnych rzeczy bardziej, a inne mniej. Jeśli załóżmy chciałbyś pisać aplikacje mobilne, no to wybór PHP będzie kiepski. Podobnie jeśli chciałbyś pisać strony, to raczej C++ nie będzie zbyt powszechnym wyborem. Ja polecam się najpierw zastanowić co masz ochotę robić, co Cię interesuje, a później do tego spróbować dobrać język, napisać trochę w wybranym i zobaczyć czy to jest fajne - jeśli tak to ok, a jeśli nie to spróbować jeszcze innego.
Co do distro albo edytorów/IDE to w zasadzie podobnie - bardzo kwestia preferencji. Moim zdaniem zarówno emacs jak i neovim to nie jest dobry wybór na początek nauki programowania, chyba że masz już jakieś ogólne obycie z Linuxem i czujesz to. Jeżeli nie, to wg mnie utrudniasz sobie wtedy pisanie. Zamiast skupić się na nauce programowania musisz skupić się na nauce edytora, który sam w sobie jest raczej specyficzny i niezbyt pomaga. Pewnie może to też fajnie współpracować, ale trzeba się do tego przyzwyczaić albo dokonfigurować. Osobiście wybrałbym coś bardziej "typowego". PhpStorm jest wg mnie najlepszy jeśli chodzi o narzędzia do PHP, ale jest z kolei olbrzymi, ma bardzo dużo możliwości, co początkującą osobę także może przytłoczyć. Ale można spróbować, jeśli możesz sobie na niego pozwolić lub masz licencję edukacyjną, jeżeli nie to może np. Visual Studio Code, jest darmowy i też zrobił się mocno polecany.
Jeśli chodzi o to na czym się skupić to tak, przepisywanie przykładów z książki na dłuższą metę nie ma sensu. Lepiej byłoby jakbyś sobie ustalił jakiś cel, może to być bardzo mały cel, nawet jakaś mała strona czy aplikacja, w której chciałbyś zawrzeć określone funkcjonalności. Wtedy próbujesz to tego dążyć, a czego nie wiesz na bieżąco szukasz, więc poszerzasz automatycznie wiedzę i wiesz co masz dalej robić zamiast się zastanawiać.