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

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

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

Клавиатуры и программирование

Не так давно я сменил свой рабочий инструмент. Выбор был очень непростой, долгое время я откладывал этот вопрос, говоря себе, что пока и на “дефолтной” нормально работается. И чтобы вы понимали масштаб раздумий, я пристально приглядывался к ErgoDox EZ. А потом купил обычную такую mxKeys от старого доброго Logitech. О чем ни капли не жалею и буквально каждый день получаю удовольствие от работы с ней. И теперь хочу поделится с вами кое-какими мыслями, которые возникли у меня в процессе выбора и эксплуатации данного девайса, а также некоторыми мыслями о клавиатурах и наборе текста в общем. Так что готовьтесь, сейчас я буду убеждать вас, почему клавиатура вроде mxKeys — отличный выбор для программиста и почему вам не нужен эргономический монстр.

Continue reading “Клавиатуры и программирование”

Сверху или снизу?

Ох, давно я ничего не писал! Я пытался, честно. Я начинал писать обширную статью-сравнение Unity и UE4. Я начинал писать цикл статей про некоторые внутренности UI в Unity. К тем статьям я подходил основательно: составлял список тем, на которые потенциально мог бы что-то написать. Выбирал наиболее актуальную. Потом составлял примерный план. И систематически его разворачивал — ну все как положено! А в итоге все ушло в мусор. Как-то не вышел каменный цветочек.

А на днях меня посетила спонтанная идея: к чему должно быть ближе имя метода — к вызывающему коду или к вызываемому? Возможно, у вас это не вызывает никаких вопросов, вы знаете верный ответ. И, черт возьми, немалые шансы, что вы угадали! Но все же, давайте немного поразмышляем об этом. Я, честно, не уверен, что мы к чему-то придем, и что эта статья не повторит историю своих предшественниц. Но попробовать хочется.

Continue reading “Сверху или снизу?”

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

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

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

Волшебство Clojure

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

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