На официальных сайтах многих проектов можно обнаружить мануалы в формате PDF. В частности, такие мануалы есть у Akka, Cassandra, MongoDB и PostgreSQL. У MariaDB такую документацию, к сожалению, найти не удалось, да и сам раздел с документацией был обнаружен исключительно благодаря Google. Также, к сожалению, не удалось найти официальной документации в формате PDF по Riak и RabbitMQ.

С каждой публикацией очередной порции рецензий на недавно прочитанные мной книги всегда находится пара человек, задающие мне одни и те же вопросы. Где я нахожу время на прочтение такого количества книг, читаю я книги одну за другой или же сразу несколько книг, переключаясь между ними, за что я презираю художественную литературу, решаю ли я все упражнения, не получается ли чтение слишком поверхностным, и так далее. Немного подустав постоянно отвечать на эти вопросы, я решил написать этот FAQ.

Суровая действительность такова, что, начиная с какого-то момента, программист не может так просто взять и покинуть некогда выбранную им нишу. Дело тут не в том, что веб-разработчика ни за что не возьмут в геймдев. Взять-то возьмут, но, за неимением соответсвующего опыта, платить будут ощутимо меньше. Даже разница в 10к рублей — это не так уж и мало, если умножить на 12 месяцев. И вот, бедный программист вынужден всю жизнь заниматься примерно одними и теми же задачами. Не удивительно, что рано или поздно к нему в гости приходят тоска и безысходность, типа «я занимаюсь всякой рутиной, а настоящие пацаны где-то пишут игровые движки и ПО для управления шаттлами».

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

Время от времени люди говорят мне, что я что-то делаю не по стандарту, и потому неправ. Дескать, «твоя реализация протокола не соответствует RFC» или «почему ты пишешь void main(), когда по стандарту должно быть int main()»? Меня давно подмывало написать пост на эту тему, и вот, после очередного такого упрека, я собрался с духом.

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

Вот многие программисты считают себя умными. Читают Хабр, слушают Радио-Т, рассуждают с умным видом про шаблоны ООП или там теории категорий. И любят делать умные решения. Ведь простые решения любая обезьянка написать может, а вот сложные… Почитывая мой бложик, кто-то из вас мог ошибочно подумать, что я тоже такой весь из себя шибко умный. Знаю там Haskell, книжек много читаю. В действительности, я очень тупой. И поэтому при решении задач стараюсь использовать как можно более тупые решения.

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

В этой заметке я продолжу делиться удивительными открытиями в отношении разработки программного обеспечения, жизни, ее смысла и вообще. Предыдущую часть вы найдете здесь.

Будучи молодым и наивным, я хотел перепробовать на практике все новомодные NoSQL-решения, знать все необычные языки программирования и писать код, покрытый тестами не менее, чем на 98%. Я считал, что при желании смогу одинаково хорошо разбираться как в веб-разработке, так и в написании драйверов для FreeBSD. Теперь, состарившись и помудрев, я начинаю осознавать всю глубину этих, а также других заблуждений. В данной серии заметок я хочу перечислить совершенно очевидные вещи, понимание которых, тем не менее, почему-то приходит только со временем.