LÖVE (is all you need)
Frame fucking work-2
Простите, погорячился в прошлой заметке. Давайте более культурно все расскажу.
Наблюдаю за эволюцией языков, например. Компьютерных.
Эта эволюция есть окультуривание.
Человек столкнулся с примитивной хренью. Да, компьютер довольно примитивен. Для тех, кто не в курсе — «компьютеры это просто единички и нули и арифметика с ними». Погуглите «машина тьюринга».
Напоминаю, что prīmitīvus по-латыни — это просто «первый», first of its kind.
Столкнулся человек с компьютером или изобрел его — вопрос анамнезиса (про него у меня тоже есть не написанная заметка).
Как и в случае с алхимией, всегда можно сказать «ход ваших мыслей мне нравится». Во время этого окультуривания человек делает компьютерные языки более «человечными», привнося туда опять-таки человеческие же метафоры (самый простой пример — ООП).
(Более машинными их сделать уже нельзя, мы начали с самого дна).
Фреймворк в таком случае — это какая-то чужая высокоуровневая конструкция, в которую предлагается просто верить. Примерно как невроз. Или как идеология. (Что, в общем-то, одно и то же). Евангелисты, например, в IT тоже есть.
Отсюда понятно, почему мы фреймворки не любили.
Со стороны может показаться, что это просто набор метафор, но это не просто набор метафор, натянутых на глобус и сшитый белыми нитками, это — то же самое: компьютерные языки — тоже языки, а культура программирования — это тоже культура, с нюансами, но безо всяких «но».
Все это очень красиво наблюдать в режиме «большой картинки», помещать туда себя и узнавать что-то в том числе и про себя.
Вот, как-то так.
Программист против терапевта
На днях я снова допустил терапевтическую ошибку.
Клиент на сессии рассказал задачку по программированию, с которой он столкнулся на собеседовании в одну крупную компанию — и испытал сложности. Она мне понравилась, я тут же ее радостно решил и попросил разрешения опубликовать ее в блоге.
Это было в высшей степени не терапевтично. Программист победил терапевта. Это было вообще not cool.
У меня к подобным задачам двойственные чувства: либо я их решаю сразу, либо не решаю вообще, причем часто не понятно, как это связано с умением программировать или умом. Конкретно эта задача оказалось мне простой, но только потому, что я решал подобную («написать программу, разгадывающую анаграммы» — считайте, что это спойлер).
А задачка такая:
Есть много-много разных строк, зашифрованных простым шифром: все буквы в строке сдвигаются на N позиций. То есть, вместо «папа» становится «рбрб», если N = 1.
Во всех строках N разное.
Надо вывести вместе все «совпадающие» строки — те строки, которые до шифрования были одинаковыми.
Monkey sees
Когда мне надо решить, использовать бинарную маску или текстовые флаги, я останавливаюсь и думаю — «А что бы сделал Иисус?».