Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет yigal_s ([info]yigal_s)
@ 2007-12-18 15:55:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
программизм
На знаменитом ныне sql.ru (где ксеноцефал) я недавно обнаружил упоминание работ Luca Cardelli из Microsoft Research.

На мой вкус, колоссальный чувак. Пишет статьи (то, на что ссылались и то, что пока видел) в таком научно-популярном стиле. Порой переходит в научный стиль, порой в популярный, но всегда очень связно и без излишних выебонов, так что текст в целом и в деталях понятен даже выпускнику ПТУ, вроде меня.

Пока-что проглядел статью о Polyphonic C# - это С# в котором синхронизация осуществляется посредством async remote calls ака передачей сообщений. Не уверен, что то, как они это сделали - это то, что надо (решения некоторых простых задач выглядят несколько надуманными и кривоватыми), но всё равно прикольно. И стимулирует.

Дальше стал читать статью "Type Systems". Вроде бы, достаточно тривиальные вещи излагаются, кроме непонятных формул-закорючек (в которых, впрочем, крайне легко разобраться), но от того, что эти тривиальные вещи нормально формализованы, в голову начинают лезть довольно интересные идейки. А вот почему-то от чтения обычных книг по программированю те же самые идеи наоборот гасятся. Ну, ясно почему. Потому, что в книгах последнего типа говорится о том, как всё хорошо, а трудности, если даже и упоминаются, то радикально и глубоко не исследуются. Ну и формализации особой нет, скорее есть "делай как я". Книги по программированию меня вообще уже лет так n-надцать вгоняют в депрессию и отупление.


(Добавить комментарий)


[info]juan_gandhi@lj
2007-12-18 13:05 (ссылка)
Классная идея насчёт polyphonic - что после этого будет с джавой?

А насчёт книг - верно замечено. Ну кто пишет эти книги? Кстати, не все таковы. Есть смешные книги вроде effective java, java puzzlers...

(Ответить) (Ветвь дискуссии)


[info]yigal_s@lj
2007-12-18 13:17 (ссылка)
Угу. Только не только "кто пишет", но и "для кого пишет".

Да вроде, имеется и Join Java (пишут, эта вся "полифония" основана на join calculus, если это вам о чем-то говорит... мне-нет). Самое смешное, что я еще в старом 90-м году читал книжку по Паскалю, расширенному этим самым, асинхронными вызовами функций как синхронизационной модели.

(Ответить) (Уровень выше)


[info]aamonster@lj
2007-12-19 06:42 (ссылка)
Не знаю, что-то не уверен, что это (polyphonic) приживется: вроде бы то же самое можно получить в функциональных языках с lazy evaluation (которое позволяет задешево скидывать часть вычислений в другой тред), а проработаны они лучше.

(мнение пока очень смутное, надо будет еще разок-другой прочитать).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2007-12-19 07:02 (ссылка)
так это и не средство распаралеливания, это средство организации взаимодействия тредов. Типа, мютексы, эвенты, кондвары и прочие семафоры выкинуть, а вместо них использовать это самое.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aamonster@lj
2007-12-19 07:16 (ссылка)
Дык я не зря в сторону функциональных языков киваю - они ж тоже позволяют без мютексов-эвентов обойтись.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2007-12-19 07:39 (ссылка)
Это пока сайд-эффектов нет. А если такой язычок управляет зенитным комплексом... там много сайд-эффектов. :-)

Я, впрочем, не особо в теме - монад не знаю, Эрланга тоже.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aamonster@lj
2007-12-19 07:52 (ссылка)
Чудес не бывает: если сайд-эффекты проявляются при функциональной записи, они проявятся и без нее.

Впрочем, я тоже не особо в теме - так, любопытствую/изучаю. Пока из новых языков (поддерживающих функциональщину) больше всего понравилась Scala, из технологий для распараллеливания - гугловский MapReduce. Но в функциональщину я еще до конца не въехал.

(Ответить) (Уровень выше)


[info]spamsink@lj
2007-12-18 14:35 (ссылка)
А последним абзацем на 15-й странице "Type Systems" надо кое-кому в морду тыкать, а то осточертело до жути.

(Ответить)