Perl 5.16 and beyond by Jesse Vincent (Русская версия)

255
Джесси Винсет [email protected] @obra Perl 5.16 и что мы о нём ещё не знали

description

Доклад с YAPC::Asia 2011Оригинал http://www.slideshare.net/obrajesse/perl-516-and-beyond-yapcasia-2011Перевод http://tochkak.ru

Transcript of Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Page 1: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Джесси Винсет[email protected]@obra

Perl 5.16 и что мы о нём ещё не знали

Page 2: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Возвращение Perl 6Менеджер проектов

Page 3: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Возвращение Perl 6Менеджер проектов

Page 4: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5 Pumpking

Page 5: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5 Pumpking

Page 6: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5 Pumpking

Page 7: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5 Pumpking

http://flic.kr/p/6StRmB

Page 8: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5 Pumpking

Page 9: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Что такое Pumpking?

Page 10: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

BDFL(Великодушный пожизненный диктатор)

Page 11: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

BDFL(Великодушный пожизненный диктатор)

Page 12: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

BDFL(Великодушный пожизненный диктатор)

Page 13: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я принимаю решения

Page 14: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

(непопулярные)

Page 15: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я ставлю

Page 16: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

(реальные задачи)

Page 17: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я документирую

Page 18: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

(ход работы и принципы)

Page 19: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я снимаю стресс

Page 20: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

(у других людей)

Page 21: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я — менеджер

Page 22: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Итак, кто делает Perl?

Page 23: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Много замечательных людей

Page 24: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я же просто стою в сторонке...

Page 25: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...пока другие люди заняты

замечательными вещами

Page 26: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Твоё имя есть в списке авторов Perl?

Page 27: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Ты CPAN-автор?

Page 28: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Ты крут!

Page 29: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Ты делаешь Perl

Page 30: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правилаклуба Perl

Page 31: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

commit e8cd7eae0498ecc1fd3801fe3160Author: Гурусами Сарати <[email protected]>Date: Sun Oct 10 23:48:07 1999 +0000

добавил perlhack.pod от Натана Торкингтона <[email protected]>

Page 32: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правило первое

Page 33: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Ларри всегда знает, что Perl должен делать

Page 34: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правило второе

Page 35: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Ларри вправе менять своё

мнение со временем...

Page 36: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...несмотря на то, что есть Первое

правило

Page 37: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я не Ларри

Page 38: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я и рядом с ним не стою

Page 39: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

У меня нет таких ярких рубашек

Page 40: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

У меня нет таких ярких рубашек

Page 41: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правила существуют не только для Ларри

Page 42: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Не только для парней из Pumpking

Page 43: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Они также работают для Perl 5

Page 44: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Как?

Page 45: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правило первое

Page 46: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl всегда прав!

Page 47: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

(TMTOWTDI)

Page 48: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правило второе

Page 49: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5 может...

Page 50: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

изменить своё мнение?

Page 51: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Поменять наше мнение просто

Page 52: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам вообще легкоэто удаётся

Page 53: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Перестать носиться туда-сюда и менять решение — очень

сложно

Page 54: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...и из-за этого появляются проблемы

Page 55: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

По крайней мере, я не слышал, что

Page 56: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl умер!

Page 57: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl умер!1!!

Page 58: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl умер!1!!один!

Page 59: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Всё, что я недавно слышал было...

Page 60: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Куда мы идём?

Page 61: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Всё меняется слишком быстро. Давайте чуть

медленнее?

Page 62: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Вы сделали регекспы сложными? /$#@!/l?

Page 63: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

"Умное сопоставление" названо неверно...

Page 64: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Какое же оно умное, если это полная шиза?

Page 65: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Раз Perl 5 не мёртв, может переименуем его?

Page 66: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Меня обвиняют в том, что у меня нет видения Perl 5

Page 67: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Чегоу меня нет,

так это защитного костюмаhttp://en.wikipedia.org/wiki/File:Dance_Dance_Immolation.jpg

Page 68: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Чегоу меня нет,

так это защитного костюмаhttp://en.wikipedia.org/wiki/File:Dance_Dance_Immolation.jpg

perl5-porters

Page 69: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Если бы я рассказал о своем видении

2 года назад...

Page 70: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Вы бы смеялись надо мной

Page 71: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Улучшение Perl 5 не имело смысла

Page 72: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы даже новый релиз выпустить не могли

Page 73: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

А за прошлый год...

Page 74: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

ПятьСтабильныхРелизов

Page 75: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Десятокрелизов для разработчиков

Page 76: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 5.14.2 — стабильный релиз Perl 5 на сегодняшний день

Page 77: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Вышел в сентябре

Page 78: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Чтобы подготовить релиз у нас уходило

3 недели

Page 79: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Но мы заставили парней из Pumpking

сделать это

Page 80: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Теперь на подготовку релиза уходит меньше дня

Page 81: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Задокументирован процесс

из 43-х шагов

Page 82: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы постоянно меняем

релиз-инженеров

Page 83: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Многие из них — новые коммитеры

Page 84: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Релиз-инженерам нужны commit-биты

Page 85: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

С тех пор как мы перешли на git,

мы почти удвоили число коммитеров

Page 86: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И конец света не наступил

Page 87: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Многие из релиз-инженеров

стали продуктивными контрибьюторами

Page 88: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Теперь когда с релизами понятно...

Page 89: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Видение Perl 5

Page 90: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Новые версии Perl 5 не должны ломать

ваш софт

Page 91: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Старый синтаксис и семантика

не должны останавливать развитие Perl 5

Page 92: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам необходимо ошибаться, если мы решили переделать Perl 5

Page 93: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы будем ошибаться, если мы решили переделать Perl 5

Page 94: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И мы ошибались, пока переделывали

Perl 5

Page 95: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И нам нужно немного прийти в себя

Page 96: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Сейчас runtime слишком длительный, его нужно сократить

Page 97: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

У Perl должно остаться адекватное поведение по умолчанию

Page 98: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам нужно прийти в себя после прошлогодних

«адекватных поведений»

Page 99: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нужно сделать возможным, чтобы в

Perl 5 было больше Perl 5

Page 100: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl должен запускаться везде

Page 101: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правило второе: Perl может менять своё мнение

Page 102: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И это уже так

Page 103: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И это вредит программам и программистам

Page 104: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Когда код работает, вы не думаете о его семантике

Page 105: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

use v5.14;

Page 106: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«А есть Perl 5.14 или новее?»

Page 107: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Что-нибудь посвежее, чем 5.14.0

было бы великолепно!»

Page 108: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Хорошо. У меня 5.30. Наслаждайтесь!»

Page 109: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Это бесполезно

Page 110: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нужно что-то менять

Page 111: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Отныне объявляйте ожидаемую вами версию Perl

Page 112: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

use v5.16;

Page 113: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Хочу, чтобы Perl 5 работал как 5.16»

Page 114: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Runtime должен гордиться такой просьбой

Page 115: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl должен обладать максимально

близкой семантикой, о которой вы просите

Page 116: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Новые фичи не должны работать,

указывая ‘use v5.$тарый;’

Page 117: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам критически необходимо развиваться

Page 118: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам нужен запасной выход

Page 119: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам нужноВторое Правило

Page 120: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Если вы объявляете старую версию, то получаете старый синтаксис и семантику

Page 121: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...по крайней мере, насколько это возможно

Page 122: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Совершенство недостижимо

Page 123: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы можем пойти намного дальше, нежели сейчас

Page 124: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нарушение существующего кода должно стать

крайней мерой

Page 125: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

В исключительных случаях мы можем нарушить обратную совместимость

Page 126: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Некоторые сумасшедшие штуки нельзя исправить

опционально или лексически

Page 127: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Это займет уйму времени и сил

Page 128: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Уйму времени и сил!

Page 129: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Но это не невозможно

Page 130: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Устаревшие конструкции

Page 131: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Сейчас исправление устаревших конструкцийзанимает 1 год

Page 132: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«В 5.16.0 есть ещё предупреждения»

Page 133: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«В 5.18.0 будет всё в порядке»

Page 134: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Выясняется, что это слишком быстро

Page 135: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Совсем немного ОС выпускаются

так же часто

Page 136: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы можем вносить изменения быстрее

Page 137: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Если в старом коде это ещё работает, меняем так, чтобы не было

периода устаревания

Page 138: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Иногда необходимо выпускать говнофичи, чтобы они не

блокировали важных улучшений

Page 139: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Если мы не можем эмулировать старые фичи для старого кода, период устранения затягивается

Page 140: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Это не работает в коде с объявлением

‘use v5.16’»

Page 141: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«В старом коде на 5.16.0 сыпятся

предупреждения»

Page 142: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«И в 5.18.0 тоже сыпятся!»

Page 143: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Зато в 5.20.0 такого уже

не будет»

Page 144: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Правило второе иСтарые Модули

Page 145: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы заняты не только устаревшими конструкциями и

задрачиванием старых неработающих фич

Page 146: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы делаем то же самое и со старыми

модулями

Page 147: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Все они окажутся на CPAN

Page 148: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Это вредит пользователям,

которые пишут код, «не используя внешние

модули»

Page 149: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам же нужно это упростить, чтобы добавить в Perl 5 две штуки:

Page 150: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Hotel California(Eagles)

Page 151: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Last thing I remember, I wasRunning for the doorI had to find the passage backTo the place I was before’relax,’ said the night man,We are programmed to receive.You can checkout any time you like,But you can never leave!

Page 152: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Это традиционный Perl

Page 153: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

The Times, They Are A-Changin’(Bob Dylan)

Page 154: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

The line it is drawnThe curse it is castThe slow one nowWill later be fastAs the present nowWill later be pastThe order is rapidly fadin’And the first one now will later be lastFor the times they are a-changin’

Page 155: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Это Bootstrappable Perl

Page 156: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы занимаемся тем, чтобы упростить язык

Page 157: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl — большой язык

Page 158: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Есть языки и больше

Page 159: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Большим языком сложнее управлять

Page 160: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Большой язык сложнее учить

Page 161: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

В большом языке сложнее исправлять

баги

Page 162: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

У нас всё нормально, но ещё не блещем в разработке языка

Page 163: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

У нас замечательные модули, как и сообщество

Page 164: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Как мы сделаем Perl компактнее?

Page 165: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Можно загружать модули, которые вводят новые встроенные

функции

Page 166: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Можно загружать модули, которые вводят старые встроенные

функции

Page 167: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Время начинать...

Page 168: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...рефакторинг

Page 169: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

На самом деле, многое в Perl 5 не является частью

языка Perl 5

Page 170: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Всё это — звенья цепи Perl 5

Page 171: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И мне нравится наша цепь

Page 172: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я имею в виду не только

устаревшие конструкции

Page 173: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...но и удаление

Page 174: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

SysV IPC функций

Page 175: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Функций ввода-вывода для сокетов

Page 176: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Функций Unix- пользователя и группы

Page 177: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Функций Unix-сети

Page 178: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Функций процесса и группы процессов

Page 179: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Форматов

Page 180: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Умного сопоставления

Page 181: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...и вероятно ещёкучи всякой всячины

Page 182: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Если вы не используете ‘use v5.16’,

то вы получите то, что было в 5.14

Page 183: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Реализация SysV может быть модулем

Page 184: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Как пользователя Perl 5, вас это не должно тревожить

Page 185: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...и вы даже не сможетеэто заметить

Page 186: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

В будущем мы вероятно исправим пару багов в коде

Page 187: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Вы сможете использовать обновления без необходимости

обновлять весь Perl 5

Page 188: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Возможно, однажды мы уберем то, что есть в

runtime по умолчанию

Page 189: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Любая добавленная фича требует столь драгоценной нам

памяти

Page 190: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Любая добавленная фича требует столь нужного

психического здоровья

Page 191: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Таким образом, нужно явно говорить, чтохотите использовать старую фичу

Page 192: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...но только если v5.16

Page 193: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...но только если v5.18

Page 194: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...но только если v5.20

Page 195: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

И с уже написанным кодом ничего не произойдёт

Page 196: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Многие, очень многие вопросы пока еще

без ответов

Page 197: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Но все это можно сделать!

Page 198: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы двигаемся вперёд довольно

быстро

Page 199: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы сделали нечто такое...

Page 200: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Что я никогда бы не сделал снова

Page 201: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Теперь я куда более скептически отношусь

к новым фичам

Page 202: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...по крайней мере, к тем, которые

не упрощают всё и не заменяют собой другие

Page 203: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Нам обязательно нужныадекватные

поведения по умолчанию

Page 204: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Сколько же безумного в Perl 5

Page 205: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Безумный синтаксис

Page 206: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Безумная семантика

Page 207: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Безумие внутри

Page 208: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Безумные модули

Page 209: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Может самое время сделать что-нибудь

с этим?

Page 210: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы уже начали

Page 211: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

“use v5.12”включает

“use strict;”

Page 212: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Что же дальше?

Page 213: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

warnings по умолчанию

Page 214: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

autodie-стильпо умолчанию

Page 215: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Мы должны использовать

исключения, а не просто return при

ошибке

Page 216: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я не хочу, чтобы мы спорили

об иерархии исключений

Page 217: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Чёрт, да я буду счастлив, если мы начнём хотя бы с dying при

«well-defined strings»

Page 218: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

(Я в восторге от иерархии исключений)

Page 219: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

open() с 2 аргументамиперестало быть по умолчанию

Page 220: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

open() с 1 аргументомперестало быть по умолчанию

Page 221: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Не будет больше разделитей '

для имени модулей

Page 222: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Больше не будет считаться, что по

умолчанию кодировкаLatin-1

Page 223: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Везде utf-8по умолчанию

Page 224: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Простая и понятная мета-модель с классами и методами

Page 225: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Никаких косвенных вызовов

у объектовпо умолчанию

Page 226: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Только если, вы объявили “use v5.16”

Page 227: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Только если, вы объявили “use v5.18”

Page 228: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Только если, вы объявили “use v5.20”

Page 229: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl должен быть понятнее, проще и легче в работе

Page 230: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Для пользователей...

Page 231: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...и для тех, кто это будет разрабатывать

Page 232: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl должен запускаться везде

Page 233: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Не только на любой платформе

Page 234: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Не только на любой ОС

Page 235: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Но и на каждой виртуальной

машине

Page 236: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

В каждом Браузере

Page 237: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

На каждом Телефоне

Page 238: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Почему Perl 5 не работает на других

runtimes?

Page 239: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Потому что нет спецификации»

Page 240: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Но это не остановило Ruby

Page 241: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

«Только Perl 5 может распарсить Perl 5»

Page 242: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Но это не остановило PPI

Page 243: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Чтобы выжить, отчаянному хакеру необходимо суметь переписать Perl 5

Page 244: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Спасибо за внимание!

Page 245: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Большое спасибо отдельным спонсорам!

Page 246: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Вопросы?http://blog.fsck.com [email protected]@obra

Page 247: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Значит, вы хотите поменять имя?

Page 248: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Что-то типаPerl 7?

Page 249: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Или Raptor?

Page 250: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Наш язык называетсяPerl 5

Page 251: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Perl 6 — наша развитая не по годам

«сестрёнка»

Page 252: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Я бы рад поговорить о переименовании

Perl 5...

Page 253: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...если вы напишите мне вторую реализацию

Page 254: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

...которая пройдёт все тесты

Page 255: Perl 5.16 and beyond by Jesse Vincent (Русская версия)

Оригинальная презентацияhttp://slidesha.re/FnClbQ7

Перевод — Точка Кипенияhttp://tochkak.ru