Да. Ни харизмы, ни нормального объяснения, фразы в духе «это функция рекурсия, и она одновременно рекурсивный процесс».
И я смотрел оригинальные лекции. И прочитал с половину книги. И мне стало интересно, писал ли кто подобный курс используя язык Си.
Введение в Computer Science, большой охват тем, немного алгоритмов и структур данных, управление сложностью программ - абстракции данных и процедур, различные подходы к программированию.
Введение в Computer Science, большой охват тем, немного алгоритмов и структур данных, управление сложностью программ - абстракции данных и процедур, различные подходы к программированию.
-1. предисловие из сикпа цельнотянутое.
0. реклама из Кернигана про уже к 1975? С был на 10 PDP-11.
1. реализация скобок( в варианте r5) на подмножестве С
2. оставшаяся(сикп без предисловия) часть сикпа разбавленая некоторыми финтами использующими факт что схема не целевой , а промежуточный - ибо байтолюбство в книге по С кошерно.
SICP - чмошный формат. В одну куцую книжонку вместили поверхностное, бессистемное изложение слишком многих слишком разных тем. Из всех, кто только по этому курсу учился, получаются полудурки с кашей в голове. Не надо тащить это говно в Си.
Я без понятия про всех, но Абельсон говорил, что суть курса в управлении сложностью программ, и первые три главы имеют к этому прямое отношение - абстракции с помощью процедур, абстракция данных, модульность и объекты. За четвёртую и пятую главу толком не скажу, т.к. не читал ещё, но судя по оглавлению к управлению сложностью программ они имеют косвенное отношение.
Т.е. существует некая программа, которая не реализуема на C ?
они ВСЕ не реализуемы также красиво и понятно. В сишечке просто нет таких букв и таких скобочек. А вот годный сишный код не реализуем на схеме никак, кроме уродского быдлокода.
вам часто приходится работать с его выпускниками? Мне довольно часто (нынешний офис находится через дорогу от их кампуса, и у нас их работает довольно много) — умные приличные люди, ничего плохого о них сказать пока не могу
но переносимо-то за счет того что либа написана для каждой ОС. В языке Си переносимо не сделаете. А в скиме это часть языка. Потому-то one-to-one mapping сикпа на си не получится, лоу-левел язык просто не может всех тех абстракций которым сикп учит.
если СИ-прогер будет(сам-ли , или при помощи правильно пропатченного lint (был в своё время такой инструмент)) спецом следовать некоторым правилам( ну например стараться писать все(по возможности) функции чистыми , передавать функцие все аргументы через 1указатель/структуру в которой непосредственно аргументы вызова и указатель на контекст( а это для замыканий) и так далее
то в результате ты получиш что -то типо Дилана ( гугль в помощь)
основное затрудение , что С итак требует внимательности , а для такого схемного С потребуется или очень умный линт или «железный» прогер.