Re[2]: Simple Made Easy — Rich Hickey
От: varenikAA  
Дата: 05.06.20 05:58
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>После того как полгода писал продуктовый код (не интеграционные тесты) на Elixir пришел к выводу, что динамика в проде вообще не опция, если ты планируешь писать больше 50 KLOC. Слишком много неожиданностей и неприятностей. Только статическая типизация, без вариантов. Хочется экзотики в проде — то, наверное, надо брать Haskell или F#. А лучше не брать экзотики вообще.


Может это проблема элексира? Он динамичный?

Haskell или F#

— упаси, бог!
Простой пример:
match x with
| A -> f1()
| B -> f2()
...


и

(defgeneric description (object)
  (:documentation "Return a description of an object."))

(defmethod description ((object integer))
  (format nil "The integer ~D" object))

(defmethod description ((object float))
  (format nil "The float ~3,3f" object))

(description 10); => "The integer 10"

(description 3.14); => "The float 3.140"


обобщенные функции в CLOS наголову выше паттерн-матча, который по сути — те же if-ы.
Совершенно не уменьшает связанность и следовательно сложность ПО, даже наоборот, каждый матч это новый клубок.
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.