Не абстракция ради абстракции. Узнайте, почему идеи теоретической информатики критически важны для вашей ежедневной работы!
Чувствуете, что вам не хватает фундаментальных знаний в computer science, но учебники кажутся слишком сложными? Эта книга создана специально для вас. Автор использует простой подмножество языка Ruby, чтобы объяснить ключевые идеи теоретической информатики: формальную семантику, теорию автоматов, функциональное программирование и лямбда-исчисление. Вы увидите, как эти абстрактные концепции напрямую связаны с проектированием языков программирования и вашей ежедневной работой. Это идеальное решение для программистов без формальной подготовки, которое поможет закрыть пробелы в образовании, повысить свою экспертизу и избавиться от синдрома самозванца.
Наконец-то появился увлекательный и практичным способ изучать теорию вычислений и проектирование языков программирования! В этой книге теоретическая информатика излагается в хорошо знакомом вам контексте, что поможет оценить, почему ее идеи важны и как они отражаются на том, чем программист изо дня в день занимается на работе. Вместо математической нотации или незнакомого академичного языка программирования типа Haskell или Lisp в этой книге для объяснения формальной семантики, теории автоматов и функционального программирования вкупе с лямбда-исчислением применяется язык Ruby, сведенный к минимуму.
Издание предназначено для программистов любой квалификации, знакомых хотя бы с одним из современных языков, но не имеющих формальной подготовки в информатике.