Понятия, которые удивили Вас, когда Вы читаете SICP?

Пример # 10 средства запуска примера кода Java демонстрирует, как сделать запрос из нескольких частей в DocuSign и отправить документ (ы) в двоичном виде.

8
задан yesraaj 30 April 2012 в 08:54
поделиться

11 ответов

SICP действительно убедительно доказал точку зрения, что возможно посмотреть на код и данные как то же самое.

Я понял это прежде при размышлении об универсальных машинах Тьюринга (вход к UTM является просто представлением программы), или архитектура фон Неймана (где единственная структура устройства хранения данных содержит и код и данные), но SICP сделал идею намного более ясной. Схема (Lisp) помогла здесь, поскольку синтаксис для программы является точно тем же как синтаксисом для списков в целом, а именно, S-выражения.

После того как у Вас есть "эквивалентность" кода и данных, внезапно много вещей становится легким. Например, можно записать программы, которые имеют различные методы оценки (ленивый, недетерминированный, и т.д.). Ранее, я, возможно, думал, что это потребует расширения языка программирования; в действительности я могу просто включить его на язык сам, таким образом позволив базовому языку быть минимальным. Как другой пример, можно так же реализовать объектно-ориентированную платформу; снова, это - что-то, что я, возможно, наивно думал, потребует изменения языка.

Кстати, одна вещь, которой я желаю SICP, упомянула больше: типы. Проверка типа во время компиляции является удивительной вещью. Реализация SICP объектно-ориентированного программирования не обладала этим преимуществом.

21
ответ дан 5 December 2019 в 04:33
поделиться

Я еще не прочитал ту книгу, я только посмотрел на видео курсы, но она учила меня много. Функции как граждане первого класса были сногсшибательны для меня. Выполнение "переменной" было чем-то очень плохо мне знакомым. После просмотра тех роликов путем я теперь вижу, что JavaScript и программирующий в целом значительно изменился.

О, я думаю, что лгал, вещь, которая действительно ударила меня, состояла в том, что + была функция.

9
ответ дан 5 December 2019 в 04:33
поделиться

Я думаю, что самая удивительная вещь о SICP состоит в том, чтобы видеть, как немного примитивов на самом деле требуются, чтобы делать полный по Тьюрингу язык - почти что-либо почти из ничего не может быть создано.

Так как мы обсуждаем SICP, я вставлю свой стандартный разъем для видео лекций по http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/, который является лучшим Введением в Информатику, которую Вы могли надеяться получить через 20 часов.

5
ответ дан 5 December 2019 в 04:33
поделиться

Одним примером "данных и кода является то же самое" от A. Ответ короля получил меня очень глубоким путем.

Когда мне преподавали Lisp назад в России, наши учителя сказали нам, что язык был о списках: автомобиль, CDR, недостатки. То, что действительно поразило меня, было тем, что Вам не нужны те функции вообще - можно записать собственные, данные закрытия. Так, Lisp не о списках, в конце концов! Это было большим удивлением.

4
ответ дан 5 December 2019 в 04:33
поделиться

Тот, что я думал, был действительно прохладен, были потоки с задержанной оценкой. Тот о генерации начал был чем-то, что я думал, было действительно аккуратно. Как фармацевт "PEZ", который волшебно распределяет следующее начало в последовательности.

5
ответ дан 5 December 2019 в 04:33
поделиться

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

3
ответ дан 5 December 2019 в 04:33
поделиться

Я чувствовал Рекурсию в другом смысле после чтения некоторых глав SICP

1
ответ дан 5 December 2019 в 04:33
поделиться

Я был больше всего удивлен того, как легкий это должно реализовать языки. Тот мог записать интерпретатор для Схемы на доску.

2
ответ дан 5 December 2019 в 04:33
поделиться

Закрытия.

Происхождение из, прежде всего, обязательной среды (Java, C#, и т.д. - я только считал SICP приблизительно один год назад впервые и перечитываю его теперь), думая в функциональном отношении было большим открытием для меня; это полностью изменило способ, которым я думаю о своей работе сегодня.

0
ответ дан 5 December 2019 в 04:33
поделиться

Я нахожусь прямо сейчас на Разделе "Последовательности как Стандартные Интерфейсы" и нашел понятие процедур как граждане первого класса довольно захватывающим. Кроме того, приложение рекурсии - что-то, что я никогда не видел ни на каком языке.

1
ответ дан 5 December 2019 в 04:33
поделиться

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

Когда я обучал SICP, я был впечатлен различными аспектами. Для одного, загадка, что данные и код являются действительно тем же самым, потому что код является исполняемыми данными. Глава по металингвистическим абстракциям является ошеломляющей многим и имеет, многие берут домой сообщения. Прежде всего, все правила произвольны. Это беспокоит некоторых студентов, особенно те, кто физики в глубине души. Я думаю, что красота не находится в самих правилах, а в изучении последствия правил. Короткое изменение в коде может означать различие между лексическим обзором и динамическим обзором.

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

2
ответ дан 5 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: