singalen: (nerd)
[personal profile] singalen
13-16 июля.
Днепровцы, кто отдаст три (четыре) дня жизни?
Ну или не-днепровцы?
Java? Groovy? Scala?

(no subject)

5/7/12 09:20 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
А мы на Haskell будем фигачить! :)

(no subject)

5/7/12 19:42 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Ну, для нас Haskell - довольно знакомая платформа, так что шансы только повышает.

Не, по части типизации он уже лет пять как отсталый язык - нонче рулят танковые клинья и ковровое бомбометание, в смысле, Coq и Agda 2. :))) На самом деле: последний писк в типизации языков программирования - зависимые типы. Вообще, и им в обед сто лет, но даже их пока не удалось сделать достаточно удобными для практического использования, поэтому о более навороченных изысках в _языках_ программирования говорить пока не приходится, AFAIK. Но и зависимые типы - штука весьма мощная и крутая! :)

Некоторые элементы зависимых типов есть и в Haskell (GADTs и Type Families), но ограниченные, поэтому не столь выразительные, зато несложные на практике. Так что Haskell уже потихоньку переходит в разряд стабильных, проверенных временем языков для промышленной разработки.

(no subject)

6/7/12 18:32 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Помнится, [livejournal.com profile] thesz ловил себя на мысли, что agda - довольно практичный язык, потому что компилируется в Haskell и может использовать его библиотеки. :)

Лично я думаю, что на текущий момент, Haskell - самый промышленный из развитых и самый развитый из промышленных языков.

Что-то охладел к Скале - неудобный (в плане синтаксиса, как минимум) и запутанный язык. Чтобы разобраться в Скале нужно выучить Java, выучить Haskell, а потом ещё понять как Одерски совместил один с другим. Одерски очень умный мужик, проделал большую и интересную работу, но совмещение ФП и ООП слишком сложно само по себе. При этом, благодаря синтаксису и интерференции с ООП, проще выучить Haskell, чем с ходу в Скале разбираться что такое монады, аппликативные функторы и т.д.

IMHO, разумеется. Например, [livejournal.com profile] sorhed может со мной не согласиться.

(no subject)

6/7/12 20:23 (UTC)
Posted by [identity profile] thesz.livejournal.com
Это был не я, это был [livejournal.com profile] vshabanov. ;)

(no subject)

7/7/12 23:15 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Прощенья просим - запамятовал за давностью лет... Как-то незаметно в самом деле пара лет прошла. :)

(no subject)

8/7/12 11:08 (UTC)
Posted by [identity profile] sorhed.livejournal.com
Точно так же Scala — очень практичный язык, потому что компилируется в Java и использует все его библиотеки. А библиотек для Java навалом, прекрасных, чего нельзя сказать о хаскеле.

Хаскел мне тоже нравится, конечно, и на нём можно писать, но он из другой культурной среды. Для меня Scala стала естественным выбором, потому что я до этого 12 лет писал на джаве, а также был Smalltalk-энтузиастом и ООП не воспринимаю как ненужное зло (чем грешат многие функциональщики).

Но, конечно, люди приходят в ФП и из других языков программирования.

(no subject)

8/7/12 14:54 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Интересно, это ЖЖ рассылает уведомления об упоминаниях, или вы их сами находите? :)

> А библиотек для Java навалом, прекрасных, чего нельзя сказать о хаскеле.
Я бы сказал, что это для Haskell очень много прекрасных библиотек, а для Java большинство библиотек ужасны, а наиболее популярные - просто нормальные. :)

Но с "практичностью" Scala как абстрактной характеристикой (средней по больнице) соглашусь - в своей нише у него конкурентов просто нет (пока что).

Я не считаю ООП злом само по себе - как и ФП не считаю панацеей. Но как по мне, так Scala наглядно демонстрирует порочность смешения одного со вторым. Одерски - повторюсь - очень умный мужик, и проделал огромную работу, но чтобы разобраться полностью в том как он соединяет в Scala ФП и ООП мне сильно нехватает знаний как первого, так и второго. При том что мне хватило знаний ФП чтобы в Haskell пользоваться existential types и делать инкапсуляцию с их помощью. При этом пользоваться такими продвинутыми ФП-приёмами в Scala сложнее, чем в Haskell уже из-за одного только более громоздкого синтаксиса, а если не пользоваться, то зачем он тогда вообще нужен?

Кстати, как-то раз на собственном опыте убедился, что Streams в Scala (ровно как и в Clojure и многих других) - "обман трудящихся", потому что когда ленивость по-настоящему нужна, она нужна и в хвосте, и в голове, и в самих значениях, там хранящихся. [livejournal.com profile] thesz совершенно правильно говорил, что ленивость должна быть правилом, а строгость - исключением, иначе она просто не работает.

Впрочем, наверное, если осилить полностью Scala, то потом никакие Agda 2 и ATS не страшны! :) А чем сильнее программисты напрягают мозг и чем таких больше - тем лучше для индустрии и человечества. ;) Так что я не против Scala - вполне таки за. :)

(no subject)

9/7/12 07:45 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
А чем прекрасна joda.time?

(no subject)

Posted by [identity profile] gabriel-irk.livejournal.com - 9/7/12 08:24 (UTC) - Expand

(no subject)

10/7/12 13:45 (UTC)
Posted by [identity profile] thesz.livejournal.com
Каких конкретно функций не хватает?

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 20:29 (UTC) - Expand

(no subject)

Posted by [identity profile] arumad.livejournal.com - 12/7/12 14:38 (UTC) - Expand

(no subject)

Posted by [identity profile] arumad.livejournal.com - 13/7/12 05:17 (UTC) - Expand

(no subject)

Posted by [identity profile] arumad.livejournal.com - 13/7/12 13:23 (UTC) - Expand

(no subject)

Posted by [identity profile] arumad.livejournal.com - 13/7/12 05:27 (UTC) - Expand

(no subject)

8/7/12 17:11 (UTC)
Posted by [identity profile] sorhed.livejournal.com
Что ж, интересуют прекрасные библиотеки для работы с SQL, GUI, сетью (кроме сырых сокетов), и прочие batteries included.

(no subject)

9/7/12 07:36 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Вероятно, у нас разные представления о прекрасном. ;)
Batteries included я никому не обещал, правда же? :)

GUI всё ещё слабое место ФП, поскольку не найдено подходящего формализма, впрочем Fudgets в чём-то прекрасны, хотя и не юзабельны.

А какая нужна работа с сетью не через сырые сокеты?

(no subject)

Posted by [identity profile] gabriel-irk.livejournal.com - 9/7/12 08:17 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 9/7/12 09:44 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 9/7/12 09:41 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 9/7/12 10:53 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 10/7/12 13:57 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 14:10 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 10/7/12 14:24 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 17:01 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 17:10 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 20:44 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 21:22 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 11/7/12 21:34 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 10/7/12 13:46 (UTC) - Expand

(no subject)

9/7/12 07:44 (UTC)
Posted by [identity profile] gabriel-irk.livejournal.com
Хочу пояснить: я не отрицаю сугубой юзабельности Java - напротив, очень уважаю её стабильность, качество и проработанность. С удовольствием пользуюсь в благоприятных случаях.

Но ничего прекрасного я в Java и окрестностях не вижу. В этом нет ничего плохого, это не мешает get things done.

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 9/7/12 09:42 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 9/7/12 10:55 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 9/7/12 10:58 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 9/7/12 19:27 (UTC) - Expand

(no subject)

Posted by [identity profile] gabriel-irk.livejournal.com - 11/7/12 06:42 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 11/7/12 06:52 (UTC) - Expand

(no subject)

Posted by [identity profile] gabriel-irk.livejournal.com - 11/7/12 07:12 (UTC) - Expand

(no subject)

Posted by [identity profile] sorhed.livejournal.com - 11/7/12 07:24 (UTC) - Expand

(no subject)

Posted by [identity profile] thesz.livejournal.com - 11/7/12 10:26 (UTC) - Expand

(no subject)

Posted by [identity profile] gabriel-irk.livejournal.com - 12/7/12 14:30 (UTC) - Expand

(no subject)

9/7/12 08:40 (UTC)
Posted by [identity profile] arumad.livejournal.com
а нафіга тобі теорія? чим тобі поможе ( initial | finite ) object??
а щоб не лякався, на тобі комікси (комікси це ж весело і легко)
GADT та dependent types

(no subject)

5/7/12 14:12 (UTC)
Posted by [identity profile] arumad.livejournal.com
> (Ё-моё, на всю контору никто не отозвался!)
ви з ДімаБ знову окремими командами?

>Haskell... по части ФП и типизации до сих пор впереди планеты всей, или появилось что-то ещё?
те саме Васю питав про agda з її dependent types.
каже ні, попереду не просто agda, а agda 2, вона в haskell та javascript компілёвна.

(no subject)

13/7/12 15:02 (UTC)
Posted by [identity profile] gavenkoa.livejournal.com
Как начало соревнования?

В какую команду вошел?