Значение выражений

Одна из тем, которые я всегда поднимаю на собеседовании, — value-based классы. Или value-классы. Ну хотя бы неизменяемые объекты? — зачастую приходится перебрать несколько вариантов, прежде чем собеседник поймет, чего я от него хочу. “А, DTO’шки”. Досадно, что такая важная концепция, как “значение”, имеет такую малую распространенность в мейнстримном программировании. И вот сидел я как-то вечером и тихо грустил о том, что люди не жалуют функциональное программирование. А потом вдруг подумал — а чего грустить, попробую побороться с этим хоть как могу. И пошел писать эту статью.

Continue reading “Значение выражений”

Не обижайте чужие технологии!

Суровый C++-ник скептически относится к пробело-чувствительности Python и считает ее бездонным источником ошибок? А как вам мнение, что ФП — хайповая тема и на самом деле все то же самое можно отлично сделать на ООП? Знакомо такое отношение? Надеюсь, что нет. Впрочем, скорее всего за свою карьеру вам доводилось сталкиваться с подобным. Об этом и хочу поговорить.

Continue reading “Не обижайте чужие технологии!”

Волшебство Clojure

Когда-то в детстве мне посчастливилось увидеть в одной детской энциклопедии картинку. Справа был небольшой фрагмент кода на бейсике. На таком старом классическом бейсике, с нумерацией строк через десять, вроде 640, 650, 660. А слева был монитор, на котором отображалась монохромная картинка то ли взлетной полосы, то ли самолета, то ли самолета, взлетающего со взлетной полосы… и подписано, что, мол, программка справа рисует картинку слева.

Continue reading “Волшебство Clojure”