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

  • 10,941 views
Uploaded on

Доклад с YAPC::Asia 2011 …

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

Перевод http://tochkak.ru

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
10,941
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
18
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Perl 5.16 и что мы о нём ещё не зналиДжесси Винсетjesse@perl.org@obra
  • 2. Возвращение Perl 6Менеджер проектов
  • 3. Возвращение Perl 6Менеджер проектов
  • 4. Perl 5 Pumpking
  • 5. Perl 5 Pumpking
  • 6. Perl 5 Pumpking
  • 7. Perl 5 Pumpking http://flic.kr/p/6StRmB
  • 8. Perl 5 Pumpking
  • 9. Что такое Pumpking?
  • 10. BDFL(Великодушный пожизненный диктатор)
  • 11. BDFL(Великодушный пожизненный диктатор)
  • 12. BDFL(Великодушный пожизненный диктатор)
  • 13. Я принимаю решения
  • 14. (непопулярные)
  • 15. Я ставлю
  • 16. (реальные задачи)
  • 17. Я документирую
  • 18. (ход работы и принципы)
  • 19. Я снимаю стресс
  • 20. (у других людей)
  • 21. Я — менеджер
  • 22. Итак, кто делает Perl?
  • 23. Много замечательных людей
  • 24. Я жепростостою всторонке...
  • 25. ...пока другие люди заняты замечательными вещами
  • 26. Твоё имя естьв списке авторов Perl?
  • 27. Ты CPAN-автор?
  • 28. Ты крут!
  • 29. Ты делаешь Perl
  • 30. Правилаклуба Perl
  • 31. commit e8cd7eae0498ecc1fd3801fe3160Author: Гурусами Сарати <gsar@cpan.org>Date: Sun Oct 10 23:48:07 1999 +0000 добавил perlhack.pod от Натана Торкингтона <gnat@frii.com>
  • 32. Правило первое
  • 33. Ларри всегдазнает, что Perlдолжен делать
  • 34. Правило второе
  • 35. Ларри вправе менять своё мнениесо временем...
  • 36. ...несмотря на то, что есть Первое правило
  • 37. Я не Ларри
  • 38. Я и рядомс ним не стою
  • 39. У меня неттаких ярких рубашек
  • 40. У меня неттаких ярких рубашек
  • 41. Правила существуютне только для Ларри
  • 42. Не толькодля парней из Pumpking
  • 43. Они также работают для Perl 5
  • 44. Как?
  • 45. Правило первое
  • 46. Perl всегда прав!
  • 47. (TMTOWTDI)
  • 48. Правило второе
  • 49. Perl 5 может...
  • 50. изменитьсвоё мнение?
  • 51. Поменять нашемнение просто
  • 52. Нам вообще легко это удаётся
  • 53. Перестать носитьсятуда-сюда и менять решение — очень сложно
  • 54. ...и из-за этогопоявляются проблемы
  • 55. По крайней мере,я не слышал, что
  • 56. Perl умер!
  • 57. Perl умер!1!!
  • 58. Perl умер!1!!один!
  • 59. Всё, что я недавно слышал было...
  • 60. Куда мы идём?
  • 61. Всё меняется слишком быстро. Давайте чуть медленнее?
  • 62. Вы сделали регекспысложными? /$#@!/l?
  • 63. "Умное сопоставление"названо неверно...
  • 64. Какое же оно умное,если это полная шиза?
  • 65. Раз Perl 5 не мёртв,может переименуем его?
  • 66. Меня обвиняют втом, что у меня нет видения Perl 5
  • 67. Чегоу меня нет,так это защитного костюма http://en.wikipedia.org/wiki/File:Dance_Dance_Immolation.jpg
  • 68. peЧего rl5 -pу меня нет, or te rsтак это защитного костюма http://en.wikipedia.org/wiki/File:Dance_Dance_Immolation.jpg
  • 69. Если бы я рассказал о своем видении 2 года назад...
  • 70. Вы бы смеялись надо мной
  • 71. Улучшение Perl 5не имело смысла
  • 72. Мы даже новый релизвыпустить не могли
  • 73. А за прошлый год...
  • 74. ПятьСтабильных Релизов
  • 75. Десяток релизов дляразработчиков
  • 76. Perl 5.14.2 — стабильный релиз Perl 5на сегодняшний день
  • 77. Вышел в сентябре
  • 78. Чтобы подготовитьрелиз у нас уходило 3 недели
  • 79. Но мы заставилипарней из Pumpking сделать это
  • 80. Теперь на подготовку релиза уходит меньше дня
  • 81. Задокументирован процесс из 43-х шагов
  • 82. Мы постоянно меняемрелиз-инженеров
  • 83. Многие из них —новые коммитеры
  • 84. Релиз-инженерамнужны commit-биты
  • 85. С тех пор как мы перешли на git,мы почти удвоили число коммитеров
  • 86. И конец светане наступил
  • 87. Многие из релиз-инженеровстали продуктивными контрибьюторами
  • 88. Теперь когдас релизами понятно...
  • 89. Видение Perl 5
  • 90. Новые версии Perl 5не должны ломать ваш софт
  • 91. Старыйсинтаксис и семантика не должны останавливать развитие Perl 5
  • 92. Нам необходимо ошибаться, если мы решили переделать Perl 5
  • 93. Мы будем ошибаться,если мы решилипеределать Perl 5
  • 94. И мы ошибались,пока переделывали Perl 5
  • 95. И нам нужно немного прийти в себя
  • 96. Сейчас runtimeслишком длительный,его нужно сократить
  • 97. У Perl должноостаться адекватное поведение по умолчанию
  • 98. Нам нужно прийти в себя после прошлогодних«адекватных поведений»
  • 99. Нужно сделатьвозможным, чтобы в Perl 5 было больше Perl 5
  • 100. Perl должензапускаться везде
  • 101. Правило второе: Perl может менять своё мнение
  • 102. И это уже так
  • 103. И это вредит программам ипрограммистам
  • 104. Когда код работает, вы не думаете о его семантике
  • 105. use v5.14;
  • 106. «А есть Perl 5.14 или новее?»
  • 107. «Что-нибудьпосвежее, чем 5.14.0 было бы великолепно!»
  • 108. «Хорошо. У меня 5.30.Наслаждайтесь!»
  • 109. Это бесполезно
  • 110. Нужно что-то менять
  • 111. Отныне объявляйте ожидаемую вами версию Perl
  • 112. use v5.16;
  • 113. «Хочу, чтобы Perl 5работал как 5.16»
  • 114. Runtime долженгордиться такой просьбой
  • 115. Perl должен обладать максимально близкой семантикой,о которой вы просите
  • 116. Новые фичине должны работать,указывая ‘use v5.$тарый;’
  • 117. Нам критически необходимо развиваться
  • 118. Нам нужензапасной выход
  • 119. Нам нужноВторое Правило
  • 120. Если вы объявляете старую версию, то получаете старыйсинтаксис и семантику
  • 121. ...по крайней мере, насколько это возможно
  • 122. Совершенствонедостижимо
  • 123. Мы можем пойтинамного дальше, нежели сейчас
  • 124. Нарушениесуществующего кода должно стать крайней мерой
  • 125. В исключительныхслучаях мы можемнарушить обратную совместимость
  • 126. Некоторыесумасшедшие штуки нельзя исправитьопционально или лексически
  • 127. Это займет уймувремени и сил
  • 128. Уймувремени и сил!
  • 129. Но этоне невозможно
  • 130. Устаревшиеконструкции
  • 131. Сейчас исправление устаревших конструкций занимает 1 год
  • 132. «В 5.16.0 есть ещёпредупреждения»
  • 133. «В 5.18.0 будет всё в порядке»
  • 134. Выясняется, что этослишком быстро
  • 135. Совсем немного ОС выпускаются так же часто
  • 136. Мы можем вноситьизменения быстрее
  • 137. Если в старом коде это ещё работает, меняем так, чтобы не было периода устаревания
  • 138. Иногда необходимовыпускать говнофичи, чтобы они неблокировали важных улучшений
  • 139. Если мы не можемэмулировать старыефичи для старого кода, период устранения затягивается
  • 140. «Это не работает в коде с объявлением ‘use v5.16’»
  • 141. «В старом коде на 5.16.0 сыпятсяпредупреждения»
  • 142. «И в 5.18.0 тоже сыпятся!»
  • 143. «Зато в 5.20.0 такого уже не будет»
  • 144. Правило второе и Старые Модули
  • 145. Мы заняты не только устаревшими конструкциями изадрачиванием старыхнеработающих фич
  • 146. Мы делаем то жесамое и со старыми модулями
  • 147. Все они окажутся на CPAN
  • 148. Это вредит пользователям,которые пишут код, «не используя внешние модули»
  • 149. Нам же нужно этоупростить, чтобыдобавить в Perl 5 две штуки:
  • 150. Hotel California (Eagles)
  • 151. 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!
  • 152. Это традиционный Perl
  • 153. The Times,TheyAre A-Changin’ (Bob Dylan)
  • 154. 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’
  • 155. Это Bootstrappable Perl
  • 156. Мы занимаемся тем,чтобы упростить язык
  • 157. Perl — большой язык
  • 158. Есть языки и больше
  • 159. Большим языкомсложнее управлять
  • 160. Большой языксложнее учить
  • 161. В большом языкесложнее исправлять баги
  • 162. У нас всё нормально, но ещё не блещем в разработке языка
  • 163. У насзамечательные модули, как и сообщество
  • 164. Как мы сделаем Perl компактнее?
  • 165. Можно загружатьмодули, которые вводят новые встроенные функции
  • 166. Можно загружатьмодули, которые вводят старые встроенные функции
  • 167. Время начинать...
  • 168. ...рефакторинг
  • 169. На самом деле, многое в Perl 5не является частью языка Perl 5
  • 170. Всё это — звенья цепи Perl 5
  • 171. И мне нравится наша цепь
  • 172. Я имею в виду не толькоустаревшие конструкции
  • 173. ...но и удаление
  • 174. SysV IPC функций
  • 175. Функций ввода-вывода для сокетов
  • 176. Функций Unix-пользователя и группы
  • 177. Функций Unix-сети
  • 178. Функций процесса и группы процессов
  • 179. Форматов
  • 180. Умногосопоставления
  • 181. ...и вероятно ещёкучи всякой всячины
  • 182. Если вы не используете ‘use v5.16’, то вы получите то, что было в 5.14
  • 183. Реализация SysV может быть модулем
  • 184. Как пользователя Perl 5, вас это не должно тревожить
  • 185. ...и вы дажене сможетеэто заметить
  • 186. В будущем мывероятно исправимпару багов в коде
  • 187. Вы сможете использовать обновления без необходимостиобновлять весь Perl 5
  • 188. Возможно, однажды мы уберем то, что есть вruntime по умолчанию
  • 189. Любая добавленнаяфича требует столь драгоценной нам памяти
  • 190. Любая добавленная фича требует столь нужного психического здоровья
  • 191. Таким образом, нужно явно говорить, что хотите использовать старую фичу
  • 192. ...но только если v5.16
  • 193. ...но только если v5.18
  • 194. ...но только если v5.20
  • 195. И с уже написаннымкодом ничего не произойдёт
  • 196. Многие, очень многие вопросы пока еще без ответов
  • 197. Но все это можно сделать!
  • 198. Мы двигаемсявперёд довольно быстро
  • 199. Мы сделали нечто такое...
  • 200. Что я никогда бы не сделал снова
  • 201. Теперь я куда более скептически отношусь к новым фичам
  • 202. ...по крайней мере, к тем, которыене упрощают всё и незаменяют собой другие
  • 203. Нам обязательно нужны адекватные поведения по умолчанию
  • 204. Сколько жебезумного в Perl 5
  • 205. Безумный синтаксис
  • 206. Безумная семантика
  • 207. Безумие внутри
  • 208. Безумные модули
  • 209. Может самое времясделать что-нибудь с этим?
  • 210. Мы уже начали
  • 211. “use v5.12” включает“use strict;”
  • 212. Что же дальше?
  • 213. warningsпо умолчанию
  • 214. autodie-стильпо умолчанию
  • 215. Мы должны использоватьисключения, а не просто return при ошибке
  • 216. Я не хочу, чтобы мы спорилиоб иерархии исключений
  • 217. Чёрт, да я буду счастлив, если мы начнём хотя бы с dying при«well-defined strings»
  • 218. (Я в восторге от иерархии исключений)
  • 219. open()с 2 аргументами перестало быть по умолчанию
  • 220. open()с 1 аргументом перестало быть по умолчанию
  • 221. Не будет больше разделитей для имени модулей
  • 222. Больше не будет считаться, что поумолчанию кодировка Latin-1
  • 223. Везде utf-8по умолчанию
  • 224. Простая и понятная мета-модель с классами и методами
  • 225. Никакихкосвенных вызовов у объектов по умолчанию
  • 226. Только если,вы объявили “use v5.16”
  • 227. Только если,вы объявили “use v5.18”
  • 228. Только если,вы объявили “use v5.20”
  • 229. Perl должен бытьпонятнее, проще и легче в работе
  • 230. Для пользователей...
  • 231. ...и для тех, кто этобудет разрабатывать
  • 232. Perl должензапускаться везде
  • 233. Не толькона любой платформе
  • 234. Не толькона любой ОС
  • 235. Но и на каждойвиртуальной машине
  • 236. В каждом Браузере
  • 237. На каждомТелефоне
  • 238. Почему Perl 5 неработает на других runtimes?
  • 239. «Потому чтонет спецификации»
  • 240. Но этоне остановило Ruby
  • 241. «Только Perl 5 может распарсить Perl 5»
  • 242. Но этоне остановило PPI
  • 243. Чтобы выжить,отчаянному хакерунеобходимо суметьпереписать Perl 5
  • 244. Спасибо за внимание!
  • 245. Большое спасибо отдельным спонсорам!
  • 246. Вопросы?http://blog.fsck.comjesse@perl.org@obra
  • 247. Значит, вы хотите поменять имя?
  • 248. Что-то типа Perl 7?
  • 249. Или Raptor?
  • 250. Наш язык называется Perl 5
  • 251. Perl 6 — нашаразвитая не по годам «сестрёнка»
  • 252. Я бы рад поговоритьо переименовании Perl 5...
  • 253. ...если вы напишите мне вторую реализацию
  • 254. ...которая пройдёт все тесты
  • 255. Оригинальная презентация http://slidesha.re/FnClbQ7Перевод — Точка Кипения http://tochkak.ru