В Смольном был, Ленина видел
2012-07-10 10:32 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Работа моя нынешняя пригласила Саймона Пейтона-Джонса (того самого) прийти и рассказать нам что-то интересное.
Он согласился и пришел, рассказывал вариации на тему побега из башни из слоновой кости (кто не видел - пролистайте хоть слайды, они ржачные). Т.к. аудитория наполовину состояла из caml-программистов, позубоскалили на тему eager и lazy evaluation, и т.д. и т.п.
В процессе я узнал, что (извините за пиджин рашн):
* "Avoid success at all cost" означает "avoid success, at all cost", а вовсе не "avoid (success at all cost)", как думают некоторые
* Саймон не любит злоупотребление point-free стилем, т.к. код получается плохочитаемый
* Самой ужасной фичей языка он назвал records и все, что с ними связано. Что с ними делать - пока не ясно, т.к. на любое предложение по их переделке находится 10 контр-предложений (и большинство - по делу), а выбирать меньшее зло не хочется.
* На вопрос "а если бы все начать сначала и можно было легко получить purity без laziness - был бы Haskell ленив?" ответил "раз уж мы фантазируем, то - да, но в данной нам реальности я не вижу способа насадить purity в eager языке и не задолбаться"
* На вопрос о том, не жалеет ли он, что F# Микрософт превратило в продукт, а Haskell - нет, ответил, что вовсе нет, т.к. во-первых, avoid success at all cost, а во-вторых - у Дона Сайма ушло 5 лет и гора усилий, чтобы F# стал реальностью, и он (Саймон) на такие жертвы не готов.
* Сейчас 50% времени сейчас он занимается http://www.computingatschool.org.uk/ - комитетом, который переписывает школьную программу по "информатике" в UK, чтобы школьников учили не MS Office, а чему-то более похожему на CS. Возможно, деток будут учит Scratch.
Он согласился и пришел, рассказывал вариации на тему побега из башни из слоновой кости (кто не видел - пролистайте хоть слайды, они ржачные). Т.к. аудитория наполовину состояла из caml-программистов, позубоскалили на тему eager и lazy evaluation, и т.д. и т.п.
В процессе я узнал, что (извините за пиджин рашн):
* "Avoid success at all cost" означает "avoid success, at all cost", а вовсе не "avoid (success at all cost)", как думают некоторые
* Саймон не любит злоупотребление point-free стилем, т.к. код получается плохочитаемый
* Самой ужасной фичей языка он назвал records и все, что с ними связано. Что с ними делать - пока не ясно, т.к. на любое предложение по их переделке находится 10 контр-предложений (и большинство - по делу), а выбирать меньшее зло не хочется.
* На вопрос "а если бы все начать сначала и можно было легко получить purity без laziness - был бы Haskell ленив?" ответил "раз уж мы фантазируем, то - да, но в данной нам реальности я не вижу способа насадить purity в eager языке и не задолбаться"
* На вопрос о том, не жалеет ли он, что F# Микрософт превратило в продукт, а Haskell - нет, ответил, что вовсе нет, т.к. во-первых, avoid success at all cost, а во-вторых - у Дона Сайма ушло 5 лет и гора усилий, чтобы F# стал реальностью, и он (Саймон) на такие жертвы не готов.
* Сейчас 50% времени сейчас он занимается http://www.computingatschool.org.uk/ - комитетом, который переписывает школьную программу по "информатике" в UK, чтобы школьников учили не MS Office, а чему-то более похожему на CS. Возможно, деток будут учит Scratch.
(no subject)
Date: 2012-07-10 09:46 pm (UTC)(no subject)
Date: 2012-07-10 10:06 pm (UTC)(no subject)
Date: 2012-07-11 04:37 am (UTC)(no subject)
Date: 2012-07-10 10:08 pm (UTC)FAQ на haskell.org читал. :)
(no subject)
Date: 2012-07-10 10:20 pm (UTC)Эх. Лучше бы их учили устройству процессора, бинарным операциям и основам алгоритмов. А то уже третье поколение подрастает, которое не знает, за какой конец держать отладчик… >.<"
(no subject)
Date: 2012-07-10 11:01 pm (UTC)(no subject)
Date: 2012-07-11 03:55 am (UTC)(no subject)
Date: 2012-07-11 09:00 am (UTC)(no subject)
Date: 2012-07-11 03:21 am (UTC)(no subject)
Date: 2012-07-11 05:23 am (UTC)Слова "a void" пишутся раздельно!!
(no subject)
Date: 2012-07-11 06:10 am (UTC)(no subject)
Date: 2012-07-12 03:30 pm (UTC)(no subject)
Date: 2012-07-11 09:03 am (UTC)Даже не знал, что бывает и такая расшифровка.
> не любит злоупотребление point-free стилем
Все не любят, вот только мнения о том, что считать злоупотреблением, у всех разные.
> раз уж мы фантазируем, то - да
"Да" в смысле "таки был бы ленив"?
(no subject)
Date: 2012-07-11 09:06 am (UTC)Т.е. как только пошли flip-ы и скобки и partial application of (.) - это уже повод задуматься.
Не, "таки был бы неленив"
(no subject)
Date: 2012-07-11 09:58 am (UTC)Вот тут я с ним очень несогласен.
(no subject)
Date: 2012-07-11 10:59 am (UTC)мне эта интерпретация всегда казалась неправдоподобно бессмысленной. можно поинтересоваться что за ней стоит?
(no subject)
Date: 2012-07-11 11:55 am (UTC)Когда придет success, будут миллионы нелояльных пользователей, которые будут тормозить прогресс (пассивно или активно - см. пример python 2 vs python 3).
(no subject)
Date: 2012-07-11 06:54 pm (UTC)(no subject)
Date: 2012-07-17 12:20 pm (UTC)Ну или они слишком оторваны от реалий и здравого смысла: чтобы люди начали переходить на Пи3 толпами, нужно чтобы библиотеки начали поддерживать Пи3, а чтобы библиотеки начали поддерживать Пи3 for real, нужна не 2to3.py, a 3to2.py. Типа, очевидно же, что а) будет дико долгий период когда библиотекам придётся саппортить оба, б) тот вариант языка, на котором написана master версия кода (а на все остальные она портируется), является будущим. 2to3.py как бы говорит нам: будущее за 2.х на самом деле, пока что. (я в курсе что есть какая-то неофициальная 3to2, почему она неофициальная?)
(no subject)
Date: 2012-07-14 06:11 pm (UTC)