dz

Аспектное

May 03, 2011 19:00

А, наверное, с точки зрения адепта ФП, аспектное программирование - это слабое подобие левой руки? Мне эта парадигма любопытна, но ощущение какого-то костыля не покидает. 
 

Leave a comment

anonymous May 4 2011, 20:07:21 UTC
d_zh May 4 2011, 21:03:15 UTC
Да при чем тут язык. ФП нуждается в рефакторинге, автосборках и т.д. не меньше императива.

Ну и кстати про современность языков. Те же хаскель с емаксом старше джавы, а что на них сделали стоящего за эти 20 лет? Практически, ничего. Так и остался академическим междусобойчиком. Не думаю, что хугл переломит ситуацию. Хаскель и многие другие языки просто еще не дозрели до того уровня проектов, когда требуются те навороты, которые уже 10 лет норма в мире джавы. Внутри песочницы нет проблемы обслуживания карьерных экскаваторов. Но не потому, что пластмассовый совок круче, а потому что песка мало.

Да и джава на месте не стоит. Я с ней в обнимку с 97 года, еще с 1.1. Джава 1.6 - это практически другой язык. А для любителей есть скала, которую можно сочетать с джава (и всей ее многомиллиардной инфраструктурой и многомиллионным комьюнити) в одном проекте и при этом не мешать остальным членам команды своей функциональщиной.

Reply

thesz May 5 2011, 07:50:21 UTC
>ФП нуждается в рефакторинге, автосборках и т.д. не меньше императива.

Я на текущей моей работе пишу на Хаскеле и C#. На C# я написал много, и достаточно сложного. А на Хаскеле я простые вещи не пишу.

Так вот, неправда ваша. ;)

>Те же хаскель с емаксом старше джавы, а что на них сделали стоящего за эти 20 лет?

На Emacs? Написали Джаву, например ( ... )

Reply

d_zh May 5 2011, 11:38:13 UTC
> На Хаскеле? Написали верифицированное микроядро. Кроме многого прочего.

Наверное, это микроядро очень сложное и важное, я не знаю. Меня больше оценка сверху интересует. На Java написано софта на сотни миллиардов долларов. На Хаскеле - преимущественно искусственные задачки, вызывающие восхищение внутри замкнутого комьюнити. То есть выхлоп отличается на несколько порядков величин.

То есть, так скажем, при всей своей чистоте и красивости Хаскелю по бизнес-ценности еще далеко не только до Java, но и до Фортрана с Коболом. А вот для развития мозгов - да, полезно.

> У Скалы есть большой недостаток - JVM. ;)

С точки зрения разработки как бизнеса - это огромное преимущество. Я бы даже сказал, что это дает ей право на жизнь.

Reply

awson May 6 2011, 07:48:33 UTC
> На Java написано софта на сотни миллиардов долларов.

Гагага. Квадрильонов. Квадрильонов долларов.

Писали бы на Хаскелле, обошлись бы миллиардиком.

Reply

d_zh May 6 2011, 18:55:36 UTC
Странно, что имея возможность быть в 100 раз эффективнее мэйнстрима, вы еще не миллиардер. Или миллиардер?

Reply

d_zh May 5 2011, 11:47:29 UTC
> Вот и пишет народ проекты в одиночку на Хаскеле

Покажите мне банковскую или страховую систему (на самом деле любую бизнес-критичную для бизнеса $100M+), написанную на Хаскеле, проданную и внедренную в 2 и более мест, и я соглашусь в своей неправоте.

P.S. наша дискуссия про инструментальную поддержку мне напоминает дискуссию об МКПП vs АКПП :) Солидным аргументом в пользу механики признается только купленный Мерс со стиком (c) dz.

Reply

dz May 5 2011, 12:09:10 UTC
Я такое правда где-то сказал??? :)

Reply

d_zh May 5 2011, 12:22:34 UTC
Первая ссылка в яндексе по запросу "мерс со стиком" :-) Это было 4 года назад где-то в комментах по совсем другому поводу. Не пугайся, у меня атипично хорошая память.

Reply

dz May 5 2011, 12:32:21 UTC
Охренеть! :)

Reply

dmzlj May 5 2011, 12:17:40 UTC
Дэу Матиз с АКПП и кондиционером --- это смешно.

Reply

d_zh May 5 2011, 12:26:20 UTC
Сорри, я не настолько разбираюсь в сортах говна, чтобы по достоинству оценить метафору.

Reply

dmzlj May 5 2011, 12:27:33 UTC
Ну тогда зачем пытаться впаривать то, в чем не разбираетесь?

Reply

d_zh May 5 2011, 12:36:17 UTC
У меня нет задачи вам что-то впарить.

Для меня просто непонятна ситуация с тем, что кондиционер и АКПП могут вызвать у вас смех. К сожалению или к счастью я просто не знаком с конструктивными особенностями Матиза, чтобы понять ту мысль, котрую вы хотели донести своей метафорой.

Reply

lomeo May 5 2011, 14:01:08 UTC
Кстати, может ты не знаешь.

У Scala есть хвостовая рекурсия (но явнвя - указываем @tailrec для таких функций/методов), а вот хвостовых вызовов нет - приходится делать явный трамполайнинг (как по-русски?). Впрочем это не проблема JVM, а проблема компилятора - вон kawa же работает.

Ленивости неявной нет из-за JVM, да, уж слишком ненормальным будет сгенеренный код (CAL). А вот мутабельность не такая уж большая проблема, на самом деле. Я несколько новых проектов на работе на Scala пишу, так вот var или mutable-коллекций у меня там практически нет (кроме разве что случаев, когда необходим интероп). Всякий IO заворачиваем в их foreach/map/filter/flatMap. Не Haskell, но жить можно.

На Haskell хрен бы мне дали написать эти проекты (впрочем, некоторые другие можно), а вот на Scala - да. Так что JVM - это для меня достоинство Scala ;-)

Хотя всё это, конечно, полумеры: "Давайте, все на Nemerle, мы вас научим функциональному программирования не отходя от императива". Беда.

Reply

ex_juan_gan May 5 2011, 21:22:15 UTC
Там ещё прикольная вещь со скалой, что т.к. jvm, и язык объектный, то карриинг в нужную сторону не получается (порядок параметров неправильный).

Reply


Leave a comment

Up