Pull to refresh

Comments 8

Перевод:
>Наконец, проверяем Order…

Оригинал:
>Finally we check out the Order…

А вот не надо так переводить. check out для заказа никогда не означает «проверяем».
На здоровье. А скажите, вот эти статьи — они не то чтобы плохие, наоборот, они интересные, но они производят впечатление, что автор размышляет прямо в процессе написания. Для блога это нормально. Книга наверное все-таки не такая, не таким вот языком блогов написана?
Нет, книга более структурированная и строгая. Складывается впечатление, что Гош как раз задумал ее, приступив к изложению подобных идей в блоге — еще в 2014 году
Часто авторов серий (обычно неформальных) постов просят изложить их в виде книги. Иногда читатели, иногда издатели :)

This is a dogmatic screed that is probably worthless to the working programmer. Any reader would be better off just reading a bit about functional programming and incorporating it into their work as they see fit.


Further, a book of this type is no place to be using terminology from universal algebra, category theory and mathematical logic which, while possibly impressive to the uninitiated, will likely only leave the average reader dazed and confused. Worse, it is not clear that the author understands the mathematics as is witnessed by their definition of an algebra which, among other peculiarities, contains this statement: "[an algebra contains] a few axioms or laws that are assumed to be true and can be used to derive other theorems."


Be warned, this book assumes the axiom of Mutability is Evil without substantive reason.

Это хорошая и нужная книга.

Пользуясь случаем, хочу сообщить, что на протяжении 2016 года я тоже писал для Manning книгу под кодовым названием «Functional Design and Architecture». В ней я рассматриваю много важных вопросов:

  • Approaches to architecture modeling using diagrams;
  • Requirements analysis;
  • Embedded DSL domain modeling;
  • External DSL design and implementation;
  • Monads as subsystems with effects;
  • Free monads as functional interfaces;
  • Arrowised eDSLs;
  • Inversion of Control using Free monadic eDSLs;
  • Software Transactional Memory;
  • Lenses;
  • State, Reader, Writer, RWS, ST monads;
  • Impure state: IORef, MVar, STM;
  • Multithreading and concurrent domain modeling;
  • GUI;
  • Applicability of mainstream techiques and approaches such as UML, SOLID, GRASP;
  • Interaction with impure subsystems.
  • Functional design patterns: Abstract interpreter, MVar request-response, State monad dependency injection, etc.


Книга построена вокруг центрального примера — SCADA-приложение Andromeda об управлении космическим кораблем, написанное на Haskell (GitHub).

На данный момент в черновую готовы 5 глав (50% книги):

  1. What is software design?
  2. Architecture of the application
  3. Subsystems and services
  4. Domain model design
  5. Applicatoin state


На моем гитхабе доступны материалы: здесь.

Предполагаются также следующие главы:

  • Business logic design
  • FRP
  • Reactive streams
  • Persistence
  • Type level design
  • Design patterns and idioms


К сожалению, в январе 2017 издательство Manning Publications решило прекратить проект, потому что их не устраивают сроки и общее содержание книги. В моих текущих планах предложить книгу другим издательствам и закончить работу над манускриптом за 2017 год.
Sign up to leave a comment.