Zenitchik> Почему у регулярки в test состояние меняется по тем же правилам, что и в exec? - для единообразия, разумеется. Что не единообразно - то безобразно.
То, что тест по определению не должен бы менять состояния вне функции, но меняет - это фигня, сталыть, ради "однообразия"?
Ну, тогда надо было ещё и операторы "+" и "-" унифицировать заодно.
Zenitchik> Не похож, потому что не обязан быть похож.
Обязан. В этом-то и фишка, что обязан. Заимствовав синтаксис создатели языка взяли на себя неявное обязательство такую схожесть обеспечивать. Но нарушили его. Причём, там, где для этого не было ни причин, ни даже поводов.
Zenitchik> Опус про то, что похоже, но ведёт себя непохоже - я опускаю, это, пардон, типично г**нокодерские отмазки про плохой язык.
Это, пардон, очень дурной максимализм и оправдание г**нокода. Код не должен быть понятен любому, программист не должен соблюдать общую культуру (хотя бы в рамках SOLID), программа не должна работать при получении на вход неожиданного и т.п. и т.д. Да, не ДОЛЖНЫ.
Но именно это отличает нормального программиста от г**нокодера.
Нарушение традиций без причины при создании спек ЯС - это именно поведение г**нокодера, который не имеет внутреннего понимания, что хорошо и что плохо, и внезапно остался без внешних ограничений.
"Я что-то накодил, дальше ваши проблемы разобраться" - это именно подход при создании г**на.
Отмазки про плохой язык были бы, если б я, допустим, срывал сроки сдачи проектов на ЯС или, допустим, г**нокодил бы, оставлял бы баги и т.п. Тогда - да, ссылаться на язык это именно отмазки. Причём, гнилые.
Объективно существуют хорошие языки и плохие.
Видеть эту разницу - никак не признак плохого программиста, а наоборот - одно из минимальных требований к хорошему (хотя бы потому, что не умея сравнивать невозможно выбрать подходящий инструмент для конкретной задачи).
Попытка примитивной манипуляции в духе "нового платья короля" (мол, кто ругает бредятину в ЯС, тот г**нокодер не читавший спек) - это совсем уж по-детски и незачёт.
Zenitchik> Если программист не знает языка, на котором пишет - значит он так себе программист.
Знать используемый язык ты обязан.
Но это никак не уравнивает вообще все языки и вообще никак не оправдывает г**но в спецификациях языка.