Python

Это невозможно понять, это надо запомнить

Из анекдота

Какое же дерьмо разочарование этот ваш Python. Отступы для организации вложенности блоков, двоеточия после конструкций условий, циклов, объявления функций. Обязательный пробел после двоеточия при объявлении элементов ассоциативных списков и (обязательное же!) его отсутствие перед. Почему вокруг знака равенства при присваивании должны быть пробелы, а при передаче именованных переменных — нет? Зачем две пустые строки до и после функции? Какой-то пробельный фетишизм, право же. PEP8? «Читай PEP 8 — пиши код как ван Россум»? Вы еще и идолопоклонники?

Объявление функции с переменным количеством аргуметов в стиле (*args) и функций с именованными переменными в стиле (**args). Встроенные в язык манипуляции множествами и отдельная внешняя библиотека для разряженных массивов.

Почему сборщик мусора мгновенно уничтожает значение, если оно не связано с переменной, когда я просто хочу передать его из одной функции в другую? «Всегда храните ссылку на объект», говорят мне на это. Это ли не бред?

Аргументы в функцию передаются по ссылке или по значению? Ах, зависит от типа? В языке с динамической типизацией, ага…

Филосовия Python начинается с фразы «Красивое лучше, чем уродливое». Ну вот — где здесь красота? Видимо, она выше моего эстетического понимания. Сильно выше.

И это третий по популярности язык программирования? Первые два не берем — Java традиционный язык «кровавого энтерпрайза», так сложилось, а C — опора всея Linux. Но Python? Почему? Как?!…

Чего-то в этом мире я крупно не понимаю.