Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
254 32 110

SICP тред /sicp/ #7 /sicp/ Аноним 04/09/19 Срд 14:23:07 14668891
HanamaruKunikid[...].jpg (131Кб, 900x800)
900x800
Продолжаем обсуждение лучшей книги всех времен и народов, а так же одноименных лекций. Приглашаются сюда как новички, ломающие над ней голову, так и опытные ребята, прошедшие ее всю (или большую ее часть).

Где скачать SICP?
На русском: http://newstar.rinet.ru/~goga/sicp/sicp.pdf
ориджинал: http://web.mit.edu/alexmv/6.037/sicp.pdf
https://github.com/sarabander/sicp-pdf/raw/master/sicp.pdf

Где я могу писать свой код, для выполнения заданий?
Онлайн редактор, с поддержкой Scheme: https://repl.it/languages/scheme
IDE для racket подобных языков(но есть и поддержка Scheme, но её нужно включить) - https://racket-lang.org/

Где посмотреть ответы на задачи?
http://community.schemewiki.org/?SICP-Solutions
https://github.com/qiao/sicp-solutions
https://wizardbook.wordpress.com/solutions-index/
Где посмотреть видео про книгу?
https://www.youtube.com/watch?v=a0YrCABCOEY
Предыдущий тред https://2ch.hk/pr/res/1404382.html
Аноним 04/09/19 Срд 14:23:34 14668932
Так же полезная информация.
Где я ещё могу пообсуждать любимый SICP, кроме двача?
https://www.reddit.com/r/compsci/
https://www.reddit.com/r/learnprogramming

Полезные ресурсы:
https://teachyourselfcs.com/
https://github.com/ossu/computer-science
https://sicp.neocities.org/

Книжки по ФП
https://www.dropbox.com/sh/ugtfwgfilgr0ebu/AABVDeYpTvcqcg22XZnYT8Eca?dl=0


Заодно еще пара ссылок (на онлайн-версию, видосы и сикп на кложе):
clj: http://www.sicpdistilled.com/
1986: https://www.youtube.com/playlist?list=PL8FE88AA54363BC46
2004: https://www.youtube.com/playlist?list=PL7BcsI5ueSNFPCEisbaoQ0kXIDX9rR5FF
harvey: https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter
html: http://sarabander.github.io/sicp/
По просьбам трудящихся еще 3 ссылки
https://htdp.org/2018-01-06/Book/part_prologue.html - как работает ракета
http://sicp.sergeykhenkin.com/
https://docs.racket-lang.org/sicp-manual/#(part._.Installation)

Для изучения языка-схемы порекомендую первые две главы https://www.scheme.com/tspl4/
Слоником в итт называют книгу The little schemer (но мне он не зашел из-за слишком своеобразной подачи материала).
Аноним 04/09/19 Срд 17:28:23 14671253
>>1466889 (OP)
А работа на этом вашем скипе есть?
Освятил
Аноним 04/09/19 Срд 18:25:03 14671884
image.png (50Кб, 970x172)
970x172
Аноним 04/09/19 Срд 18:49:53 14672215
>>1467125
А работа по учебнику математики за пятый класс есть?
Аноним 04/09/19 Срд 20:40:24 14673186
>>1467188
Там в последнем предложении говорится, что если скобками программу перегрузишь, то она будет похожа на лисп, но преимуществ лиспа иметь не будет. И вообще не ясно, что хотел сказать и про какой язык там речь идет. И изначально на кой хуй тут этот высер.
Аноним 04/09/19 Срд 21:18:34 14673577
>>1467318
Зачем ты распинаешься? Будто я последнюю строчку не читал, я прикольнулся просто.
Аноним 04/09/19 Срд 22:11:48 14674138
>>1467357
То ли у меня с чувством юмора проблемы, то ли у тебя шутки ебанутые.
Аноним 04/09/19 Срд 22:19:43 14674209
>>1467413
А какая разница про какой ЯП там речь идет? Миллион скобок в условном операторе, лишь бы работало, это хорошо чтоли?
Аноним 04/09/19 Срд 22:54:57 146744110
>>1467420
Мне любопытно просто, вот и вся разница.
Аноним 05/09/19 Чтв 16:38:24 146780911
>>1467221
Есть, училкой в школе за 10к / мес
Аноним 05/09/19 Чтв 18:10:36 146789212
>>1467441
Там тырпрайзный язык.
Аноним 06/09/19 Птн 23:55:57 146913613
ex113.png (18Кб, 456x114)
456x114
Если это не очень тонкий толстый троллинг от авторов SICP, то я не знаю, что это.
Нахуя в книжке про программирование на лиспе упражнение, которое никакого отношения ни к программированию, ни к лиспу не имеет, а является обыкновенным математическим упражнением? Вот нахуя я потратил полчаса своей жизни на это говно? Молодцы, буржуи, вы меня затроллили. У вас это получилось.
Аноним 07/09/19 Суб 00:06:12 146914214
>>1469136
Там вообще с математикой несколько перебарщивают.
Времена тогда были такие. Программист - значит математик.
Аноним 07/09/19 Суб 01:01:20 146916115
>>1467221
Если сикп -- это учебник математики за пятый класс, то что тогда Ландау от мира компьютерных чудес?
Да, я знаю, что Ландау писал учебники по физике, а не по математике.
Аноним 07/09/19 Суб 01:04:35 146916416
>>1469161
tapl наверное. Вообще не понимаю эту книгу
Аноним 07/09/19 Суб 01:05:58 146916617
>>1469136
Тогда было модным доказывать всякую асимптоматическую сложность, и подобные доказательства в них часто применяются. Почитай Кнута, там алгоритмов 1%, а 99% это многослойные доказательства с кучей сумм.
Аноним 07/09/19 Суб 12:38:27 146932218
Кстати о Кнуте. Я один считаю его книжки максимально бесполезной тратой времени? Ну, во всяком случае "Искусство программирования". Или это просто для ребят с действительно сильной математической базой? Но бля. Мало того, что тебя заставляют учить ассемблер выдуманной, блин, машины, так еще и, как заметил анон выше, почти весь материал - доказательства. Ну и самое главное - алгоритмы объясняются каким-то переусложненным способом. Вместо высокоуровневого псевдокода - выдуманный ассемблер и пошаговый разбор, в который без псевдокода вникать сложнее.
Сотни страниц потрачены на объяснение деревьев и списков, второй том вообще не понятно кому нужен с этой его арифметикой.
Аноним 07/09/19 Суб 12:55:29 146933119
>>1469322
Я не читал Кнута, но могу вкинуть пару мыслишек.
У программиста есть минимум два пути -- быть ученым и быть инженером. Ученый скрупулезно исследует каждый отдельный алгоритм, считает его асимптотику и т.д., а инженер занимается разработкой программного продукта, используя уже готовые алгоритмы и структуры данных. Если инженер и придумывает что-то новое, то он не начинает лезть в залупу и выяснять, какую асимптотику эта хуйня будет иметь в омега маленькое, омега большое, зета маленькое, зета большое, оу большое и оу маленькое нотациях. Посчитал количество вложенных циклов (для ФЯ это будет чуть сложнее, но тоже можно) и примерно понял, хороший алгоритм или нет.
Поэтому если ты ученый, конечно тебе стоит читать все доказательства от корки до корки. Если же ты инженер, то тебе нужно учиться разрабатывать софт, и математика тут все же играет пусть и важную, но довольно второстепенную роль. В таком случае для тебя будет лучше написать пару лишних пет проектов, чем доказать пару теорем (хотя согласно соответствию Карри-Говарда это одно и то же, лол).
Аноним 07/09/19 Суб 14:16:13 146936520
>>1469161
Я вообще не это имел ввиду.
>>1469322
Для вкатывальщика да.
У Кнута для людей без сильной мат. подготовки есть два предложения: не решать задачи, где мат. дрочильня, либо пойти почитать его Конкретную математику. Хотя я бы лично посоветовал почитать Курранта. В любом случае, для велосипедостроения из этой книги не обязательно матфак заканчивать, как и не обязательно решать вообще все задачи для понимания написанного, тем более их не каждый профессор осилить все до единого.
>Мало того, что тебя заставляют учить ассемблер выдуманной, блин, машины
Сродни тому, что люди дропают sicp, как только видят, что в книге код на схеме.
>Ну и самое главное - алгоритмы объясняются каким-то переусложненным способом.
Целью книги было давать максимально полное и подробное описание того, что в ней описано. А не собесы в галеры проходить и велосипеды научиться писать за 2 недели. Тем более для 99% процентов галер материал книги - это оверкилл. Он скорее для тех, кого дефолтная база уже не вставляет и хочется чего-то большего.

С чего там реально подгореть может, так это с инструментария к книге в интернете в виде mdk пакета. В ней уебищно абсолютно все: начиная с документации, и заканчивая тем, что код из книги может работать не так как должен. Гуй - это вообще сказка. С кодом на листочке ручкой удобнее работать. Зато плагины для емакса прикрутили, чтобы тебе еще и самый шизоидный редактор в истории человечества осваивать пришлось вдовесок.
Аноним 07/09/19 Суб 14:20:55 146937021
>>1469322
>Кстати о Кнуте. Я один считаю его книжки максимально бесполезной тратой времени?
Их можно читать как художественную литературу. Особенно там круты исторические экскурсы.
>Сотни страниц потрачены на объяснение деревьев и списков, второй том вообще не понятно кому нужен с этой его арифметикой.
Лол, эта арифметика - единственное, что мне как-то раз пригодилось и было ТОЛЬКО в Кнуте. У Кнута основное достоинство это основательность, если чего-то нет в Кнуте, значит, скорее всего, этого нет вообще (естественно на момент публикации).
>>1469331
>У программиста есть минимум два пути -- быть ученым и быть инженером
У программиста нет пути быть ученым. А те, кто решил стать учеными в CS, уже давно не занимаются асимптоматикой.
>>1469365
А ты тупой ебанько.

Аноним 07/09/19 Суб 14:33:51 146938322
>>1469370
>асимптоматикой
Значение знаешь?
Аноним 07/09/19 Суб 14:41:38 146939523
>>1469383
Похуй вообще, как и на весь CS в целом
Аноним 07/09/19 Суб 14:49:07 146940224
>>1469395
Асимптоматика - это из медицины.
Аноним 07/09/19 Суб 14:50:23 146940325
>>1469370
>Их можно читать как художественную литературу.
>А ты тупой ебанько.
=)
Аноним 07/09/19 Суб 14:52:57 146940926
>>1469402
Да я понял, что соснул, не бей, дядь
Аноним 07/09/19 Суб 15:05:45 146941727
С математикой основная проблема - язык.
Если ты не занимаешься ей постоянно - учить математический язык нерентабельно. И быстро забываешь его.

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

Аноним 07/09/19 Суб 16:02:31 146946128
>>1469365
>Зато плагины для емакса прикрутили, чтобы тебе еще и самый шизоидный редактор в истории человечества осваивать пришлось вдовесок.
Мамка твоя шизоидная.
Аноним 07/09/19 Суб 17:11:45 146948229
>>1469417
>большинство программистов хуй ложили на доказательство всех этих теорем и прочую асимптохуётику
и правильно хуй ложили
Аноним 07/09/19 Суб 17:51:47 146949330
>>1469461
Забавно, что даже сейчас адепты ногоеда умудряются подрываться от того, что на этой хуйне никто не хочет писать
Аноним 07/09/19 Суб 21:29:07 146959431
>>1469402
Прости нас, барин, безграмотных холопов.
Асимптотика, конечно же.
Аноним 08/09/19 Вск 00:39:16 146966332
>>1469594
Ладно.
Поди на конюшню, получишь там 10 плетей, докажешь 2 теоремы, и свободен.
Аноним 08/09/19 Вск 13:54:34 146988633
Какой motivation у макросов в лиспе? Есть красивые примеры, когда у тебя без макросов куча boilerplate кода, а макросы элегантно решают проблему? Например, зачем тимплейты в плюсах понятно, чтобы не писать реализацию вектора для каждого типа.
Аноним 08/09/19 Вск 14:10:11 146989334
>>1469886
макросы это те же темплейты в си только если будет хуйня её придется ловить в рантайме
а теперь думай
Аноним 08/09/19 Вск 14:36:14 146991135
>>1469893
Представил как за такую хуйню любой лисподаун с ЛОРа тебя бы отхуесосил. Нет, шаблоны и макросы это не одно и то же и строго говоря ты сравниваешь тёплое с мягким, но даже если допустить такое сравнение, то шаблоны нереально ограниченны по сравнению с лисповыми макросами.
Аноним 08/09/19 Вск 15:46:20 146994036
>>1469911
Почему на ЛОРе много лисподаунов? Это все от Столлмана идет?
Аноним 08/09/19 Вск 16:29:43 146995837
Аноним 08/09/19 Вск 16:46:07 146996338
08/09/19 Вск 17:44:09 146998339
Аноним 09/09/19 Пнд 10:23:18 147025840
>>1469911
>Нет, шаблоны и макросы это не одно и то же
И тут ты конечно пояснил почему так считаешь
Аноним 10/09/19 Втр 20:43:38 147137241
>>1466889 (OP)
В ФАО пишут про какой-то htdp есть тут где на него ссылка, и стоит ли ее читать если есть sicp?
Аноним 11/09/19 Срд 03:59:42 147156842
>>1471372
хтдп 2 версии, первая легче. сикп сложнее их обоих, вместе взятых.
Аноним 11/09/19 Срд 13:33:47 147174543
Аноним 11/09/19 Срд 18:19:08 147189144
Аноним 13/09/19 Птн 13:41:02 147278245
14384214381570.jpg (59Кб, 724x726)
724x726
пздц ну какя же это еботня. Я блядь с подсчётом монеток весь изебался, так сам и не решил нихера думал проехали эту тему, АААААА НЕТ КАЛИЧ СОСИ БИБУ. Мы тут тебе сейчас пар, списков и деревьев отсыпим чтоб ты в петлю полез от осознания своей никчёмности.
Ёбаный пздц чё так тяжело было нормальные массивы сделать???
Аноним 13/09/19 Птн 17:16:21 147287546
>>1472782
>Ёбаный пздц чё так тяжело было нормальные массивы сделать???
В Racket есть mutable векторы.
Аноним 13/09/19 Птн 17:21:15 147287947
>>1472782
Подсчет монеток это 1.14? Нахуя ты делаешь каловые упражнения типа "нарисуйте дерево))"? Делай только то, где от тебя требуют написать какой-то код, упражнения для бумажки и ручки в книгах про программирование нужны только для отпугивания вкатывальщиков вроде меня.
Аноним 14/09/19 Суб 12:15:32 147318248
>>1472782

Ну, тащемта, списки и деревья обязательны при изучении программирования. Пары - да, поначалу кажется непривычно, особенно после языков с прямым управлением памятью, где на указателях эти вещи делаются без особых проблем. Но потом начинаешь смотреть на пары, как на те же указатели (даром, что они иммутабельны) и приходит просветление.
Аноним 14/09/19 Суб 12:16:09 147318349
>>1473182
>иммутабельны

Мутабельны, конечно же.
быстрофикс
Аноним 15/09/19 Вск 17:17:16 147377450
>>1466889 (OP)
Бляяя, ну вот почему мы в универе дрочим сраного робота вместо сикпа? Пошел бы лучше на математику, там бы хоть этого говна на джаве не было.

матеша, особенно алгебра, очень круто кстати. Я раньше думал что в универе будет такая же хуйня как в школе и все математики ебанутые, но я ошибался
Аноним 16/09/19 Пнд 18:47:09 147449551
Аноним 22/09/19 Вск 20:21:48 147937352
А вы обращали внимание, какое дикое кол-во японских сайтов вылезает, когда гуглишь упражнения SICP?
Аноним 22/09/19 Вск 20:33:27 147937553
1.jpeg (4Кб, 225x225)
225x225
>>1479373
>упражнения SICP
>гуглишь
Аноним 22/09/19 Вск 22:44:54 147951254
>>1479375

Надо же ответы сверять, да и порой там попадаются очень заебистые упражнения.
Аноним 25/09/19 Срд 16:39:40 148158355
image.png (2143Кб, 856x1200)
856x1200
Парни, есть у кого pdf-ка этой книжки? Скиньте, если не сложно.
Не знаю просто где еще написать, вроде самый низкоуровневый тред. Ну про Си еще есть.
Аноним 25/09/19 Срд 19:19:51 148166356
цп.webm (3443Кб, 1280x720, 00:00:13)
1280x720
>>1481583
У меня из цп только такое есть, лол.
Аноним 25/09/19 Срд 20:17:02 148169057
15691736078990.jpg (4Кб, 225x225)
225x225
>>1481583
>Центральный процессор
Аноним 25/09/19 Срд 20:41:14 148170858
>>1481690
Ну мы же прогеры, да?
Аноним 26/09/19 Чтв 12:02:10 148207859
Аноним 26/09/19 Чтв 17:24:01 148233160
Аноним 29/09/19 Вск 23:27:43 148497961
>>1466889 (OP)
Я галерный жаба крудошлёп с 2 годами опыта продакшен проектов. Какие профиты я извлеку из книги?
Аноним 29/09/19 Вск 23:29:47 148498062
>>1484979
Никаких, это книга для первокурсников
Аноним 30/09/19 Пнд 09:07:26 148516463
Аноним 30/09/19 Пнд 09:35:19 148516864
Не хочу учить лисп ради этой книги, на плюсах получится выполнять задания? Или сразу использовать новую версию, где Питон?
Аноним 30/09/19 Пнд 11:39:35 148521365
>>1485168
Лисп специально ради этой книги учить не придётся, всё нужное объясняют по ходу дела.

> Или сразу использовать новую версию, где Питон?
Лучше сразу используй новую версию, где Clojure, по окончанию сможешь устроиться на элитную удалёночку в западном стартапе.
Аноним 30/09/19 Пнд 21:04:14 148568866
>>1485168
Лисп учится по ходу прочтения книги, заранее тебе учить лисп не нужно. На плюсах не получится, потому что задания рассчитаны под лисп (под ФП как минимум).
>Или сразу использовать новую версию, где Питон?
Нахуй тогда читать это говно вообще. Сикп это вводная книжка по программированию, там нет ничего такого, чего нет в теории по ЦС (АиСД, компиляторы и т.д.). Максимум ради ФП читать, но ФП можно и на примере Хачкеля выучить.
Аноним 06/10/19 Вск 17:58:26 149029567
>>1481663
кидай все, что есть
Аноним 07/10/19 Пнд 12:36:39 149088768
>>1490295
Да у меня и нет больше, лол. че-то галка опять перестала работать, видать за проебы систематические
Аноним 13/10/19 Вск 11:57:18 149542569
(define f
(let ((count 1))
(lambda (x)
(set! count (* count x))
count)))

Почему после повторного запуска процедуры count опять не становится 1, а оставляет своё значение полученное при предыдущем вызове?

Аноним 13/10/19 Вск 13:14:57 149546570
Аноним 13/10/19 Вск 13:18:40 149546871
>>1495465
хорошо напишу конкретней что происходит при
(let ((count 1))
когда её вызывают второй раз?
Аноним 13/10/19 Вск 16:02:04 149564172
>>1495468
Ничего не происходит, let - это сахар над lambda. Читай раздел 1.3.2. Всё в книге же есть блядь, читай - не хочу. Нет, блядь, не хочу читать, хочу анонов тупыми вопросами доёбывать.
Аноним 13/10/19 Вск 17:28:57 149570373
>>1495641
ну вот блядь специально открыл ещё раз
(let (({пер1} {выр1})
({пер2} {выр2})
...
({перn} {вырn}))
{тело})
то есть при повторном вызове count опять должна иметь значение 1
Аноним 13/10/19 Вск 17:45:41 149572074
>>1495425
ну на крайняк распишете плз с define вместо let и lambda
Аноним 13/10/19 Вск 18:47:59 149582275
2019-10-13-1845[...].png (30Кб, 778x330)
778x330
2019-10-13-1846[...].png (20Кб, 1216x130)
1216x130
2019-10-13-1846[...].png (17Кб, 622x282)
622x282
>>1495703
Ну тебе не стыдно на всю борду в глаза ебаться?
Ещё раз, let раскрывается в lambda на этапе макроэкспансии,а твой код эквивалентен этому: https://repl.it/repls/HelpfulClutteredDefragment
Аноним 13/10/19 Вск 19:51:18 149590676
>>1495822
не мог бы ты всё таки дефайном обойтись?
Аноним 13/10/19 Вск 19:55:01 149590977
>>1495822
ну и да твоя прога не работет
Аноним 13/10/19 Вск 20:02:08 149591378
>>1495909
>>1495822
ага дело скорее всего не в проге, а в компиляторе
и тут я уже близок к тому что совсем кукушкой поеду.
13/10/19 Вск 21:10:01 149596979
как лижется сосется?
Аноним 13/10/19 Вск 21:35:13 149598380
>>1495969
ну так солёненькое
Аноним 13/10/19 Вск 22:08:48 149599881
>>1495906
Так вон же по ссылке дефайн.
Ещё раз, let внутри схемы при исполнении преобразуется в лямбду, которая прямо на месте вызывается со значениями переменных, которые let-ятся.
Твой исходный код - по сути лямбда в лямбде, функция, которая возвращает функцию (посмотри ещё раз внимательно на код по моей ссылке).
Теперь подумай, что произойдёт, если внутренняя функция попытается получить доступ к переменной, описаной во внешней (в твоём случае count). Подумай, где эта переменная физически будет находится в тот момент, когда внешняя функция вернёт свой результат, но при этом эта переменная окажется нужна, к примеру, во время вызова внутренней функции, которую из себя вернула внешняя. Просветлей уже, наконец, сикп - это не для обитателей формошлёпательской сансары.
Аноним 13/10/19 Вск 22:11:00 149600182
>>1495913
Я, когда до этого места дошёл, тоже подохуел, но потом покумекал, и просветлел всё в голове с громким щелчком встало на место. Пищу для размышлений я тебе дал в >>1495998 , дальше всё зависит от тебя.
Аноним 14/10/19 Пнд 14:26:46 149640583
>>1495998
кароче я просто не могу понять что меняется после первого вызова. Почему после повторного вызова игнорируется 1?
Замыкания в данном случае мне мало что раскрывает в этом плане. Типа при первом вызове внутренняя процедура использует внешнюю переменную, которая задана как 1 и изменяет её. При следующем тоже самое, НО внешняя переменная почему-то не задаётся как при первом вызове, а берётся старое значение полученное при предыдущем вызове. Как так? В чём разница первого и последующего вызовов?
Аноним 14/10/19 Пнд 14:43:31 149641284
>>1496405
При первом вызове count ещё не определена поэтому внутренняя процедура ждёт????????????7 пока её определят, а при повторном вызове обращается к предыдущему вызову?
Но это мягко говоря не очевидно и вообще не очень логично.
Аноним 14/10/19 Пнд 15:03:26 149642785
пиздос.JPG (23Кб, 595x447)
595x447
>Окружение представляет собой последовательность кадров (frames).
>На этой диаграмме A, B, C и D — указатели на окружения

В чём отличие кадров от окружения?

Или это просто пример, где у каждого окружения по одному кадру?
Аноним 14/10/19 Пнд 18:13:09 149655286
14289381472367.png (58Кб, 645x773)
645x773
ну пожалуйста ктонить мне больно
Аноним 14/10/19 Пнд 22:45:04 149682887
>>1496427
окружение - это список фреймов
ваш кэп
Аноним 15/10/19 Втр 07:38:38 149699988
>>1496828
ок чем одно окружение отличается от другого?
Аноним 15/10/19 Втр 07:43:13 149700389
>>1495425
кстати, если всё таки посмотреть на прогру в терминах окружения, то получается переменная count при первом вызове не определена в окружении внутренней процедуры поэтому она обращается к внешней, а после первого вызова, т.к. count уже определена, затеняет определение count во внешней процедуре.
Аноним 15/10/19 Втр 08:51:20 149703390
>>1496828
в одном окружении одни фреймы, в другом другие
Аноним 15/10/19 Втр 09:09:36 149704091
!!!laugh.jpg (43Кб, 600x400)
600x400
>>1497033
Капитан, да вы сегодня в ударе
Аноним 15/10/19 Втр 12:44:42 149714392
>>1497033
сколько окружений на картинке выще?
Аноним 16/10/19 Срд 11:10:58 149780393
>>1497143
Ты же сам загринтекстил:
>На этой диаграмме A, B, C и D — указатели на окружения
Аноним 16/10/19 Срд 18:30:46 149808094
Что забавно, механизм замыканий - это как раз то, что позволяет писать простой и элегантный код в функциональном стиле вместо императивной лапши из классов. Неудивительно, что формошлёп >>1496552 расплакался, не осилив.
Аноним 16/10/19 Срд 20:26:26 149815895
>>1498080
>ниасилил классы
>ну императивщики, ну тупые
Аноним 16/10/19 Срд 20:38:19 149817296
>>1498158
Сынок, Олег ещё в 1999 за четыре года до твоего рождения на пальцах разложил, что объекты из ООП - не что иное, как косоёбая эмуляция замыканий: http://okmij.org/ftp/Scheme/oop-in-fp.txt
Аноним 17/10/19 Чтв 10:59:21 149850497
>>1496427

Представление окружения, как последовательности кадров, позволяет реализовать замыкания, например. Вычисление каждой новой функции происходит в новом кадре, которым расширяется текущее окружение. Допустим, у тебя есть цепочка кадров A <- B <- C. Мы находимся в кадре C, в нем есть связывания текущий переменных. Мы вызываем функцию, рождаем новый кадр и цепляем его к списку, получаем A <- B <- C <- D. В кадре D находятся связывания аргументов функции с ее значениями. Если в процессе вычисления мы натыкаемся на переменную, которая была в кадре C, то мы не находим ее в кадре D и ищем в предыдущем по порядку - находим и используем. После того, как мы заканчиваем вычислять функцию и выходим из ее, мы снова оказывается в окружении C. При этом кадра D тут уже нет - ведь у кадра D всего лишь был указатель на C, как на следующий элемент в списке.

Другое дело - и это вопрос, на который я до сих пор не нашел ответа - в СИКПе нигде не поясняют, зачем нужна иерархия окружений. Во всех примерах интерпретаторов из 4-й главы используется только одно окружение, объемлющим для которого является пустое. Причем этого оказывается достаточно для реализации вычисления процедур и замыканий. Ни в одном из интерпретаторов не создаются новые окружения. Вот я был бы рад, если мы мне кто-то показал конкретный пример, где используется иерархия окружений и зачем она нужна.
Аноним 23/10/19 Срд 14:18:16 150291798
14726634626910.gif (1113Кб, 828x828)
828x828
>которая была в кадре C
>мы снова оказывается в окружении C
бджать так кадры и окружение это одно и тоже или нет , если нет то чем они отличаются то, епрст????

http://community.schemewiki.org/?sicp-ex-3.10
вы мне можете наконец объяснить почему в кадре B после повторного вызова стоит balance : 50, а не balance : initial-mount
Ведь строка (let ((balance initial-amount)) никуда не делась.
Или тут имеет значение, что при повторном вызове до initial-amount не доходит т.к. balance уже определён в предыдущем вызове и процедура тупа прерывается в (begin (set! balance (- balance amount)) balance)???
Аноним 23/10/19 Срд 15:44:53 150303299
>>1502917
Вообще не вникая в суть вопроса. Но если при первом вызове что-то одно, а при повторном другое, значит во время первого вызова что-то изменилось, раз при повторном уже дальше меняется, не?
тупой оп, который проебывается уже полгода и даже галка наверно не сработает
Аноним 23/10/19 Срд 16:30:27 1503097100
>>1502917
Да, еще можешь попробовать step понажимать, ну пошаговую эту хуйню, должно показать, откуда что было взято.
Аноним 23/10/19 Срд 16:43:10 1503117101
>>1502917
кэп снова спешит на помощь
>бджать так кадры и окружение это одно и тоже или нет , если нет то чем они отличаются то, епрст????
>>1496828
>окружение - это список фреймов

>вы мне можете наконец объяснить почему в кадре B после повторного вызова стоит balance : 50, а не balance : initial-mount
>Ведь строка (let ((balance initial-amount)) никуда не делась.
https://ru.wikipedia.org/wiki/Замыкание_(программирование)
Аноним 23/10/19 Срд 17:05:46 1503145102
>>1503117
нахера вы мне своим замыканем тычите то а?
я уже раз 5 его перечитывал укажите строчку которая объяснят приведённый пример то.
А каороч идете нафиг буду считать своё объяснение верным
Аноним 23/10/19 Срд 17:06:25 1503148103
>>1503117
>окружение - это список фреймов
приведи плз пример окружения с несколькими фреймами
Аноним 23/10/19 Срд 17:33:28 1503181104
>>1503145
>нахера вы мне своим замыканем тычите то а?
Слово новое сегодня узнал, решил с тобой поделиться.
Явно не просто так.
Твой let - это просто синтаксический сахар, причем об этом явно прямо написано перед твоей задачей
"Recall from Section 1.3.2 that let is simply syntactic sugar
for a procedure call:
(let ((⟨var⟩ ⟨exp⟩)) ⟨body⟩)
is interpreted as an alternate syntax for
((lambda (⟨var⟩) ⟨body⟩) ⟨exp⟩)"
Это первое.
Второе: make-withdraw возвращает функцию, к которой ты потом обращаешься и там никаких let уже нет. Функция изменяет значение переменной в своем окружении. Перечитай пример из википедии еще раз 10, если не понял.

>>1503148
>приведи плз пример окружения с несколькими фреймами
>>1496427
>пик
3 фрейма, 3 окружения
фреймы I, II, II
окружения (list I), (list II I), (list III I)
Аноним 23/10/19 Срд 18:08:44 1503223105
>Перечитай пример из википедии еще раз 10, если не понял.
В примере с вики есть простая функция и она не даёт разные результаты в зависимости от количества вызовов. Никаких хитростей нету берётся внешняя переменная и используется во внутренней процедуре ВСЁ!!!11 Какие такие гениальные выводы я должен из этого сделать???

Какой принципиальный смысл в данном случае имеет понимание, что let это по другому записанная lambda?
При первоми вызове balance даётся значение initial-amount? даётся, почему при втором этого не происходит?

>>1503181
госпаде как оказывается иногда сложно получить ответ на простой вопрос
>3 фрейма 3 окружения
3!!!!
А есть например 5 фреймов в 2х окружениях?
Аноним 23/10/19 Срд 19:10:39 1503279106
>>1503223
>Никаких хитростей нету берётся внешняя переменная и используется во внутренней процедуре ВСЁ!!!11
Ты уже неделю понять не можешь, что в твоей задаче все ровно то же самое, поэтому тебе тыкают носом в замыкания
>Какие такие гениальные выводы я должен из этого сделать???
Что надо открывать редактор и самому пытаться там что-то писать для понимания, например переписать пример из википедии изменением переменной без let
(define (make-huita x)
((lambda (amount)
(lambda (n)
(if (>= (- amount n) 0)
(begin (set! amount (- amount n))
amount)
'konec)))
x))

>При первоми вызове balance даётся значение initial-amount? даётся, почему при втором этого не происходит?
Потому что ты сейчас снова идешь на википедию читать определение замыкания и думать, что твоя инициализирующая процедура возвращает

>А есть например 5 фреймов в 2х окружениях?
Нет, нету, потому что из окружения из пяти фреймов можно получить 4 других окружения или 5, если считать пустое окружение. Гугли однозвязные списки

>госпаде как оказывается иногда сложно получить ответ на простой вопрос
Ты либо вопросы научись задавать, либо репетитора найми, который тебе за бабки будет каждый символ разжевывать.
23/10/19 Срд 19:19:24 1503293107
напоминаю школьникам из этого треда, что в топе бизнес, а не ваш синтаксический сахар вместо языка и если вы не шарите в йобаматеше и алгоритмах, то вы пососете и у борщехлебов и у макак.
Аноним 23/10/19 Срд 21:32:41 1503364108
>>1503279
>например переписать пример
слушай вот серьёзно раз уж ты тратишь столько времени не легче просто ответить на вопрос
>При первоми вызове balance даётся значение initial-amount? даётся, почему при втором этого не происходит?
Вместо весьма пространственных намёках.
>Ты либо вопросы научись задавать, либо репетитора найми, который тебе за бабки будет каждый символ разжевывать.
>Нет, нету
Потому что фактически окружение ничем не отличается от фреймов о чём я сразу и спросил, а вот нахера было разделят на окружение и фрейм другой вопрос
Аноним 23/10/19 Срд 23:32:04 1503466109
>>1503364
>не легче просто ответить на вопрос
Я уже отвечал, что >make-withdraw возвращает функцию.
Нет у возвращаемой лямбды никаких let внутри, она просто берет входной аргумент и вычитает из переменной в своем окружении. Я уже заебался писать слово "замыкание".
>а вот нахера было разделят на окружение и фрейм другой вопрос
Ты определяешь х в самой программе и еще раз внутри функции с помощью let. Чтобы функция брала х из своего фрейма, а не из глобального, которое при запуске программы создается, нужен список фреймов, чтобы функция из ближайшего фрейма всегда брала подходящую переменную/функцию. Там еще есть пара моментов, но они тебя ебать не должны сейчас.
Аноним 24/10/19 Чтв 00:52:06 1503517110
1
Аноним 24/10/19 Чтв 01:35:55 1503542111
>>1503466
hrdddrrrr
Давай ещё раз.
Внутренняя процедура обращается к своему фрейму за count при первом вызове там его нема, поэтому онf обращается к let.
Но при повторном вызове count в фрейме уже определена и обращение к let не происходит?
Аноним 24/10/19 Чтв 02:56:17 1503557112
ну ты ебанутый.webm (1032Кб, 650x520, 00:00:12)
650x520
>>1503542
Да невозможно быть таким тупым!
Аноним 24/10/19 Чтв 09:04:26 1503615113
2019-10-24-0901[...].png (9Кб, 597x291)
597x291
Притворюсь, что этот >>1503542 не троллит тупостью и отвечу всерьёз.
Посмотри на картинку и пойми, как выполняется твоя программа. Процедура не может "обращаться к let", потому что на момент выполнения ТАМ БЛЯДЬ НЕТ НИКАКОГО LET СУКА ТЫ ТУПОРЫЛАЯ

>>1495465-кун
Аноним 24/10/19 Чтв 10:07:34 1503640114
>>1503615
а это что? ((lambda (count) .....1))
Аноним 24/10/19 Чтв 14:03:38 1503775115
Аноним 24/10/19 Чтв 14:58:40 1503839116
15213563933110.png (2322Кб, 2560x1440)
2560x1440
>>1503615>>1503775
>>1503557
>нету let
и сам приводит пример с
>((lambda (count) .....1)
Сути то это не меняет.
давай тогда уже до битов, упростим чтоб совсем понятно было
>ЗАМЫКАНИЕ
ну замыкание и что?
>берёт аргумент из внешнего окружения
Ну на то оно замыкание, почему оно второй раз его не берёт?
>Ну сука тупой))))))

Вы сами то понимаете чё несёте?
Прошу написать чем отличается окружение от фрейма: ща я его затралю сука пздц смишно)))))))
Вам времени своего не жалко?

http://community.schemewiki.org/?sicp-ex-3.10
этому вообще рака яичек.

>Set! will affect Frame B, initial-mount remains unchanged in Frame A.

А сука почему "Frame B is created with the binding of balance" уже вдруг не binding, а 50 он конечно написать не может. Хотя я неверно погорячился потому что сам автор не уверен что пишет судя по заголовку. Ну и отсутствие комментариев и альтернативных объяснений намекает на не тривиальность задания

Аноним 24/10/19 Чтв 18:19:30 1503946117
Аноним 24/10/19 Чтв 21:47:13 1504100118
>>1503839

Могу пояснить на примере интерпретаторов из 4-й главы. Там, правда, есть нюанс - в окружении там всегда один кадр. Поэтому понятия "кадр" и "окружение" можно считать тождественными.
Кадр - это список пар "имя переменной - значение". Давай рассмотрим этот твой make-withdraw.
Объявление процедуры создает процедурный объект, который запоминает свои аргументы и текущее окружение. Допустим, это окружение GLOBAL.
Дальше, допустим в окружении GLOBAL мы вызываем make-withdraw. Любой вызов функции расширяет запомненное в момент создания окружение значениями аргументов и вычисляется в нем тело функции. Назовем это новое, расширенное окружение E1. Переменная balance существует именно в окружении E1. Затем вычисляется тело процедуры -в нем создается функция. Происходит то же самое - создается процедурный объект (назовем его LAMBDA), который запоминает окружение, в котором он создан (E1). Этот объект возвращается, допустим, в некую переменную. Это происходит, разумеется, в том окружении, где он был вызван - т.е. в GLOBAL. Что получилось? Получилось, что к окружению E1 есть доступ ТОЛЬКО из объект LAMBDA. Когда ты его вызываешь, то запомненное им в момент создания окружение (E1) расширяется аргументом (amount) и меняет значение balance (в Е1).

>>1495425
Здесь f - не функция. Это переменная и let (который на самом деле lambda) вызывается только в момент ее определения. В этом легко убедиться, если добавить в начало let вызов (display "that's let")
Аноним 24/10/19 Чтв 22:19:35 1504141119
>>1503839
>>нету let
>и сам приводит пример с
>>((lambda (count) .....1)
Долбоёб, это не пример, это то, во что раскрываются макросы в твоём коде. let - это макрос, который раскрывается в lambda, которая сразу вызывается, я тебе это уже пятьдесят постов подряд, начиная с >>1495641 твержу, но до тебя почему-то никак не дойдёт, что вызывает у меня подозрения в твоей умственной неполноценности.

>>1504100
Ты крут, анон, у тебя дар объяснять завидую, тому що сам репетиторством кое-как зарабатываю на жизнь. Если после твоего великолепного детального объяснения этот долбоёб опять будет спрашивать, куда пропал его let, я его посты репортить начну, ей-б-гу.
Аноним 24/10/19 Чтв 22:42:41 1504167120
>>1503839
>Вы сами то понимаете чё несёте?
Как забавно видеть, что кто-то оправдывает свою тупость тем, что не может понять объяснений почти десятка человек
>>1504100
>Там, правда, есть нюанс - в окружении там всегда один кадр.
Ты пиздишь, как и этот анон.
>>1498504
>Во всех примерах интерпретаторов из 4-й главы используется только одно окружение, объемлющим для которого является пустое.
Аноним 24/10/19 Чтв 23:58:47 1504208121
>>1504100
>Это переменная и let (который на самом деле lambda) вызывается только в момент ее определения.
Ну а почему она повторно то не вызывается? Т_Т

По первому абзацу я бы сказал что на меня снизошло просветление. Но >вызывается только в момент ее определения
всё похерило т.к. примеры идентичны, то получается и в make-withdraw let должно вызываться только в момент определения, а из твоего объяснения это мягко говоря не очевидно.

>>1504141
>но до тебя почему-то никак не дойдёт
я так понимаю ты по себе людей судишь?
Если уж ты так упорно считаешь, что неспособность осознать процесс выполнения процедуры связан с не пониманием что let это сахар для lambda, я ещё раз50 постов подряд спрашиваю, что я должен увидеть записав через lambda? В чём принципиальная разница?
>>1504167
> почти десятка человек
шизойд плз, на всём харкаче столько людей не наберётся.
Аноним 25/10/19 Птн 00:01:29 1504211122
>>1504167
>Ты пиздишь, как и этот анон.

Покажи, где в интерпретаторах из 4-й главы используется больше одного кадра в окружении.
Аноним 25/10/19 Птн 00:06:39 1504218123
>>1504208
>Ну а почему она повторно то не вызывается? Т_Т

Потому что значение переменной f вычисляется один раз - в момент определения переменной f.

>т.к. примеры идентичны

Примеры не идентичны. (define f (something) и (define (f something)) это разные вещи. В первом случае вычисляется something и его значение связывается с f. Во втором случае создается процедурный объект, который связывается с f. Вычисление его тела произойдет, только когда его явно вызовут.
Аноним 25/10/19 Птн 00:14:20 1504221124
14753422016990.jpg (25Кб, 480x404)
480x404
Аноним 25/10/19 Птн 11:03:33 1504346125
>>1504208
> спрашиваю, что я должен увидеть записав через lambda?
Что let не "вызывается", потому что это, блядь, макрос. Вызываются функции, макросы раскрываются в другой код.
Аноним 25/10/19 Птн 11:37:26 1504360126
>>1504211
>Покажи, где в интерпретаторах из 4-й главы используется больше одного кадра в окружении.
(define (apply procedure arguments) (cond ... ((compound-procedure? procedure)
(eval-sequence
(procedure-body procedure)
(extend-environment
(procedure-parameters procedure)
arguments
(procedure-environment procedure)))) ....

Ищем extend-environment
(define (extend-environment vars vals base-env)
(if (= (length vars) (length vals))
(cons (make-frame vars vals) base-env)
(if (< (length vars) (length vals))
(error "Too many arguments supplied" vars vals)
(error "Too few arguments supplied" vars vals))))

А ты сам-то не понимаешь, что противоречивую хуиту пишешь? У тебя в интерпретатора все функции во время вычисления должны со своим собственным окружением работать, чтобы конфликта имен переменных не возникало.
Аноним 25/10/19 Птн 12:18:10 1504379127
>>1504346
>Что let не "вызывается", потому что это, блядь, макрос. >Вызываются функции, макросы раскрываются в другой код.
И какая разница? Что так две функции, что этак две функции.

Аноним 25/10/19 Птн 13:00:16 1504400128
My-Succubus-Gir[...].gif (218Кб, 456x426)
456x426
Блин люди читайте оригинал в русеке дофига косяков причём зачастую не очень явных, но мешающих пониманию того что описывается в книге на самом деле. Лучше вначале английский выучите.
Аноним 25/10/19 Птн 13:31:34 1504438129
>>1504360
Я правильно понимаю, что энвайромент, это типа скоуп?
мимо
Аноним 25/10/19 Птн 16:36:36 1504588130
>>1504438
Да, static scope, если конкретно про эту реализацию говорить
Аноним 26/10/19 Суб 11:01:12 1505069131
>>1504360

Блять, я не знаю, это либо терминологическая путаница, либо что.
Итак, читаем русский перевод:
>Как объясняется в разделе 3.2, окружение представляет собой последовательность кадров, а каждый кадр является таблицей связываний, соотносящих переменные с их значениями

Ок.

>Чтобы реализовать все эти операции, мы представляем окружение в виде списка кадров. Объемлющее окружение живет в cdr этого списка. Пустое окружение — это просто пустой список.

Стоп, что? Если cdr списка - это уже окружение, тогда как в нем может быть больше одного кадра? По логике вещей, можно было бы ожидать, что cdr окружения - это оставшиеся кадры.

>Чтобы найти переменную в окружении, мы просматриваем список переменных в первом кадре. Если находим нужную переменную, то возвращаем соответствующий элемент списка значений. Если мы не находим переменную в текущем кадре, то ищем в объемлющем окружении, и так далее

Здесь черным по белому написано, что мы ищем в первом кадре и если не нашли в нем - значит сразу ищем в объемлющем окружении.

(define (lookup-variable-value var env)
(define (env-loop env)
(define (scan vars vals)
(cond ((null? vars)
(env-loop (enclosing-environment env)))
((eq? var (car vars))
(car vals))
(else (scan (cdr vars) (cdr vals)))))
(if (eq? env the-empty-environment)
(error "Несвязанная переменная" var)
(let ((frame (first-frame env)))
(scan (frame-variables frame)
(frame-values frame)))))
(env-loop env))

Мы используем только first-frame. Здесь нет никаких rest-frames.
Получается, что окружение - это вроде как список кадров, но мы всегда выбираем первый кадр (первый элемент списка) и если не нашли там, то сразу идем в объемлющее окружение. Т.е. реально в интерпретаторе больше одного кадра в окружении не используется. В то же время понятно, что все это происходит в одном списке (одном окружении) и make-frame каждый раз добавляет новый кадр. Но предыдущие почему-то называются окружением, а не кадрами.
Но я больше верю коду, а не словам, а в коде кроме first-frame ничего нет.
Аноним 26/10/19 Суб 14:12:27 1505158132
>>1505069
>Итак, читаем русский перевод:
лол

>Мы используем только first-frame. Здесь нет никаких rest-frames.
>Здесь черным по белому написано, что мы ищем в первом кадре и если не нашли в нем - значит сразу ищем в объемлющем окружении.
>(env-loop (enclosing-environment env))

(define (enclosing-environment env) (cdr env))
Нужно ли быть Гарольдом Абельсоном, чтобы понять, что enclosing-environment - это твой rest-of-frames? Или у тебя функция по-другому работать начнет, если ей название изменить?

>В то же время понятно, что все это происходит в одном списке (одном окружении) и make-frame каждый раз добавляет новый кадр. Но предыдущие почему-то называются окружением, а не кадрами.
Это троллинг тупостью?
Аноним 26/10/19 Суб 17:45:47 1505273133
>>1505158
>Это троллинг тупостью?
Как мне знакома эта фраза, лол.
проебывающийся ОП
Аноним 26/10/19 Суб 20:23:10 1505469134
>>1504400
Блин люди не пишите ским это даже не продакшн-язык дофига косяков причём зачастую не очень явных, но мешающих пониманию того что описывается в книге на самом деле. Лучше вначале клисп выучите.
Аноним 27/10/19 Вск 10:07:43 1505946135
>>1505469
Мамка твоя косяк.
Стандарт Scheme - 88 страниц. Стандарт Common Lisp - 1356 страниц. Удачи тебе с CL, чо.
Аноним 28/10/19 Пнд 15:18:26 1507441136
s1200.jpeg (153Кб, 1200x828)
1200x828
>>1505946
> Стандарт Common Lisp - 1356 с

чё там можно на 1300 с хвостиком страниц засунуть? Даже у плюсов он меньше раза в 2

почему кстати вы продолжаете форсить шему, когда даже МИТ перешел на преподавание на питоне?

Аноним 28/10/19 Пнд 15:59:40 1507487137
14872578539380.jpg (336Кб, 574x890)
574x890
>>1507441
>МИТ
>преподавание на питоне
пруфы двай
Аноним 28/10/19 Пнд 16:05:30 1507492138
Аноним 28/10/19 Пнд 16:35:47 1507544139
>>1507492
вот так удар в псину
Аноним 28/10/19 Пнд 17:20:44 1507603140
>>1507492
Мне кажется там преподают не ту книжку, что ты запостил. Вместо сикпа вроде курс 6.0001, он кста пиздец какой простой и короткий
Аноним 28/10/19 Пнд 17:34:53 1507632141


>>1507603
>Мне кажется там преподают не ту книжку, что ты запостил

>вроде курс 6.0001

нагуглил что он еще в 2009 с шемы на питон переехал


я сейчас как раз сижу и думаю
нужно ли мне это
и брать шему или питон. посмотрел код в сикпе и вижу что все тоже спокойно можно писать на питоне без костылей
Аноним 28/10/19 Пнд 17:44:37 1507647142
>>1466889 (OP)
На сколько по времени рассчитано практическое изучение SICP? И сколько времени это заняло у вассамообучением?
Аноним 28/10/19 Пнд 17:51:49 1507665143
>>1507632
6.0001 никуда не переезжал, это другой курс. курс с сикпом это 6.001, и он тоже никуда не переезжал, его просто не преподают.
Аноним 28/10/19 Пнд 17:53:15 1507668144
>>1507647
Первые три главы на семестр
Аноним 28/10/19 Пнд 18:30:42 1507702145
>>1507441
есть cs61as
там всё еще сикп
Аноним 28/10/19 Пнд 18:32:53 1507707146
>>1507668
1) Какую математическую базу нужно иметь для понимания сикпа?моя кончается 9м классом

2) Все ли главы одинаково полезны для человека, в перспективе вкатывающийся в software engineering для улучшения понимания архитектуры софтаи надрачивания своего чсв

Аноним 28/10/19 Пнд 18:45:37 1507722147
15267575043090.png (2516Кб, 1600x900)
1600x900
>>1507707
ну желательно хотяб иметь начальные знания вышки, интегралы/производные/матрицы/вектора и т.д. Можно конечно и без них, но сикп и так не простой, а так к проблема с кодом может появится чувство, не можешь написать прогу из-за слабого знания математики. Лично моё мнение, если с звёзд с неба не хватаешь то лучше начинать с другого. Даже видеопособия как написать сайт за 30 минут или как выучить с++ за 10 дней получше будут.
Аноним 28/10/19 Пнд 19:16:06 1507743148
>>1507722
>не можешь написать прогу из-за слабого знания математики
Хуйню хватит писать, на весь сикп два или три упражнения, в которых предлагают реализовать что-то связанное с высшей математикой. Если долбоёб гуманитарий, берёшь и пропускаешь их.
Аноним 28/10/19 Пнд 19:28:27 1507754149
15322383861970.png (2511Кб, 1600x900)
1600x900
>>1507743
в смысле?? там вся первая часть на 80% из матана, а во второй дофига линейной алгебры. Другое дело, что можно писать и без этих.
В любом случае ты выдернул мою фразу из контекста я сказал:
>может появится чувство, что не можешь написать прогу из-за слабого знания математики.
Т.е. не знание математики будет дополнительным осложняющим фактором.
И да напишу проще, если ты имбецил не смог поступить на техническую специальность в вузе или того хлеще в 10 класс. То шанс что ты окажешься достаточно сообразителен для осиливания SICP стремится в 0.
Аноним 28/10/19 Пнд 21:14:58 1507889150
>>1507754
>дофига линейной алгебры

Линейная алгебра в 7м классе начинается

>не смог поступить на техническую специальность в вузе или того хлеще в 10 класс.

>технический технику
>в рф

Отличная идея проебать 5 лет и нихуя не получить
Аноним 28/10/19 Пнд 21:25:35 1507896151
>>1505158

Когда есть утверждение "окружение - это список кадров", то логично считать, что текущее окружение состоит из более чем одного кадра. Но все связывания текущего окружения хранятся лишь в одном кадре. Именно это обстоятельство вызывает недоумение. Я бы ожидал такое определение: "окружение - это кадр и ссылка на внешнее окружение".
Аноним 28/10/19 Пнд 23:13:13 1507983152
>>1507889
Хуй саси подстилка. Имплантинг если каждый год новую программу для обучения внедрять, так сразу сверхлюдей выращивать получится. а на деле питон вместо процедурки
Аноним 29/10/19 Втр 09:14:19 1508126153
>>1507754
> там вся первая часть на 80% из матана, а во второй дофига линейной алгебры
Братюнь, ну это даже для сикпотреда в /pr/ как-то уж совсем феерически толсто.
Ещё раз, всё, что есть из матана в сикпе - это один параграф в одну страницу с примером про метод Ньютона который прямо там же и разжёвывается как для дебилов в главе 1.3.4, и упражнение 1.29, в котором предлагают посчитать определённый интеграл методом Симпсона и прямо там же дают формулу, ничего заранее знать не надо.
Аноним 29/10/19 Втр 13:08:03 1508274154
1f5bd88306eeffb[...].jpg (112Кб, 1280x720)
1280x720
>>1508126
>>1507722

вы какой то разный сикп читаете, раз у вас диаметрально противоположные мнения?
Аноним 29/10/19 Втр 14:57:38 1508377155
>>1508274
Нет, просто один из нас - технарь, а другой - ебучий гуманитарий, приходящий в ужас от любых формул.
Аноним 29/10/19 Втр 15:19:06 1508394156
>>1508274
один из нас чсвшная мразь
Аноним 29/10/19 Втр 16:00:27 1508423157
>>1508274
один из нас хорошо учился в нормальном универе, другой хуи пинал и по девкам шлялся
Аноним 29/10/19 Втр 17:32:35 1508502158
kevin-cassidy-l[...].jpg (464Кб, 1920x1080)
1920x1080
Аноны, посоветуйте, пожалуйста, материалы скорее всего по математике, которые надо изучить для комфортного вката в сикп - темы, книги, задачи, лекции - что угодно. Какого уровня в этой книжке математика вообще? Насколько сложно постигать сей труд, обладая знаниями уровня ЕГЭ-шной математики со всякими там параметрами, уравнениями и неравенствами?
Аноним 29/10/19 Втр 18:02:10 1508531159
>>1508502
Я думаю школьной математики и немного физики с khanacademy хватит
Аноним 29/10/19 Втр 18:07:00 1508537160
Аноним 29/10/19 Втр 18:24:08 1508555161
>>1508537
Я так делаю. Проблемы будут, когда пойдут более прикладные задачи.
Аноним 29/10/19 Втр 18:41:10 1508576162
>>1508502
бле просто попробуй сам почитать. И уже походу дела будешь гуглить что не понятно
Аноним 29/10/19 Втр 18:46:51 1508578163
>>1508576
Ну в таком случае усвоение присутствующей там математики будет слишком кусочным и беспорядочным, а я хотел бы более фундаментально к этому вопросу подойти - чтобы на момент прочтения знать всё, что от меня ожидают авторы книги.
Аноним 29/10/19 Втр 19:25:57 1508600164
14761145820630.jpg (42Кб, 600x476)
600x476
>>1508578
ну вот открываешь читешь функция фибоначе гуглишь учебник где его проходят и читаешь, дальше смотришь метод ньютона ищешь учебник читаешь и т.д.
Аноним 29/10/19 Втр 21:49:18 1508720165
Аноним 30/10/19 Срд 19:00:51 1509294166
>>1508720
Например, 4 и 5 глава с интерпретатором и компилятором Scheme. Насколько мне известно, к sicp distilled (который на Clojure) эти главы ещё не адаптировали.
Аноним 30/10/19 Срд 19:02:42 1509296167
>>1508537
В общем, не выёбывайся и решай по классике на MIT Scheme, а кложу можно по Clojure for the brave and true и по Joy of Clojure норм изучить.
Аноним 31/10/19 Чтв 19:34:34 1510054168
Сколько лет будут сикп форсить?
Аноним 31/10/19 Чтв 21:04:18 1510196169
kazedesune-arti[...].png (291Кб, 720x582)
720x582
пока я работу не найду
Аноним 31/10/19 Чтв 22:41:26 1510263170
>>1510054
Столько же, сколько мамку твою ебать
Аноним 10/11/19 Вск 12:27:44 1517608171
Ну что, вкатывальщики, весь сикп прорешали?
Аноним 10/11/19 Вск 20:35:47 1518078172
Вопрос от ОПа хуя. Ну вот мы сидим тута, вдвоем тута сидим, развиваемся, кодерастов из себя делаем. Но ведь наверняка многие о забугорной жизни мечтают, ведь ойтишником свалить в принципе намного проще. Собственно, суть вопроса. Я один подал анкету на гринку в сша? Или еще кто-то есть? Да, в течение месяца думаю доделаю свои дела и вернусь в обучение, если кому интересно.
Аноним 11/11/19 Пнд 08:56:17 1518425173
>>1518078
> Я один подал анкету на гринку в сша
Хуя ты бодрый дерзкий как пуля резкий
Да, ты один
Аноним 11/11/19 Пнд 09:54:01 1518435174
>>1518078
Свилить легче инженеру, айти-макак у них и своих хватает.
Аноним 11/11/19 Пнд 10:42:23 1518447175
>>1518078
У тебя нихуя не будет в сша, тебе будет очень тяжело найти работу в сша, а если и найдешь то ты будешь все деньги тратить на оплату жилья и налоги, у тебя практически не будет свободного времени.
Аноним 11/11/19 Пнд 20:15:21 1518865176
>>1518435
Ну это если в гринке не участвовать, но если попасть в тот 1%, то можно свалить кем угодно. А если айтишником, то есть страны куда более привлекательные, чем сша.
>>1518447
Ну я вот поизучал вопрос, так вроде не так все хуево, как ты пишешь. Там даже работая на дноработе типа поломоя можно и аренду вытянуть и концы с концами свести, еще и пару сотен в заначку останется. А если ДОРАСТИ до мувера (ну грузчик квартирных переездов), водилы какого или охранника, то прям и штукарь-полтора на конец месяца будет оставаться. Если вдвоем с кем жить, еще и аренду на 2 делить, что еще сотни 4 на конец месяца будет. Ну прям досконально на 100% вопрос не изучал, т.к. шансы выиграть все-таки мизерные, но в общих чертах к каким-то таким выводам пришел.
Ну да ладно, я один, так один, буду вам пруфы делать, если удастся в 2021 переехать, лол.
Аноним 12/11/19 Втр 07:56:21 1519122177
>>1518865
Наивный ты. Надеюсь, у тебя будет все хорошо.
Аноним 12/11/19 Втр 10:14:01 1519167178
>>1519122
Может и наивный, но я тоже надеюсь, что все будет хорошо :З
Аноним 19/11/19 Втр 19:28:48 1524831179
15579353109690.jpg (52Кб, 511x800)
511x800
>>1518078
сегодня сикп ты прочитал, а завтра родину продал.
Сообщил куда следует.
Аноним 19/11/19 Втр 23:30:46 1524996180
Аноним 19/11/19 Втр 23:33:05 1524997181
Аноним 20/11/19 Срд 07:17:31 1525082182
>>1524996
Никто и не собирался это криво переведенное говно добавлять. Там запутаешься больше.Забыли, лол. Гонор поубавь, лалка.
Аноним 20/11/19 Срд 07:32:55 1525085183
Аноним 20/11/19 Срд 07:58:41 1525091184
Аноним 20/11/19 Срд 09:12:02 1525105185
Аноним 23/11/19 Суб 11:22:38 1527369186
Аноним 24/11/19 Вск 19:40:14 1528690187
>>1527369
После решения 4 задачи во введении 1 тома.
Аноним 24/11/19 Вск 19:54:59 1528712188
>>1528690
>4 задачи во введении 1 тома
там что-то про доказательство отсутствия корней уравнения?
слишком сложно. я макака без высшего
Аноним 25/11/19 Пнд 14:28:05 1529145189
Аноним 25/11/19 Пнд 19:51:52 1529492190
images.jpg (6Кб, 225x225)
225x225
Влетел в sicp на racket(е), прочитал 1.1 и сделал 2 первых упражнения, буду держать в курсе

Аноним 25/11/19 Пнд 20:09:07 1529507191
>>1529145
алсо в издании 76 года во введении только 3 задания
Аноним 29/11/19 Птн 09:53:05 1532164192
>>1466889 (OP)
Это рофл что-ли такой, не понимаю.
Аноним 29/11/19 Птн 11:41:39 1532219193
2019-11-29-1140[...].png (13Кб, 272x817)
272x817
Аноним 29/11/19 Птн 11:56:58 1532235194
>>1466889 (OP)
Че, пацаны, компиляторные технологии?
Аноним 29/11/19 Птн 13:28:07 1532293195
Аноним 29/11/19 Птн 13:43:17 1532300196
>>1532293
Теперь уже и не знаю. Пробежался по предисловию, вроде норм.
Просто язык старше меня раза в два, удивило, неужели нету ничего более актуального?
Мб и почитаю даже, хм.
Аноним 29/11/19 Птн 13:45:51 1532301197
>>1466889 (OP)
Кстати, ни в шапке, ни в треде не нашёл, нужны какие-нибудь начальные знания для прочтения? Ну матан там, линал, теорвер или прочую ебалу? Сам scheme?
Аноним 29/11/19 Птн 13:46:28 1532303198
>>1532300
А причем здесь старше-не старше. Ты ещё скажу что машина Тьюринга устарела. Тут же про базовые принципы, а они не стареют.
Аноним 29/11/19 Птн 13:47:29 1532304199
>>1532301
Все объяснят по ходу. Из математики- нужно закончить среднюю школу. Ты закончил?
Аноним 29/11/19 Птн 13:49:04 1532305200
>>1532303
Ну вот у меня вопрос возник, почему базовые алгоритмы объясняют не на Тьюринге, не на Си, а на Схеме. Про язык ничего не знаю вообще. Почему такой выбор? К Паскалю в школах такой же вопрос, на самом деле.
Аноним 29/11/19 Птн 13:50:14 1532307201
>>1532304
Да я вроде даже техновуз закончил не самый плохой только похерилось всё за несколько лет.
Аноним 29/11/19 Птн 14:23:57 1532328202
>>1532305
Потому что схема простая, как расчёска, не нужно объяснять всякую прикладную ебалу, типа директив препроцессора, соглашений вызова, явных деклараций типов, можно сразу хуяк-хуяк и показывать, как устроен вычислительный процесс в канплюктере.
Но при этом сложнее МТ, так что на ней можно писать компактный и выразительный код.
Аноним 29/11/19 Птн 14:28:06 1532334203
Что я теряю, если буду проходить SICP на питоне? Есть уже достаточная база по программированию, по алгоритмам, по разным технологиям, но плохо получается строить архитектуру
Аноним 29/11/19 Птн 15:01:22 1532368204
>>1532307
К прочтению SICP годен. Разрешаю приступить.
Аноним 29/11/19 Птн 15:01:57 1532369205
>>1532334
неканон, оказуалели
Аноним 29/11/19 Птн 19:00:50 1532599206
1
Аноним 29/11/19 Птн 19:03:42 1532602207
>>1532301
>Кстати, ни в шапке, ни в треде не нашёл, нужны какие-нибудь начальные знания для прочтения? Ну матан там, линал, теорвер или прочую ебалу? Сам scheme?
Логику включи. Математика нужна не для чтения СИКП, не для программирования на языке X, а для решения задач, построения алгоритмов, анализа алгоритмов, и т.п. Теория вероятностей необходима для решения комбинаторных и других задач. Матанализ соответственно там где необходимы интегралы, производные, дифференциалы. И так далее. Любая задача решается с помощью соответствующего базиса из математики. Без нее любой язык программирования бесполезный инструмент. То есть можно перекладывать байтики, вертеть строками с массивами, крутить лямбды, но решать эффективно реальные задачи не получится.
Аноним 29/11/19 Птн 19:21:15 1532614208
>>1532602
Математика - это не решение задач, а нахождение и изучение закономерностей различных, а концепции программирования, архитектурные паттерны, построение сложные программных систем никакого отношения к математики не имеет, так что не неси хуйню, единственные на данный момент приложения тервера, статистика и матана - это машин лёрнинг.
Аноним 29/11/19 Птн 19:44:08 1532623209
>>1532614
Любые паттерны (архитектурные или еще какие - не важно) имеют математическую основу. Все паттерны это набор функций. А функции это математические понятия. Например, функция тождества, которую Чёрч использовал для кодирования в Лямбда-исчислении - это простая математическая функция. Вся теория в программировании, будь то языки, методы вычислений, или что-либо еще, - имеют математическую основу.

Так что чушь несешь ты, пытаясь оправдать свое невежество.
Аноним 29/11/19 Птн 19:46:30 1532624210
>>1532614
>единственные на данный момент приложения тервера, статистика и матана - это машин лёрнинг
Ты диллетант. Любые комбинаторные задачи (перестановки, последовательности, сходимость/расходимость, и т.п.) решаются с помощью теории вероятностей.
Аноним 29/11/19 Птн 20:01:24 1532634211
>>1532624
Специальные комбинаторные задачи на олимпиадках, чтобы показать, какие олимпиадки математичные
Аноним 29/11/19 Птн 21:39:03 1532692212
>>1532623
Ну так можно сказать, что всё в мире имеет математическую основу, но это не отменяет того, что каждый вид деятельности и в том числе и программирование является отдельно стоящим от неё и требующим своих никак не связанных с математикой компетенций, знаний и навыков, специфичных для данной деятельности. И причём тут невежество, математика прекрасна, я её уважаю, но математик и программист - это разные профессии вот и всё и не нужно смешивать их в одно целое, говоря, что математика стоит во главе всего.
Аноним 29/11/19 Птн 22:05:36 1532792213
>>1532692
>программирование является отдельно стоящим от неё и требующим своих никак не связанных с математикой компетенций
Да, но в меньшей степени. С инженерной точки зрения, практики создания программ отчасти да. То есть настроить окружение, прогнать тесты и тому подобное, это чисто инженерная деятельность. А с точки зрения теории программирования, все основывается и развивается за счет математики. Формальные языки, логика, парадигмы, алгоритмы, и многое другое, все на чем стоит программирование это чистая математика.
Аноним 29/11/19 Птн 22:07:44 1532944214
>>1532623
Так, да не так.
Функции из математики - это не про вычисления.
Аноним 29/11/19 Птн 22:28:19 1533284215
>>1532944
>Функции из математики - это не про вычисления.
Ха-ха, чё правда? Может еще скажешь, что теория алгоритмов не относится к программированию или математике, или что в программировании не используется дискретная математика?
Аноним 29/11/19 Птн 22:54:55 1533293216
>>1533284
Нет, я хочу сказать что математические функции - не про вычисления.
Функция в математики это просто обозначение зависимости объектов.
Аноним 29/11/19 Птн 23:14:02 1533301217
>>1532624

Каким образом теория вероятности поможет тебе придумать алгоритмы порождения всех К-элементных перестановок и сочетаний из некоторого заданного множества?
Аноним 29/11/19 Птн 23:41:41 1533307218
>>1533293
А тебе в голову не приходило, что в программировании функция это тоже отображение? Функция зависит от аргумента. Чистые функции в программировании === функции в математике.
Аноним 29/11/19 Птн 23:46:58 1533308219
Аноним 30/11/19 Суб 13:41:37 1533664220
>>1533307
Разумеется это не так.
Функции в программирования вычисляют результат.
Функции в математике ничего не вычисляют.
Вычисления длятся по времени, используют ресурсы и зависят от вычислительной платформы и ее особенностей.
Аноним 30/11/19 Суб 14:31:46 1533741221
>>1533307
Вообще, когда программисты заимствуют термины из дисциплин, где никаких вычислений нет, то зачастую получается полная хуйня.

Хороший пример, термин «ссылочная прозрачность» которую адепты ФП взяли из лингвистики.

Весьма интересное чтиво: https://stackoverflow.com/questions/210835/what-is-referential-transparency/11740176#11740176
Аноним 30/11/19 Суб 15:04:47 1533775222
>>1533307
>===
жс блядь возомнила себя адептом компьютерных наук. как мило
Аноним 30/11/19 Суб 15:18:41 1533780223
>>1533664
>Вычисления длятся по времени, используют ресурсы и зависят от вычислительной платформы и ее особенностей.
Это детали имплементации, сферический ЯП в вакууме ничего не вычисляет. Лямбда исчисление был тьюринг-полным ЯП еще до появления компьютеров, которые могли бы его реализовать.
Аноним 30/11/19 Суб 15:36:50 1533788224
>>1533664
>Функции в математике ничего не вычисляют.
ШТА?

>Вычисления длятся по времени, используют ресурсы и зависят от вычислительной платформы и ее особенностей.
Процесс вычисления в математике и функциональных языках не протекает во времени. Происходит редукция, приведение сложного выражения к простому, в результате остается значение, которое уже нельзя редукцировать. Например, 2 + (2 * 7) / 3, здесь нет никакого времени, нет необходимости в алгоритме, в котором нужно что-то куда-то положить, перейти, и т.д.
Аноним 30/11/19 Суб 15:40:07 1533791225
>>1533741
Мне без разницы кто что откуда взял. Это не имеет никакого значения. ООПэшники тоже твердят, что абстракция это типа присуще только ООП, что полная чепуха.
Аноним 30/11/19 Суб 15:41:57 1533792226
>>1533775
>жс блядь возомнила себя адептом компьютерных наук. как мило
Ты обострался. Строгое равенство есть в Elixir, Kotlin, Ruby, etc.
Аноним 30/11/19 Суб 15:48:32 1533794227
>>1533780
Это не меняет сути.
Лямбда-исчисление как и эквивалентные вычислительные модели, занимаются внезапно вычислениями. То есть производят результат проходя через n-количество шагов. Причём, определение шага требует явного или неявного использования понятия глобального состояния, так как каждый шаг вычисления - это переход от одного глобального состояния к другому.

Функции в математике ничего не производят.
Аноним 30/11/19 Суб 16:02:10 1533800228
>>1533791
Это имеет большое значение, поскольку бездумное заимствование терминологии из других областей приводит к их ошибочному использованию, искаженному пониманию и просто порождает смехотворные избыточные термины, наподобие «ссылочной прозрачности» в программировании, которой там и быть не может.
Ответ на SO по ссылке отлично это демонстрирует в самом развёрнутом виде.
Аноним 30/11/19 Суб 16:05:11 1533801229
>>1533794
>То есть производят результат проходя через n-количество шагов.
Нет. В Лямбда-исчислении нет шагов, и нет временного пространства. Шаги есть только в Машине Тьюринга, и других автоматных вычислительных моделях.
Аноним 30/11/19 Суб 16:07:42 1533802230
>>1533794
>Причём, определение шага требует явного или неявного использования понятия глобального состояния, так как каждый шаг вычисления - это переход от одного глобального состояния к другому.
Матчасть подтяни. В Лямбда-исчислении, Комбинаторной логике, Рекурсивных функциях, - нет никакого состояния и никаких шагов.

>Функции в математике ничего не производят.
Закусывать надо.
Аноним 30/11/19 Суб 16:08:58 1533803231
>>1533800
>Это имеет большое значение, поскольку бездумное заимствование терминологии из других областей приводит к их ошибочному использованию, искаженному пониманию и просто порождает смехотворные избыточные термины, наподобие «ссылочной прозрачности» в программировании, которой там и быть не может.
Пургу несешь. Во-первых, нет столько терминов, чтобы все в мире описывать новыми словами. Во-вторых, никакой проблемы с понятием ссылочной прозрачности нет. В-третьих, на SO затрагивали другую тему, ты все высосал из пальца.
Аноним 30/11/19 Суб 16:12:08 1533806232
>>1533794
В математике кстати тоже нет понятия состояния, и быть не может. Поэтому нет и понятия времени.
Аноним 30/11/19 Суб 16:37:54 1533817233
В сабже, кстати, в третьей главе прекрасно разжёвывают на пальцах, что когда у тебя в программе появляется мутабельный стейт, сразу же автоматом появляется понятие времени и прочие прекрасные сопутствующие вещи вроде рейс кондишенов.
Аноним 30/11/19 Суб 17:08:43 1533833234
>>1533801
Лямбда исчисление эквивалентно машине Тьюринга.
Оно было создано чтобы формализовать вычислительные процессы. Без возможности дать определение шагу вычисления оно было бы полностью бесполезно. Один шаг вычисления - однократное применение бета-редукции.
Аноним 30/11/19 Суб 17:19:51 1533836235
>>1533802
Безграмотный дурачек предлагает кому-то подтянуть матчасть.
Как вообще происходит вычисление лямбда-терма ты понимаешь? С помощью пошагового раскрытия составных частей за счёт применения бета-редукции.
Без понятия шага на лямбда-исчислении нельзя было бы ни один алгоритм написать, который тоже является конечной последовательности шагов.
Аноним 30/11/19 Суб 17:30:43 1533845236
>>1466889 (OP)
Дорогие аноны, можете разъяснить вещицу одну. Я вижу эту книгу буквально везде, и соответственно появляется вопрос, почему людди читают эту книгу? Почему ее начинают читать? Есть ли смысл читать если ты занимаешь уже полгода-год без нее? Что из нее можно подчерпнуть? Какие знания она даёт?

Так как в шапке ответа нету, спрашиваю вас любезно, и готов дать тонны нефти
Аноним 30/11/19 Суб 18:01:30 1533865237
>>1533833
Нет там никаких шагов, потому что нет вычислителя. В отличие от Машины Тьюринга, где есть вычислитель.
Аноним 30/11/19 Суб 18:02:27 1533866238
>>1533836
Шаг подразумевает течение времени. В математике этого нет, в Лямбда-исчислении тоже.
Аноним 30/11/19 Суб 18:07:23 1533874239
>>1533845
Странный вопрос. Предположим, что ты никогда не ел манго, но много слышал, что оно очень вкусное. Станешь ли ты расспрашивать людей о том, стоит ли его попробовать, или просто возьмешь и попробуешь?

Даже если ты их спросишь о манго, как они смогут на словах передать тебе его вкус? Так и с СИКП. Объяснять его ценность и полезность долго, сложно, и вообще неблагодарная работа. Ты можешь не взять во внимание все это, получится пустой труд. Логично было тебе самому начать читать. И впредь действовать самостоятельно. Программирование та сфера, где необходимо ошибаться, чем больше будешь ошибаться, тем лучше будешь понимать как правильно, и больше будет опыта.
Аноним 30/11/19 Суб 18:16:06 1533884240
>>1533874
Спасибо за ответ вопросы снимаются
Аноним 30/11/19 Суб 19:35:47 1533962241
>>1533836
>за счёт применения бета-редукции
В том и дело, что бета-редукцию должен кто-то применять, чтобы вычисление имело место. Сама по себе бета-редукция это всего лишь отношение.
>>1533845
Отчасти это форс, идущий с 80-х, когда программирование было просто одной из инженерных специальностей, а хорошим тоном для инженера было иметь довольно серьезную математическую подготовку. Поэтому в книге есть задания, на первый взгляд с программированием не связанные почти никак (типа докажите такое-то уравнение с ручкой и бумажкой), да и там, где задания все-таки про программирование, легко не будет. Даже несмотря на то, что это вроде как вводная книга по программированию.
С другой стороны, подход к обучению кодингу в этой книге в хорошем смысле не похож на современные говнокурсы для вкатывальщиков. Например, книга начинается не с того, как вывести на экран хэллоуворлд и посчитать два числа, а с того, почему декомпозиция важна при решении проблем с помощью программирования. Scheme -- язык с минималистичным синтаксисом, который учится буквально по ходу прочтения книги. Тебе не нужно учить синтаксис, какие-то библиотеки или фреймворки, тебе просто дают простой инструмент и учат тебя им пользоваться.
Поэтому хуй знает, с одной стороны книга не очень подходит для того, чтобы научиться ебашить круды и найти свою первую галеру, а с другой стороны это проблема скорее низкого уровня культуры кодинга в Восточной Европе мире, чем самой книжки. Хотя, если ты прочтешь книгу, ты постигнешь дзен функционального программирования, и тогда его элементы в императивных языках тебя не будут пугать, да и ООП тебе будет понять куда проще.
Аноним 30/11/19 Суб 21:27:55 1534016242
image.png (114Кб, 426x340)
426x340
>>1466889 (OP)
Ахахаха вы правда считаете что в современном ойти нужны дроч алгоритмов до посинения и мотан?
Аноним 30/11/19 Суб 22:17:02 1534037243
>>1534016
Мотан кстати не везде нужен, больше всего нужна дискретная математика и матлог.
Аноним 30/11/19 Суб 22:28:10 1534045244
>>1534037
Не корми тролля. Видно же, что он хочет принизить ценность и мощь алгоритмов и математики, для того чтобы оправдать свое невежество и нежелание учиться.
Аноним 01/12/19 Вск 02:34:03 1534154245
image.png (313Кб, 1172x659)
1172x659
Аноним 03/12/19 Втр 23:55:35 1537173246
Одна из самых впечатливших меня вещей в SICP - это написание интерпретатора логического программирования на "недетерменистском" языке. Вот тут просто на кончиках пальцев чувствуешь, что это - создавать языки для решения конкретной проблемы. Значительная часть сложности системы просто уходит и заменяется поиском с возвратом.
Можете накидать каких-нибудь таких же крутых примеров, где, непростая задача решается достаточно просто, потому что под нее создан свой язык?
Аноним 04/12/19 Срд 11:21:48 1537367247
Аноним 07/12/19 Суб 23:14:59 1540560248
Бутырка - Запах[...].mp4 (19617Кб, 480x360, 00:04:13)
480x360
Ну что, добро пожаловать, снова. Оп с завтрашнего дня вкатывается обратно в обучение. Перерыв был с мая. Со всеми делами более-менее разобрался, будет оставаться время каждый день, так что продолжу.
Аноним 08/12/19 Вск 14:18:06 1540859249
А что такого дает этот ваш ЛИСП именно для вкатывальщиков. Неужели нельзя взять любой ЯП и задрачивать его?(делать всякие упражнения и прочие реальные задачи). Зачем тратить время на то чтобы задрочиться на непонятном языке, в то время, когда задрочиться можно и на любом живом языке?
Аноним 08/12/19 Вск 14:47:26 1540901250
>>1540859
Scheme (диалект лиспа, который используется в SICP) даёт то, что его не нужно учить, в нём почти нет синтаксиса, можно описать язык одним правилом форма = ( форма форма* ) и начать сразу объяснять важные понятия из канплюктер сцайнс, типа вычислительного процесса, а не тратить время на разжёвывание синтаксиса нового языка, как это пришлось бы сделать со всякими там питонами и прочими сишками.
покормил
Аноним 08/12/19 Вск 14:54:00 1540910251
>>1540859
Этот язык живее всех живых. Есть не меньше 10-ти его диалектов, которым уже много лет, и они продолжают жить и развиваться. Просто ты не знаешь ничего об этом, вот и думаешь, что это мертвый и ненужный язык.

Лисп особенный язык, поэтому нельзя взять любой другой, и писать на нем также. Поэтому его используют для обучения. Вообще-то, он используется и в промышленности очень широко. Например его диалект Clojure используют и в РФ.
Аноним 09/12/19 Пнд 15:06:57 1541897252
Аноним 09/12/19 Пнд 16:07:24 1541954253
>>1540859
В первую очередь ЛИСП просветляет умы долбоебов, которые думают, что смешанный (т.е. инфиксный + префиксный) алголо-си подобный синтаксис - единственно возможный и правильный. Во вторую очередь ЛИСП так или иначе учит функциональному программированию. В следующую очередь ЛИСП со своей крутой макросистемой учит тому, что лучший язык - это программируемый язык. В третью очередь ЛИСП показывает силу и слабость динамической типизации. Ну и в конце концов, вкатывальщик поймет, кроме лиспа все ЯП - говно, но так как работы мало, то пойдет грустно пердолить на плюсах глючную неспецифицированную реализацию половины Коммон Лиспа.
Аноним 09/12/19 Пнд 17:22:22 1542042254
>>1541954
>алголо-си подобный синтаксис - единственно возможный и правильный.
Я так несколько дней подряд делал лабы по функциональному программированию, потом вернулся к приложухе на C++ и уже по привычке начал писать if как (if .... Через пару секунд до меня дошло, что это уже не лисп, лол.
09/12/19 Пнд 19:18:45 1542099255
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов