dastapov: (Default)
[personal profile] dastapov
Работа моя нынешняя пригласила Саймона Пейтона-Джонса (того самого) прийти и рассказать нам что-то интересное.

Он согласился и пришел, рассказывал вариации на тему побега из башни из слоновой кости (кто не видел - пролистайте хоть слайды, они ржачные). Т.к. аудитория наполовину состояла из 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)
From: [identity profile] deni-ok.livejournal.com
Вот, я всю жизнь говорю, что records - это дрянь, пятнающая прекрасный язык!

(no subject)

Date: 2012-07-10 10:06 pm (UTC)
From: [identity profile] andrew korzhuev (from livejournal.com)
Scratch классный, похож на Google Blocky, недавно по нему был челлендж написать самую короткую программу по прохождению лабиринта.

(no subject)

Date: 2012-07-11 04:37 am (UTC)
From: [identity profile] kurilka.livejournal.com
Скорей блоки на скрэтч похож, всёж скрэтч постарше будет.

(no subject)

Date: 2012-07-10 10:08 pm (UTC)
From: [identity profile] bytebuster463.livejournal.com
А я вот тоже удивляюсь, почему никто до сих пор не сделал hc для CLR.
FAQ на haskell.org читал. :)

(no subject)

Date: 2012-07-10 10:20 pm (UTC)
From: (Anonymous)
» чтобы школьников учили не MS Office, а чему-то более похожему на CS
Эх. Лучше бы их учили устройству процессора, бинарным операциям и основам алгоритмов. А то уже третье поколение подрастает, которое не знает, за какой конец держать отладчик… >.<"

(no subject)

Date: 2012-07-10 11:01 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
А программировать эти основы алгоритмов на чем? (речь про детей от 7 лет, если что)

(no subject)

Date: 2012-07-11 03:55 am (UTC)
From: [identity profile] sorhed.livejournal.com
На C для Ардуино, конечно. Ну и сделать для него же какие-нибудь форт и лисп.

(no subject)

Date: 2012-07-11 09:00 am (UTC)
From: [identity profile] migmit.livejournal.com
Это есть. Сейчас в школах как раз учат ксорить дворды. Не знаю, кому это надо, но таки есть.

(no subject)

Date: 2012-07-11 03:21 am (UTC)
From: [identity profile] djuffin.livejournal.com
А куда он к вам приезжал?

(no subject)

Date: 2012-07-11 05:23 am (UTC)
From: [identity profile] nivanych.livejournal.com
> avoid success

Слова "a void" пишутся раздельно!!

(no subject)

Date: 2012-07-11 06:10 am (UTC)
From: [identity profile] -darkus-.livejournal.com
Прикольно.

(no subject)

Date: 2012-07-12 03:30 pm (UTC)
From: [identity profile] -darkus-.livejournal.com
Таки нашёл время полностью посмотреть выступление гуру. Зажигает, да :).

(no subject)

Date: 2012-07-11 09:03 am (UTC)
From: [identity profile] migmit.livejournal.com
> "avoid (success at all cost)"

Даже не знал, что бывает и такая расшифровка.

> не любит злоупотребление point-free стилем

Все не любят, вот только мнения о том, что считать злоупотреблением, у всех разные.

> раз уж мы фантазируем, то - да

"Да" в смысле "таки был бы ленив"?

(no subject)

Date: 2012-07-11 09:06 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Злоупотребление было определено как "все, что сложнее простого pipeline из имен функций".

Т.е. как только пошли flip-ы и скобки и partial application of (.) - это уже повод задуматься.

Не, "таки был бы неленив"

(no subject)

Date: 2012-07-11 09:58 am (UTC)
From: [identity profile] migmit.livejournal.com
> Не, "таки был бы неленив"

Вот тут я с ним очень несогласен.

(no subject)

Date: 2012-07-11 10:59 am (UTC)
From: [identity profile] pradd123.livejournal.com
"avoid success, at all cost"

мне эта интерпретация всегда казалась неправдоподобно бессмысленной. можно поинтересоваться что за ней стоит?

(no subject)

Date: 2012-07-11 11:55 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Если иметь достаточно большую базу лояльных пользователей, можно продолжать развивать язык, и не боятся что-то ломать (в хорошем смысле слова - см, напрмер, переделанный тайпчекер в GHC 7.4) в каждой следующей версии.

Когда придет success, будут миллионы нелояльных пользователей, которые будут тормозить прогресс (пассивно или активно - см. пример python 2 vs python 3).

(no subject)

Date: 2012-07-11 06:54 pm (UTC)
From: [identity profile] max630.livejournal.com
А, так вот оно что. Я думал - почему у них такой бардак, а это так и задумано.

(no subject)

Date: 2012-07-17 12:20 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Ну, относительно Python3, у меня есть сильное ощущение, что это как раз avoid success at all cost in action. Типа они там экспериментируют, и даже что-то ломают иногда, но поскольку его используют только "лояльные" люди, это ок. А баттхёрт по поводу непопулярности исходит от фанбоев, которым забыли сообщить.

Ну или они слишком оторваны от реалий и здравого смысла: чтобы люди начали переходить на Пи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)
From: [identity profile] ro-che.info (from livejournal.com)
Надо еще уточнить, что фраза эта полушуточная. Но доля серьезности безусловно есть — то, о чем написал Дима.

Profile

dastapov: (Default)
Dmitry Astapov

May 2022

M T W T F S S
       1
2345678
9101112131415
161718 19202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags