Часто можно встретить такое утверждение, что чтобы считаться "настоящим" программистом нужно знать хотя бы один компилируемым язык со статической типизацией типа С++, C#, Java. Так ли это? Это действительно что-то дает?
любой язык можно скомпилировать.... только это не нужно чаще встречаются утверждения: "раз тыжпрограмист" то - должен уметь чинить утюги, кондёры, собрать разобрать комп с закрытыми глазами, программировать на всех известных ЯП, и на неизвестных тоже, знать и уметь пользоваться всеми программами мира... итд итп
Из перечисленного только C++ компилирутся в код, исполняемый "железом". Остальные два исполняются виртуальной машиной. Изучение таких языков как C++ даёт лучшее представление о программировании как таковом. Например, стандартные потоки ввода/вывода в пхп это экзотика, а в C++ это азы, хотя в PHP весь обмен тоже происходит через них, но не явно. То есть изучая C++ ты обязательно получишь эти знания. Это всё сопутствующие знания, которые помогают лучше понимать, как именно твой код будет исполняться. Изучать другие языки для этого не обязательно, эти знания можно приобрести отдельно.
Не должен, наверное. Даже не должен иметь специального образования. И даже может быть гуманитарием. Но основы Си, наверное, лучше прочитать и хоть что-то попробовать. Хотя бы прочитать про Ассемблер и посмотреть на код, ужаснуться и вернуться к чему-нибудь более гуманному. Вот алгоритмы (стандартный набор) знать стоит Ну, или хотя бы знать, где посмотреть. И Math, конечно, но тут допустима корреляция в знаниях. Аккуратность, усидчивость, терпение в плюс. Программист (субъективно) - это не только знания и умения, наверное. Это ещё определённый психотип и образ жизни. Если не практиковаться, навыки теряются, а сфера движется вперёд.
если тебя интересует вопрос в контектсе изучения рнр, то мой ответ - нет, не нужно знать "компилируемым язык со статической типизацией" сосредоточся на вебе, там учить не преучить, когда станешь более мнее крепко на ноги, тогда уже для само развития поглядывай "по сторонам"