[Moscow.pm] Perl 6
Ivan Petrov
i.petro.77.00 на gmail.com
Пт Окт 9 02:07:48 PDT 2015
>> Зло в чистом виде, надеюсь никогда не выйдет.
>> зло в чистом виде
>> зло в чистом виде
>> какой же Perl был няшный без всего этого кошмара
> Поражает количество аргументов! Жги, не останавливайся.
мы говорим о языке, увы, не несущем никакой новой парадигмы.
Perl, Python, Ruby, JS в рамках парадигм программирования не отличаются
вообще.
далее начинаются вопросы: почему мы выбираем Perl а не скажем JS с его
типами.
вот в JS
var a = 10;
var b = '20';
var c = a + b;
результат удивительный - 1020.
эта гадость происходит от типов.
в Perl мы имели
- разнесенные операторы конкатенации и сложения
- динамическое приведение типов
этого геморроя как в JS, связанного с типами - всякие typeof,
String(), parseInt(), parseFloat() и прочего мусора в Perl нет.
на фоне того что Perl по сравнению с JS не несет никакой новой
парадигмы (все что можно писать на JS можно писать на Perl и
наоборот), это обстоятельство хороший аргумент в пользу выбора одного
языка против другого.
то есть попытка внесения типов в новую инкарнацию Perl - зло в чистом
виде, ибо именно динамическое приведение типов и было одной из очень
хороших фич этого языка.
Далее.
изменившаяся семантика регекспов: добавили новые скобки. они стали
означать то что в старом perl означали другие скобки. а старым скобкам
дали назначение такое которое тоже есть в старом перл, но другими
скобками и далее ввели еще пару фич.
разглядывая эту мишуру и задумываясь над тем что двигало людьми ЭТО
изобретавшими ничего кроме как НАМЕРЕННЫЙ ОТКАЗ от обратной
совместимости - в голову и не придет.
Зачем могут отказываться от обратной совместимости намеренно?
- чтобы затруднить переход на новую версию
- чтобы затруднить портирование старого кода в новый
у Perl, в отличие от других языков, возникла и существует целая
сабкультура - коммюнити, можно ее назвать соцсетью, как угодно
называйте.
таким образом данные изменения - попытка направленная на разрушение
этой сабкультуры.
то есть зло в чистом виде.
Далее.
синтаксис ООП выражений для доступа.
точка это мегаохрененно, два символа - больше одного.
кусок из Mouse взяли на борт. хз. можно было бы Mouse в base включить.
эти фичи не стоят того.
равно как ненужная хрень - базовые типы в виде объектов.
на своем веку повидал массу HighLoad проектов, на разных языках.
ни разу не встречал кода наследующегося от базового скаляра.
в общем гляжу я на этот Perl6, ничего кроме отрицательных эмоций нет.
столько лет труда вбухано. смысл?
Подробная информация о списке рассылки Moscow-pm