Задача
Задачу я встретил, решая упражнения из книги Структура и Интерпретация Компьютерных Программ). Обычно её называют SICP (читается сик-пиЧитать полностью »
Задачу я встретил, решая упражнения из книги Структура и Интерпретация Компьютерных Программ). Обычно её называют SICP (читается сик-пиЧитать полностью »
(Хабр-Статья представляет собой авторский перевод доклада, представленного автором на Scheme Workshop 2020, проводившегося в рамках Международной Конференции по Функциональному Программированию, 28 августа 2020 года)
Эта статья -- своего рода "отчёт" по самому большому проекту, который я сделал в своей жизни по собственной инициативе. Я сделал полное и всеобъемлющее решение всех задач из одной из самых извесных книг по программированию в мире "Структура и Интерпретация Компьютерных Программ" (Structure and Interpretation of Computer Programs -- SICP), за авторством Абельсона, Сассмана и Сассман.
Когда программисты обсуждают преимущества тех или других языков программирования, они часто рассуждают о них в прозаических терминах, как об инструментах в наборе различных приспособлений – один больше подходит для системного программирования, другой – для склеивания других программ в целях решения текущей задачи. Так и должно быть. У языков разные сильные стороны, и заявлять, что один язык лучше других языков, не указывая конкретных примеров, — значит, лишь вызывать непродуктивные и резкие споры.
Однако есть один язык, который странным образом вызывает всеобщее уважение: Lisp. Крестоносцы клавиатур, готовые атаковать любого, кто посмеет заявить, что какой-либо язык лучше других, сходятся в том, что Лисп находится на другом уровне. Он выходит за пределы утилитарных критериев, по которым судят другие языки, поскольку средний программист никогда не использовал Лисп для создания чего-либо практического, и, вероятно, никогда не будет этого делать, однако же, уважение к Лиспу настолько глубокое, что ему часто приписывают мифические свойства. Всеми любимые комиксы xkcd изображали таким образом Лисп как минимум дважды: в одном комиксе персонаж достигает Лисп-просветления, которое помогает ему познать фундаментальную структуру Вселенной. В другом старый программист в халате передаёт стопку круглых скобок своему падавану, объясняя, что это – «элегантное оружие для более цивилизованных времён», намекая на присущие Лиспу оккультные возможности Силы.
Читать полностью »
На днях широкое внимание привлекло состоявшееся в начале года на митапе NYC Lisp выступление Джеральда Джей Сассмана, — одного из авторов великого и могучего SICP, а также крестного отца Scheme. Всему виной — ответ на вопрос, почему в MIT прекратили преподавать ставший легендарным курс 6.001, построенный на основе книги Сассмана и Абельсона «Структура и интерпретация компьютерных программ» (вопрос задан на 59 минуте).
Сассман назвал две причины; впрочем, сразу замечу, что в первой из них нет ничего особенного. К 1997 году Абельсон и Сассман уже устали рассказывать практически одно и то же с 80-ых, поэтому решили оставить преподавание и предложили главе кафедры самостоятельно решить, как поступить с самим курсом. Здесь удивляться действительно нечему — что угодно может осточертерть, если заниматься им достаточно долго.
Впрочем, вторая причина гораздо серьезнее. По мнению Сассмана, они с Абельсоном осознали, что учебный план SICP больше не в силах подготовить инженеров к тому, что представляет собой «инжиниринг» сегодня. В 80-ых и 90-ых инженеры строили сложные системы, комбинируя простые и хорошо изученные «части». Целью SICP было предоставить язык абстракций для рассуждений о таких системах.
Читать полностью »
Привет!
С момента перезапуска образовательного проекта Хекслет прошло почти 5 месяцев. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. Сегодня мы хотим рассказать о наших успехах, прошедших и текущих курсах и планах на будущее.
Программирование на JavaScript
Короткий курс об основах языка программирования JavaScript. Никакого браузера, никаких jQuery, никакого DOM, только чистый JavaScript со всеми ужасными и прекрасными деталями. Подробнее о курсе можно узнать из первой лекции.
Читать полностью »
Здравствуй!
Осенью прошлого года я открыл Хекслет – образовательный проект с бесплатными онлайн-курсами по программированию на русском языке. Спустя неделю стартовал первый курс – Разработка под OS X. Это был очень интересный опыт, но было допущено много ошибок в разработке этого проекта.
Сегодня я рад объявить о перезапуске Хекслета! Что вас ожидает:
Уже сейчас можно записаться на три первых курса:
Трейлер очень интересного курса SICP:
Под катом – описания текущих и будущих курсов.
В предисловии к первому изданию замечательной книги «Структура и Интерпретация Компьютерных Программ» (SICP) авторов Харольда Абельсона и Джеральда Джей Сассмана, есть цитата из статьи Марвина Минский «Почему программирование — хороший способ выражения малопонятных и туманно сформулированных идей.» Цитата короткая, а полная публикация на русском языке мне не попадалась.
Ниже вы можете ознакомится с переводом этой статьи, и хотя написана она довольно давно, всё равно интересно ознакомится с мыслями такого человека как Марвин Минский, оригинальную статью можно найти здесь
Читать полностью »