Я провел пять дней в мошаве Арбель, неподалеку от Тверии, возле озера Киннерет на северо-востоке Израиля. Вместе с еще десятком программистов на языке Перл (Perl) — среди них несколько зарубежных гостей, а остальные израильтяне — мы занимались совместной и раздельной, организованной и не очень, работой над имплементацией новой версии языка: Perl 6. Все это называется смешным словом hackathon.
Ситуация с Перлом и его новой версией имеет довольно интересную недавнюю историю. Perl 5, текущей версии языка, уже десять лет. Хотя все время выходят новые релизы внутри этой пятой версии, существенным образом сам язык не меняется. И это хорошо, конечно; язык замечательный, библиотек хороших скопилась гора, итд. Но хочется и чего-то нового, да получше. Работа над определением новой версии языка, Perl 6, ведется уже лет пять, и до очень недавнего времени она была в очень плачевном состоянии. Ларри Уолл (изобретатель и автор языка) составил и продолжает составлять набор спецификаций будущего языка; но это все только на бумаге, и даже то, что на бумаге, очень неполно, многие важные вопросы до сих пор не решены, итд. А какой-либо реальной попытки что-то начать писать, собственно, не было. Немалый прогресс, правда, был достигнут в работе над попугаем, он же новая виртуальная машина, в которой по замыслу должен будет бежать Perl 6. Но это совсем отдельное; и, более того, виртуальная машина эта теперь уже претендует на то, чтобы с ней хорошо работал не только будущий Перл, но и Питон (Python), и другие языки.
Год назад, однако, очень талантливый хакер из Тайваня по имени Аутриджус Танг начал работать, поначалу практически в одиночку, над имплементацией Perl 6, используя для этого язык Хаскель (Haskell), очень мощный и интересный, но почти неизвестный за пределами университетских компьютерных факультетов язык. У него это получалось так феноменально быстро и успешно, что за прошедший год он и примкнувшие к нему добровольцы воплотили значительную часть языка, все основные возможности, большую часть стандартных библиотек, а также огромный набор разного рода тестов, вместе проверяющих правильную работу почти всего, что на данный момент известно о языке. Положение шестого перла из очень неопределённого превратилось в весьма многообещающее благодаря главным образом энтузиазму и потрясающей работоспособности и таланту одного человека, Танга, начавшего и возглавившго этот новый проект. Проект этот называется Pugs, и именно работе над ним был посвящен прошедший hackathon, по времени приуроченный к израильской оупен-сорс конференции OSDC, которая начинается сегодня. Кроме израильских любителей перла, в этом безобразии участвовал сам Ларри Уолл, а также Танг, который, довольно неожиданно для многих, несколько месяцев назад решил стать которой, т.е. сменить пол, и теперь её зовут Одри Танг (Audrey Tang); Одри объясняет причины своего решения в своем блоге, озаглавив запись, в типично хакерском стиле, "runtime typecasting".
Вообще там было очень здорово. К сожалению, я немного занимался собственно кодом, а в основном учил Хаскель и монады (я планировал их уже знать в нужном объеме к хакатону, но ничего не вышло); тем не менее, это было очень полезным занятием, хоть и на будущее; и несколько мелких вещичек я все-таки сделал, и во всяких дискуссиях свои пять копеек вставил. Ещё я читал там Джейн Остен, играл в настольный теннис и всех обыграл (ах, как я соскучился по нему - понял, только когда взял ракетку в руки), гулял, болтал-общался и вообще душа отдыхала. Было прекрасно.
Одно из наиболее интересных впечатлений - общение с Одри, особенно когда она что-то объясняет. Во-первых, вообще очень подстегивает общение с человеком, который думает быстрее тебя. Я соображаю довольно быстро, и мне чаще приходится объяснять отстающим, чем самому отставать. Это сразу злит в хорошем смысле слова, подстёгивает, заставляет собраться и сосредоточиться. Во-вторых, меня совершенно поразила степень соединения мыслей с пальцами и клавиатурой, которой она достигла. Дело не в том, что она очень быстро набирает, хотя это верно; быстрый набор - механическое умение, которому можно научиться тренировками (я, кстати, набираю довольно быстро, и практически вслепую, но не "правильно" вслепую, не по правильному методу, держа соответствующим образом пальцы итд.; а просто как-то само так сложилось, в основном первыми тремя пальцами каждой руки). Дело в том, что очень высокая скорость сохраняется у неё и тогда, когда не набирается какой-то текст, а, скажем, редактируется существующий, т.е. текст вперемешку с командами редактора или движением курсора - нажатиями на клавиши, требующими мгновенного контроля. Например: она объясняет что-то и одновременно пишет кусок кода на лаптопе, очень быстро; это ещё нормально. Но тут она говорит что-то вроде: а вот если бы не так, а вот так, и в то самое время, как она это произносит, ее пальцы параллельно бегают по уже написанному и правильно его меняют в нужных местах, совершенно синхронизированно и с той же скоростью. Причем это не заготовленное в мыслях заранее - если я что-то спрашиваю, следует мгновенный ответ с сопровождением руками с такой же скоростью. И так все время; может, это не звучит как что-то необыкновенное, а вы попробуйте-ка! Производит неизгладимое впечатление; как будто действительно человек сросся с компьютером в каком-то смысле. Я так совершенно точно не могу и не мог бы, даже если бы набирал "правильно" вслепую быстрее, чем набираю, как умею; дело именно не в механических навыках, точнее, далеко не только в них.
С Ларри я общался меньше, но он и вообще держался несколько в стороне; его роль была - "гуру" в вопросах языка и стандарта, в тех случаях, когда у нас возникают вопросы во время работы. Сам он код не писал, а в основном сидел за своим ноутбуком и читал какие-то тексты на японском языке.
Разъехались мы вчера вечером, а сегодня начинается эта трехдневная конференция, но там меня уже не будет. Работы много, да и вообще это меня меньше интересует, мне хотелось именно hackathon попробовать, и я остался очень доволен. Буду ли активно участвовать в работе над Perl 6 - не знаю; очень зависит от свободного времени и других таких вещей. Но неплохо бы; интересное дело и хорошие люди.
Ситуация с Перлом и его новой версией имеет довольно интересную недавнюю историю. Perl 5, текущей версии языка, уже десять лет. Хотя все время выходят новые релизы внутри этой пятой версии, существенным образом сам язык не меняется. И это хорошо, конечно; язык замечательный, библиотек хороших скопилась гора, итд. Но хочется и чего-то нового, да получше. Работа над определением новой версии языка, Perl 6, ведется уже лет пять, и до очень недавнего времени она была в очень плачевном состоянии. Ларри Уолл (изобретатель и автор языка) составил и продолжает составлять набор спецификаций будущего языка; но это все только на бумаге, и даже то, что на бумаге, очень неполно, многие важные вопросы до сих пор не решены, итд. А какой-либо реальной попытки что-то начать писать, собственно, не было. Немалый прогресс, правда, был достигнут в работе над попугаем, он же новая виртуальная машина, в которой по замыслу должен будет бежать Perl 6. Но это совсем отдельное; и, более того, виртуальная машина эта теперь уже претендует на то, чтобы с ней хорошо работал не только будущий Перл, но и Питон (Python), и другие языки.
Год назад, однако, очень талантливый хакер из Тайваня по имени Аутриджус Танг начал работать, поначалу практически в одиночку, над имплементацией Perl 6, используя для этого язык Хаскель (Haskell), очень мощный и интересный, но почти неизвестный за пределами университетских компьютерных факультетов язык. У него это получалось так феноменально быстро и успешно, что за прошедший год он и примкнувшие к нему добровольцы воплотили значительную часть языка, все основные возможности, большую часть стандартных библиотек, а также огромный набор разного рода тестов, вместе проверяющих правильную работу почти всего, что на данный момент известно о языке. Положение шестого перла из очень неопределённого превратилось в весьма многообещающее благодаря главным образом энтузиазму и потрясающей работоспособности и таланту одного человека, Танга, начавшего и возглавившго этот новый проект. Проект этот называется Pugs, и именно работе над ним был посвящен прошедший hackathon, по времени приуроченный к израильской оупен-сорс конференции OSDC, которая начинается сегодня. Кроме израильских любителей перла, в этом безобразии участвовал сам Ларри Уолл, а также Танг, который, довольно неожиданно для многих, несколько месяцев назад решил стать которой, т.е. сменить пол, и теперь её зовут Одри Танг (Audrey Tang); Одри объясняет причины своего решения в своем блоге, озаглавив запись, в типично хакерском стиле, "runtime typecasting".
Вообще там было очень здорово. К сожалению, я немного занимался собственно кодом, а в основном учил Хаскель и монады (я планировал их уже знать в нужном объеме к хакатону, но ничего не вышло); тем не менее, это было очень полезным занятием, хоть и на будущее; и несколько мелких вещичек я все-таки сделал, и во всяких дискуссиях свои пять копеек вставил. Ещё я читал там Джейн Остен, играл в настольный теннис и всех обыграл (ах, как я соскучился по нему - понял, только когда взял ракетку в руки), гулял, болтал-общался и вообще душа отдыхала. Было прекрасно.
Одно из наиболее интересных впечатлений - общение с Одри, особенно когда она что-то объясняет. Во-первых, вообще очень подстегивает общение с человеком, который думает быстрее тебя. Я соображаю довольно быстро, и мне чаще приходится объяснять отстающим, чем самому отставать. Это сразу злит в хорошем смысле слова, подстёгивает, заставляет собраться и сосредоточиться. Во-вторых, меня совершенно поразила степень соединения мыслей с пальцами и клавиатурой, которой она достигла. Дело не в том, что она очень быстро набирает, хотя это верно; быстрый набор - механическое умение, которому можно научиться тренировками (я, кстати, набираю довольно быстро, и практически вслепую, но не "правильно" вслепую, не по правильному методу, держа соответствующим образом пальцы итд.; а просто как-то само так сложилось, в основном первыми тремя пальцами каждой руки). Дело в том, что очень высокая скорость сохраняется у неё и тогда, когда не набирается какой-то текст, а, скажем, редактируется существующий, т.е. текст вперемешку с командами редактора или движением курсора - нажатиями на клавиши, требующими мгновенного контроля. Например: она объясняет что-то и одновременно пишет кусок кода на лаптопе, очень быстро; это ещё нормально. Но тут она говорит что-то вроде: а вот если бы не так, а вот так, и в то самое время, как она это произносит, ее пальцы параллельно бегают по уже написанному и правильно его меняют в нужных местах, совершенно синхронизированно и с той же скоростью. Причем это не заготовленное в мыслях заранее - если я что-то спрашиваю, следует мгновенный ответ с сопровождением руками с такой же скоростью. И так все время; может, это не звучит как что-то необыкновенное, а вы попробуйте-ка! Производит неизгладимое впечатление; как будто действительно человек сросся с компьютером в каком-то смысле. Я так совершенно точно не могу и не мог бы, даже если бы набирал "правильно" вслепую быстрее, чем набираю, как умею; дело именно не в механических навыках, точнее, далеко не только в них.
С Ларри я общался меньше, но он и вообще держался несколько в стороне; его роль была - "гуру" в вопросах языка и стандарта, в тех случаях, когда у нас возникают вопросы во время работы. Сам он код не писал, а в основном сидел за своим ноутбуком и читал какие-то тексты на японском языке.
Разъехались мы вчера вечером, а сегодня начинается эта трехдневная конференция, но там меня уже не будет. Работы много, да и вообще это меня меньше интересует, мне хотелось именно hackathon попробовать, и я остался очень доволен. Буду ли активно участвовать в работе над Perl 6 - не знаю; очень зависит от свободного времени и других таких вещей. Но неплохо бы; интересное дело и хорошие люди.
интересно ...
Date: 2006-02-26 08:13 am (UTC)no subject
Date: 2006-02-26 08:57 am (UTC)Хорошо было бы, если бы кто-нибудь из своих, не журналист, описал вот всех этих разных интересных людей. Можно и в ЖЖ. :-)
no subject
Date: 2006-02-26 10:19 am (UTC)no subject
Date: 2006-02-26 10:22 am (UTC)no subject
Date: 2006-02-26 08:56 pm (UTC)no subject
Date: 2006-02-27 08:03 am (UTC)А фамилия Тан - она и есть фамилия Тан (хоть императорская хоть крестьянская), другой фамилии с этим чтением у китайцев нет.
Извините за то, что отвлеклась от темы вопроса.
no subject
Date: 2006-02-27 08:20 am (UTC)Было 唐宗漢 , а стало 唐鳳.
no subject
Date: 2006-02-27 08:40 am (UTC)а стало Тан Фэн
очень интересно получилось, если предпроложить, что имя каким-то образом определяет судьбу, то мужское можно перевести как "герой (мужчина, китаец) следующий традиции (в религиозном смысле слова "традиция"), а новое - "феникс" (в китайском феникс - символ активного, царственного женского начала, а в западной традиции - птица, возрождающаяся (перерождающаяся) из пепла).
Спасибо за вопрос - я вообще активно интересуюсь китайскими именами и собираю интересные примеры символизма в именах.
no subject
Date: 2006-02-27 08:44 am (UTC)no subject
Date: 2006-02-27 08:50 am (UTC)no subject
Date: 2006-02-26 11:53 am (UTC)no subject
Date: 2006-02-26 02:57 pm (UTC)no subject
Date: 2006-02-26 03:22 pm (UTC)Ну, например, набор BNF правил.
А где-нибудь на эту грмтк посмотреть можно? Или пока это только для избранных? :)
no subject
Date: 2006-02-26 07:12 pm (UTC)А так - не очень, нужно в голове самому склеивать, читая synopses, ничего даже близкого к формальному, кроме исходного кода, нет пока.
no subject
Date: 2006-02-27 05:38 am (UTC)no subject
Date: 2006-02-26 08:59 pm (UTC)no subject
Date: 2006-02-26 09:04 pm (UTC)Вот только про a) я не понял.. обычно компилятор заканчивает работать еще до того, как запускается скомпилированная им программа. Может быть, compile-time модифицируемая?
no subject
Date: 2006-02-26 09:18 pm (UTC)no subject
Date: 2006-12-13 01:37 pm (UTC)no subject
Date: 2006-02-26 02:03 pm (UTC)no subject
Date: 2006-02-26 08:24 pm (UTC)Наверное, у него неправильная кодировка была выставлена, а спросить как исправить гордость не позволяла :-)
no subject
Date: 2006-02-26 08:50 pm (UTC)О чём общались с Одри, если не секрет?
А вообще вся эта история выглядела бредом, пока читалась в очень далёких блогах на всяких басурманских языках. Аутриус всегда был себе на уме, и после записи о тайпкастинге я подумал, что это какая-то хитрость или розыгрыш. И вот теперь как-то уже начинает вериться :)
no subject
Date: 2006-03-04 02:32 pm (UTC)История, как было совершенно очевидно, никакой не розыгрыш и не хитрость :) придется поверить.
no subject
Date: 2006-02-27 11:57 am (UTC)That's one way of getting good girl programmers! ;-)
no subject
Date: 2006-03-04 02:29 pm (UTC)no subject
Date: 2007-05-11 03:05 pm (UTC)no subject
Date: 2007-05-11 04:08 pm (UTC)no subject
Date: 2011-12-27 09:23 am (UTC)