Почему Python хейтят и считают худшим языком программирования для новичков?
Потому что не думают что пишут, Пайтон идеальный яп для новичка, понятный и не сложный язык, даст понятия о програмировании и научит делать небольшие программы, автоматизировать их и так же проведет в путь к другим языкам.
Нет, не худшим: безусловно худшим является JavaScript, а вот PHP и Pyhton борются за второе-третье место.
1. Язык слишком cложен: Pascal, Modula-2, Oberon, Go - все они намного проще.
2. Многие конструкции Python противоречат другим актуальным языкам - потом придётся много и долго переучиваться. И я не про отступы и прочие особенности синтаксиса, а про смысл конструкций. Например, r <= s <= t в Python значит совсем не то, что в любом другом актуальном языке.
3. Качество кода - это, прежде всего, дисциплина кодера. Но любой язык с динамической слабой типизацией (сильная типизация в Python - это сказка) провоцирует вседозволенность и говнокодинг. Дисциплина в Python - это оксюморон.
4. Язык слишком много делает за кодера. Ученик привыкает бездумно использовать удобные конструкции и библиотеки, не понимая насколько они применимы в каждом конкретном случае. Вместо осознанного решения задачи бездумная игра в кубики.
Это лучший язык для начала
Когда-то в школах запрещали школьникам писать шариковыми ручками. Только перьевые и чернильницы-непроливайки.
Затем запрещали использовать при решении задач калькулятор.
Только на бумажке в столбик всё вычислять.
Аналогично и с питоном.
Слишком он удобен.
Только паскаль, только хардкор.
А лучше всего конечно ассемблер, чтобы прочувствовать каждую ячейку памяти в компе.