LINUX.ORG.RU

Сообщения Vuvuzela

 

Новый выпуск журнала «Практика фукционального программирования»

Форум — Development

Кто-нибудь знает, когда выйдет сабж? И выйдет ли вообще? Последний номер выходил в 2011 году. Твиттер и «планета» живы, но там один пространный трындежь, про журнал ни слова.

 

Vuvuzela
()

Помогите разобраться

Форум — Development

Пусть R — левое нётерово кольцо, тогда почему категория всех конечно-порождённых левых R-модулей (где стрелки — все морфизмы данных модулей) является абелевой?

 

Vuvuzela
()

Loper OS

Форум — Development

Недавно наткнулся на этот проект. Возрадовался прямо. Давно я не встречал такой грамотной и продуманной концепции лисповой ОС и рантайма, в духе Symbolics и Genera. Кто-нибудь следит за проектом, как у них там дела? А то я в английском не особо силен.

 , loper os

Vuvuzela
()

Haskell и GitHub.

Форум — Talks

По мотивам этой темы. Написано, что исследовались языки, по которым число коммитов на жидхабе превышало 40000. В списке нет Haskell, поэтому мне кажется, что это исследование суть звиздежь и фуфло. А вам так не кажется?

Перемещено true_admin из development

 ,

Vuvuzela
()

Попробовал Scala. Больше не хочу.

Форум — Development

Решил задачу на Scala невероятно красивым способом? Расскажи об этом своему clojure-коллеге. Только окажется, что он ушел три часа назад, оставив тебе записку «Используй Map». — Daniel Worthington-Bodart

Мне кажется, это «бесчеловечный» язык. Удивительно, что он сделан вроде бы человеком и вроде бы для людей. — Clinton Begin

Впервые я познакомился со Scala шесть лет назад. Тогда мне пришлось иметь дело с самодельной build-системой, написанной на Scala и использовавшей Scala в качестве языка для build-скриптов. Scala мне сразу не понравилась:

1. Build-скрипт компилировался по три минуты после внесения правок, и это еще до начала непосредственно сборки,
2. Синтаксис скриптов был совершенно бессистемный. Где-то было def где-то var. Где-то знак =, где-то фигурные скобки. Такое впечатление, будто кто-то шатался по скриптам, разбрасывая случайным образом знаки пунктуации.

Правда, я был готов признать, что это просто неправильное использование хорошего языка. Build-скрипты — это в некотором роде одноразовая задача, и это не самый лучший способ освоить сложный язык. Ну и идея вывода типов мне всегда была симпатична, начиная с моего опыта с Haskell.

Но вот в последние две недели мне пришлось разрабатывать простое RESTful API для большого и сложного набора данных. Я к Scala больше не притронусь!

Scala мы выбрали потому, что весь проект сделан на Java и XSL, с большим количеством обработки XML. Вроде как Scala — очевидный способ повысить продуктивность, особенно принимая во внимание встроенную в язык поддержку XML.

Но не тут-то было!

(Compile Times, Libraries and the Community, Magic Syntax, Everything is a Type, ‘Local’ Type Inference...)

Много о чем еще можно было бы написать. Неразбериха в инструментах сборки. Полная безнадега в поддержке Scala в IDE. Мешанина из «типов типов». Вечная копипаста с case class'ами. Но сказанного достаточно: всего этого хватило, чтобы затормозить разработку как минимум на две недели. Хватило, чтобы расхотелось когда-либо иметь дело со Scala.

Если вы дочитали до конца, то наверняка выделили лейтмотив моего текста. Он заключается в том, что Scala — неюзабельный язык. Я полагаю, изначально это был некий полигон для языковых экспериментов, который почему-то превратился в довольно распространенный язык. Не вижу ни одной убедительной причины в пользу Scala; есть много других языков, чтобв поэкспериментировать с ФП; если уж не терпится испытать сильные системы типов (а вам должно хотеться!) — попробуйте Haskell. Я допускаю, что, может быть — может быть! — вам удастся что-то такое проделать со Scala.

Но, ради всего святого, не пытайтесь использовать ее в продакшене.

 ,

Vuvuzela
()

Closure Web Browser

Форум — Development

Решил попробовать сабж. Делаю по инструкции. С первыми пунктами проблем нет, а вот здесь начинаются сложности:

6. make sure your Closure and McCLIM ASD files are linked from your ASDF central registry
7. push :rune-is-integer on your lisp's *feature* list to avoid some lingering character/integer bugs in the Closure source code

Может какой благородный лисп-гуру расскажет мне, как это делается?

 , ,

Vuvuzela
()

«Object Oriented Analysis and Design» Гради Буча — в чем цимес?

Форум — Development

Всем привет. Ну, что же. Я прочитал 200 страниц этого вашего Буча.

После прочтения сложилось стойкое ощущение бессодержательной трепни из какой-нибудь сектансткой книги с элементами бреда, в которой только изображается присутствие какого-то знания. Или еще вот похоже на учение Зигмунда Фрейда. Фрейд же был признан, было множество практиков-психоаналитиков, много школ-ответвлений. А теперь ясно, что это антинаучный бред.

Может, прочту еще 200 страниц для полного просветления. Хотя вот, скажем, SICP содержательный, и без лажи, как у Буча про concurrency. Ведь всем сейчас понятно, что ООП никак не справляется с многотредовым программированием, а мониторы в Java (synchronized методы) просто полный провал. А в третьем издании от 2007 года у Буча все еще преподносится ООП как панацея от проблем concurrency.

Короче, я думаю, правы лисповцы, хацкелисты, ФП-фаги, что ООП — фуфло. Точнее не фуфло, а детский лепет по сравнению с высоким программированием, как в SICP или Haskell. И лепечут ООП-шники потому, что другого не знают просто. Не знают, что есть другие когнитивные системы, более полные и гибкие.

Или, может, это у меня лыжи не едут?

 booch, ooa,

Vuvuzela
()

Функциональные языки и unit-тестирование

Форум — Development

Здравствуйте. Как обстоят дела с unit-тестированием в функциональных языках? Интересуют в первую очередь «чистые» языки (Haskell).

Вот в ОО-языках, например, есть такой подход — Mock Object. Объекты, которые имитируют поведение реальных компонентов системы (БД, сеть и т.п.) Это позволяет полноценно тестировать систему вне production environment. Для Java есть полдюжины mock-фреймворков. Но, поскольку в «чистых» функциональных языках даже такого понятия как «объект» нет, то сия парадигма неприменима.

Так каким же образом принято реализовывать сабж? Спасибо.

 , ,

Vuvuzela
()

RSS подписка на новые темы