R
https://www.youtube.com/watch?v=vN3Ac0dwXdk
Спор с Алексеем не получился, - мы с ним разделяем одну точку зрения. Опишу ее тезисно.
1. Зачем нужны фреймворки?
- Единый дизайн
- Удешевление производства
- Все-из-коробки
- Уверенность бизнеса
- Лучшие практики
- Доступность менее квалифицированных кадров
2. Какие есть фреймворки в Haskell (и PureScript)?
- Yesod - web framework
- Snap - web framework & HTTP server
- Servant - HTTP server
- Hydra - framework for web backends & CLI apps
- Node - framework for distributed apps & blockchains
- PureScript Presto - framework for mobile apps
- PureScript Presto.Backend - framework for web apps (Node.JS based)
3. Почему хаскеллисты любят библиотеки?
- Библиотеки абстрактны и решают технические задачи.
- Библиотеки не требуют думать о бизнесовых задачах.
- Дизайн библиотек не ограничен никакими требованиями, и полностью определяется вкусами разработчика.
- Библиотеки не налагают большой ответственности.
- Библиотеки чаще всего алгоритмические и потому лучше выражаются математическими концепциями. Хаскеллисты очень любят всё математичное.
- Алгоритмические библиотеки хорошо формализуемы.
- Требования к библиотекам достаточно четкие.
- Хаскеллисты ценят красоту концепций, свободу творчества и полет мысли.
- Библиотеки можно полировать до совершенства.
- Разрабатывать библиотеки абстрактно, без какой-либо цели, без какой-либо ответственности и без какого-либо образа потребителя - это весело.
4. Почему хаскеллисты не любят фреймворки?
- Фреймворки конкретны, решают бизнесовую проблему. Бизнесовые проблемы скучны. Они требуют общения с внешним миром.
- Фреймворки opinionated. Это ограничивает свободу творчества и полет мысли.
- Фреймворки заставляют задумываться о клиенте. О том, как это будет использоваться.
- Требования к фреймворкам проистекают из задач бизнеса, но часто эти требования расплывчаты и неполны (как и задачи бизнеса). Хаскеллисты не хотят этим заниматься.
- Фреймворки - это грубые инструменты. В них нет элегантности, и по большей части они неформализуемы.
- Существует предубеждение, что фреймворки - это какая-то ерунда из внешнего мира, а у нас тут есть математика, нам это не нужно. "Теория Категорий - лучший фреймворк".
- Фреймворки - это скучно. Скучнее только написание бизнес-логики.
Однако мне совершенно ясно, что фреймворкизация - это необходимый этап в жизни любого языка, движущегося в сторону индустрии. Хаскель здесь не исключение.