Этого треда уже нет.
Это копия, сохраненная 8 ноября 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ууку.png1 Мб, 1280x720
SICP тред #3 /sicp/ 1247878 В конец треда | Веб
Продолжаем обсуждение лучшей книги всех времен и народов, а так же одноименных лекций. Приглашаются сюда как новички, ломающие над ней голову, так и опытные ребята, прошедшие ее всю (или большую ее часть).

Где скачать SICP?
https://github.com/sarabander/sicp-pdf/raw/master/sicp.pdf
На русском: http://newstar.rinet.ru/~goga/sicp/sicp.pdf
ориджинал: http://web.mit.edu/alexmv/6.037/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://2ch.hk/pr/res/1187852.html (М)
https://2ch.hk/pr/res/1236073.html (М)
2 1247879
Так же полезная информация.
Где я ещё могу пообсуждать любимый 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 1247887
>>47878 (OP)
Эй, а где вебмки из прошлого треда от типа из hexlet и дядюшка Боба?
4 1247888
5 1247889
>>47887
В жопе оленя, Очевидно же.
6 1247900
>>47878 (OP)
Блин, где вы эти картинки находите?
7 1247907
>>47900
ЧТО ОПЯТЬ-ТО БЛЯДЬ???
9 1247929
>>47911
Лол, охуеть. спасибо
10 1247953
>>47878 (OP)
А нельзя в ОП-посте написать кратко о чём книга и чему может научить?
11 1247960
>>1247864

>Хватит рваться


Да рвись сколько угодно, если тебе так по кайфу.
12 1247965
>>47953
Программированию. Написанию алгоритмов, дизайну абстракций, доступным парадигмам, решению задач.
13 1247967
Эта книга нужна пхп макакам?

пхп макака
14 1247970
>>47967
Нет.
15 1247972
Если я хочу выучить питон и делать на питоне бота для стракрафта на нейронке(и вообще много чего на нейронке, круто же блядь) но ничего не знаю и вообще быдло.

Попытаться выучить это книгу или дроччить сразу синтакс и смотреть гайды про нейронки без вникание в эти подводные?

Не хочу убить полгода - года а окажется, что книга нужна только тем кто хуярит фотошопы на крестах или драйвера.
17 1247975
>>47972
тебе тоже посмотреть видос по ссылке >>47974
18 1247981
>>47965
А какой уровень входа? Математику небось надо хорошо знать?
19 1247982
>>47981
да не особо хорошо ее надо знать, но ориентироваться в ней чтобы быстро если что что-то загуглить это вот не помешает. Однако это несложная задача в любом возрасте.
20 1247989
>>47972
Вангую, что с таким подходом ты потыкаешься пару недель и сдуешься, так что не парься.
21 1248028

>учить инженерии когда сотни тыщ библиотек написаны и еще сотни тыщ будут написаны, и все будут лучше чем анон сможет высрать после этой книжки даже после 5 лет практики, потому, что библиотеки высираются ежедневно людьми с 40 годами практики и и 99% все, что придет ему в голову будет уже написано



Не засирайте людям голову, это писали в 80-ые, 10/10 анонов которые хотят вкотиться в айти должны учиться быть прикладными погромистами и уметь работать с библиотеками(даже книги есть на эту тему) а не пердолить велосипеды. Тысячи людей проебали годы а потом пошли хуярить и поняли, что им нинужно.

Если человек просто сможет в библиотеки и азы и уже начнет хуярить в реальном секторе как можно раньше - он за 3 месяца практики будет будет лучшим специалистом в индустрии, чем тот кто пердолил теорию 2 года.
22 1248029
>>48028

ХОТЯ если делать нехуй - то прочитать нужно.
23 1248031
>>48028
ты будешь тем кто ноет что индусов много и работы нет
24 1248032
>>48028
Но ведь сикп не подразумевает, что человек будет пердолить теорию. В сикпе как раз нужно заниматься практикой.
аа.jpg62 Кб, 714x314
# OP 25 1248034
От себя могу порекомендовать пикрилейтед по изучению scheme. Я уже бросил 3 учебника - сикп, слоник и хтдп, а тут реально подробно и хорошо все расписано, по порядку, с примерами, разжевываниями и пр. Те учебники все равно не для полных нулей, хоть убейся. А вот эту книженцию скачал и заебись все идет, сейчас уже вторую главу наполовину прошел и вопросов и тупизны нет, все охуенно. А выучу синтаксис, уже смогу тот же хтдп разбирать, где о более высоких материях вещают и не будет такого, что пишут про какие-то функции, а ты их значения не знаешь и не понимаешь, что откуда.
# OP 26 1248035
https://www.scheme.com/tspl4/
Точнее не скачал, а читаю онлайн.
27 1248040
>>48034

>Я уже бросил 3 учебника - сикп, слоник и хтдп



Слоноёб, ты уже и HTDP дропнул?
Быстро ты.
Раньше это занимало у тебя больше времени.
Это явный прогресс, лол.

Скажи, а почему именно лисп, а не питон, например?
В чём причина?

Лисп - довольно специфическая вещь.
Он вообще далеко не всем заходит.
А особенно - в качестве первого языка.
Может быть, не стоит ебать себе мозг?
28 1248043
>>47965

> доступным парадигмам


Сам-то понял, что сказал, лол?

>>47953
Это одна из многочисленных книг по программированию.
Не самая новая.
И сильно переоцененная.

На двачах является, главным образом, инструментом жирного троллинга ньюфагов.
аа.jpg22 Кб, 519x223
29 1248045
>>48040

>Слоноёб, ты уже и HTDP дропнул?


Конечно и хтдп дропнул. Потому что мне нужен учебник для нуля, а не для прокачивания имеющихся скиллов. Смотри пикрилейтед - вырезка из хтдп. Максимум, что я смог для себя выжать из этого, тупо умозаключениями, что эта команда преобразовывает количество символов во фразе в число. И то блядь сам сидел и доходил. А блядь в нынешнем учебнике именно объясняют. Что одна команда, это чисто строковая, Другая команда это числовая. СТРЕЛОЧКА БЛЯДЬ -> это блядь преобразование и ей пользуются, когда переводят из одного формата в другой.

>Быстро ты. Раньше это занимало у тебя больше времени.


Я понял, что мне нужен учебник по синтаксису схемы и азам программирования. Если блядь в том же пикрилейтед нет разжевывания, как это работает, а сразу ставят перед фактом, то ну его нахуй. Нужно учиться, впитывать информацию, записывать конспект с расшифровкой функций. А не блядь строить догадки, как это было в слонике с ебаными вопросами. маму того гандона ебал, который мне слоника советовал Короче нашел я ключ ко своему успеху.

>Скажи, а почему именно лисп, а не питон, например? В чём причина?


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

>Лисп - довольно специфическая вещь. Он вообще далеко не всем заходит.


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

>Может быть, не стоит ебать себе мозг?


А я разве когда-то сильно жаловался? Меня мозгоебля не напрягает. Мне интересно разбираться с тем, что я не умею. Сейчас все пошло охуительно, радуюсь жизни и решаю простенькие задачки по функциям, которые мне объясняют.
30 1248047
>>48045

>не стать мудаком, который компонует между собой блоки


Именно этим ты сейчас и занимаешься.

Понимаешь, стрелочка - это просто стрелочка.
Она вообще ничего не значит.
Это для тебя, а не для компьютера.
Просто говорящее название функции - "число-в-строку".

Мне кажется, ты не понимаешь каких-то основополагающих вещей о компьютерных технологиях.
Это не языки, не функции, не числа, это некая общая идея, которая за всем этим стоит. И ты её не схватываешь, пока.
И поэтому, всё остальное у тебя не идёт или идёт туго.

Я ведь не просто так тебе LOGO советовал.
И не просто так написал несколько длинных комментов вчера.

И да, питон тоже неплохо пошёл бы.
Толку было бы гораздо больше.
аа.jpg63 Кб, 903x392
31 1248049
>>48047

>Мне кажется, ты не понимаешь каких-то основополагающих вещей о компьютерных технологиях.


Ну я читаю только вторую главу, а их там 12. К концу учебника должно же что-то измениться.

>Это не языки, не функции, не числа, это некая общая идея, которая за всем этим стоит. И ты её не схватываешь, пока.


Ну так я и говорю, что нужно именно навык программирования прокачать. Вот пытаюсь это сделать.

>поэтому, всё остальное у тебя не идёт или идёт туго


Сейчас все идет, и идет не туго.
Ну вот смотри пикрилейтед. У меня была глава, где объясняли функцию let. Потом упражнение, когда функция записана только с переменной Х, а нужно переименовать функции так, чтобы все переменные были разные и не были затенены (не пересекались). И че блядь? И ведь решил нахуй. Короче идет у меня дело. может не так, может не туда, но по учебнику двигаюсь вполне неплохо. Да, меня частенько в троллинге упрекают, но хуле делать, не всегда все понимаю.
32 1248050
Только единственное, что в ответе они использовали х1, х2, х3, а я буквы рандомные.
33 1248053
>>47878 (OP)
Ты обещал без аниме, пидор.
34 1248055
>>48053
Да я че-то забыл, что обещал без аниме. Но четко помню, что обещал без пони. Ну извините. А вообще, не нравится - сам перекатывай ПОНИДРОЧЕР КАВАЙНЫЙ
36 1248062
>>48056
Ну я и говорю, что забыл, что обещал без аниме, а только помнил, чтобы поней не было. И извинился. Извиняюсь еще раз.
Кстати че тебе так бомбит от аниме? Просто блядь запостить пик книжки как-то слишком уныло.
37 1248095
>>48028

>Не засирайте людям голову, это писали в 80-ые, 10/10 анонов которые хотят вкотиться в айти должны учиться быть прикладными погромистами и уметь работать с библиотеками


>уметь работать с библиотеками


А что нужно, чтобы уметь с ними работать? Знать английский, чтобы уметь прочесть документацию?
38 1248096
>>48032

>В сикпе как раз нужно заниматься практикой.



Средне анон на него убьет год и с 90% вероятностью будет работать на фреймворке до гроба.

Ну или еще хуже, не осилит и пойдет бичевать, это достаточно сложный курс.
39 1248103
>>48045

>Максимум, что я смог для себя выжать из этого, тупо умозаключениями, что эта команда преобразовывает количество символов во фразе в число



Так string-length переведи с английского. Что получим? "длина строки". Что ж она может-то еще выдавать кроме количества символов?

number->string (число переходит в строку)
string->number (строка переходит в число)

Правильно выше написали, что тут не с программированием проблемы и не с синтаксисом. Инглиш + мышление.

На самом деле тяжко тебе будет, ой тяжко. Но крепись.
Задачки чтоль логические порешай в параллельно с книгой своей, возможно поможет.
Например "Тигриная алгебра". Или вот сайт есть http://www.braingames.ru/
40 1248105
>>48095
А что нужно, чтобы писать программы?
Буквы нерусские выучил - и вперёд.

Можно даже русские, лол, тут неподалёку есть один тред про это.
41 1248106
>>47879

> https://github.com/ossu/computer-science


Этот курс с сикпом связан только тем, что сикп там погребён глубоко в списке "ну можно прочитать чё"
42 1248110
>>47967

>Позвольте разъяснить несколько моментов: а) Большинство людей, которые делают сайты – не программисты. Если вы хотите делать сайты, но не хотите быть программистом – берите в зубы учебник «PHP5 в подлиннике» и начинайте делать свою первую гостевуху. Вопросы решайте в гугле и на форумах. Здесь другая тематика. Эту пасту дальше читать не надо, мы будем долго разговаривать, а вам нельзя терять время.


>берите в зубы учебник «PHP5 в подлиннике» и начинайте делать свою первую гостевуху


Ты понял, что делать.

>>47982
Двачую. Надо знать математику на уровне "смогу загуглить что такое числа фибоначчи и понять по статье в википедии, что это собственно такое"

>>48045
Да открой уже для себя https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#!
43 1248137
>>48034

> А выучу синтаксис


> синтаксис


> Scheme


> синтаксис


> Scheme


Ты и вправду не очень умный либо попросту троллишь
11.webm8,7 Мб, webm,
904x612, 0:23
44 1248169
>>48103
Инглиша у меня нет от слова "вообще". Так что пока так. Вроде на первое время, чтобы джуном устроиться, он и не нужен. А там уж залезу если, буду и его учить. Мышление тоже пока не подключается, наверно потому, что не сильно понимаю суть вопроса и что от меня нужно. Ссылку твою сохранил, но пока свой учебник порешаю, может посредством его удастся понять, что в принципе от меня нужно.
>>48110
Вот я открыл пока что для себя нормальный учебник с простенькими задачками к каждой функции, пока его решаю и вполне успешно. Ссылку твою сохранил на всякий.
>>48137
Видеорилейтед.
45 1248225
>>48169

>>>1248137


>Видеорилейтед.


Но ведь тот анон прав. Какой нахуй синтаксис в схеме? Может ещё синтаксис скретча поучишь?
46 1248246
>>48225
Просто этот дурачок синтаксисом называет стандартные функции и формы, типа car там, cdr, string->number и прочее. Не обращай внимания, он уже на моей памяти третий тред подряд троллит тупостью.
47 1248274
>>48225
Ну может я и правда неправильно выразился. Имел в виду все эти команды. Но ведь и тот сосатель хуев не сильно прав, т.к. он явно понял о чем речь, т.к. в том посте описано, что разбираюсь именно с командами. Но нет, решил потешить свое чсв и доебаться до слов. Так что тот видеорилейтед вполне актуален.
>>48246
Ты, конечно умнее того, кто доебался до слов, но по большому счету тоже недалекий, ибо пытаешься высмеять ньюфага, который прикладывает немалые усилия, чтобы перестать быть таковым.
48 1248285
>>48034
Хтдп начинается буквально с целой главы про то, как нам сложить два числа. Он изначально писался с расчетом на то, что по нему можно преподавать старшеклассникам основы программирования.
49 1248286
>>48040
При чем тут лисп-то? Тред про сикп и обучение программированию, лиспотред вооон там.

>>48043

>Сам-то понял, что сказал, лол?


Что тебе непонятно? Там объясняются все основные используемые парадигмы программирования.

>инструментом жирного троллинга ньюфагов.


Все еще рвешься, долбоеб? Тебя самого не заебало в каждом треде срать?
50 1248287
>>48045

> что я смог для себя выжать из этого, тупо умозаключениями, что эта команда преобразовывает количество символов во фразе в число


>string-length


>строки-длина



>СТРЕЛОЧКА БЛЯДЬ -> это блядь преобразование и ей пользуются, когда переводят из одного формата в другой.


>operation that converts strings into numbers

51 1248288
>>48045

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


Впрочем, whatever works for you, нравится - вот и хорошо. Забавно кстати, что этот учебник ты себе сам нашел, лол, а не местные советчики тебе его посоветовали.
52 1248289
>>48047

>И да, питон тоже неплохо пошёл бы.


Ты блядь понимаешь, что с питоном ему бы в самой первой главе пришлось осознавать, чем отличается передача по ссылке от передачи по значению, например? А также что такое классы, чем __init__ отличается от конструктора, чем генератор отличается от итератора, почему некоторые функции мы вызываем как foo(x), а некоторые как x.foo(), что такое модули и области видимости, итп итд
А слоника ему ведь тоже ты советовал?
53 1248290
>>48056
Хуль тебе аниме не нравится? Тут своя атмосфера, атмосфера доброжелательности и взаимопомощи :3 в рот тебя ебал, пидрила
54 1248292
>>48288
Да местные дебилы могут только сикп посоветовать или слоника с его дебильной подачей. А так через гугл и искал, что делать.
55 1248295
>>48292
Не, слоник так-то охуенный, просто как бы не всем подходит. Ты ж вообще говорил, что у тебя там вышка по информатике или что-то такое, лол. Короче, надо подбирать индивидуально, а тут как бы анонов с опытом преподавания нет (да и тебя лично никто не знает), так что советуют исходя из своих представлений о том, что бы им подошло, а не тебе.
56 1248300
>>48295
Да у меня корки только. Ладно, сойдемся на том, что слоник не подошел лично мне, а тот, кто советовал, ему хорошо подошла. Просто мне проще прочитать текст с объяснением, законспектировать своими словами, решить пару примеров по этой функции и все для себя понять. А не стоить догадки, прибегать на двач с порванной жопой и вопросом "хуле этот слоняра доебался, че ему надо?". Но сейчас вроде как встал на путь истинный, поглядим, что будет дальше.
57 1248304
>>1248033
Ну раз ты сам не шаришь, то кому-то же надо тебя учить.
58 1248308
>>48289
Нет, слоника советовал не я.

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

Питон - язык, идеально подходящий для обучения.
А советовать SICP (и вообще лисп) полным ньюфагам в 2018-м - это очевидный троллинг.
59 1248312
>>48304

>Отображение тут ни при чем, дробь никогда не отображается как число с плавающей точкой.



Сынок, в Racket это называется Fraction Output Style.
Остальное просто лень комментировать, да и жирно тебе будет.
Так что иди на хуй, не теряй время.
60 1248313
>>48308

>Нет, слоника советовал не я.


proofs or gtfo

>И ты написал явную и очевидную хуйню.


Универсальный ответ на любой пост, лол. Я изложил факты, а тебе по делу ответить нечего.

>Питон - язык, идеально подходящий для обучения.


Ну да, правда создавался он для другого и в обучении используется не чаще других языков, но раз ты так сказал, то так оно и есть, да.

>А советовать SICP (и вообще лисп) полным ньюфагам в 2018-м - это очевидный троллинг.


Ну напиши письмо президенту Калифорнии, что какие-то ушлые евреи свою school of computer science запилили, чтобы анончика с зекача потроллить: https://teachyourselfcs.com - пусть разберется!

Алсо, дальнейшие вариации на ту же тему:

>советовать кернигана-ричи вкатывальщикам в си - это очевидный троллинг


>советовать фихтенгольца (зорича) вкатывальщикам в матан - это очевидный троллинг


>советовать "изучай х-ль во имя добра" вкатывальщикам в фп - это очевидный троллинг

61 1248316
>>48313

>питон


>в обучении используется не чаще других языков


Гораздо чаще. И это легко гуглится.
Например, много ли есть книг типа "хаскель для детей", "лисп для детей", "кресты для детей"? А про питон - хуева туча.

По остальным пунктам - то же самое, примерно.

Я думаю, тебе, всё же, стоит пойти на хуй быть толстым где-то в другом месте.
62 1248317
>>48313
Про хаскель есть поинтересней книженция, хоть и платная (но кто ищет всегда найдет)

А про матан ничего сказать не могу - у меня по нему тройка была, перекрывал "отлично" по программированию, чтобы степуха была.
Но всегда пекло от того, что у нас предмет типа имеет отношение к АНАЛИЗУ и считается неебически важным всем иначе не научишься мыслить и анализировать. Тогда как на "загнивающем" это просто "исчисление" и никаким анализом в нем и не пахнет - тупо задрачивание кучи шаблонов по вычислению той или иной херни.

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

мимо бомбящий js-dev
63 1248318
>>48317

> хаскель есть поинтересней книженция


Ты имеешь в виду ту, которая издательства Manning?
Или ещё какую-то?

> матан


Матан (континуальная математика) нахуй не нужен в программировании.
Термин "анализ" в названии имеет вторичный, технический смысл, и может смело быть опущен.
Никакого отношения к умению анализировать что-либо это не имеет.

другой
64 1248319
>>48312
Погугли, что такое "число с плавающей точкой". И что такое "символ" заодно тоже погугли. (Ну и что такое pi заодно, лол.) И что такое pretty printing. Можешь даже сам открыть рекет, поменять в настройках отображение ratios и посмотреть, как оно все работает. Потом перечитай мой пост.

Алсо, можешь уже прекратить так рваться, тебе не 15 лет надеюсь, лол.
65 1248320
>>48318
http://haskellbook.com/

Про матан это и имел ввиду
66 1248321
>>48316

>Гораздо чаще. И это легко гуглится.


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

>Например, много ли есть книг типа "хаскель для детей", "лисп для детей"


Только что ведь вкидывали, лол, проскролль вверх. Алсо, при чем тут лисп и дети, если речь про питон и обучение.

>По остальным пунктам - то же самое, примерно.


Ну да, я же написал уже: тебе нечего сказать по делу, поэтому ты рвешься.
67 1248322
>>48319

>можешь уже прекратить так рваться


Да, ты вполне можешь прекратить, лол.
Но не хочешь, почему-то, лол.

Сынок, пост был написан конкретному человеку, по конкретному поводу.
Но, тут появился ты и забрызгал всё вокруг своим баттхёртом и маня-проекциями.
68 1248324
>>48322
Это не ты учебники клеил, да рисованные хуи стирал?
69 1248325
>>48320

>http://haskellbook.com/


Выглядит заманчиво.

Ты, кстати, читал JavaScript Allonge?
Годная вещь (это про FP).

А вот Functional Programming in JavaScript - так себе.
Сборная солянка ни о чём.
70 1248326
>>48317

>Про хаскель есть поинтересней книженция


Согласен, но традиционно ньюфагам советуют именно фор ве грейтер гуд, так что с ней аналогия получается лучше.

>имеет отношение к АНАЛИЗУ и считается неебически важным всем иначе не научишься мыслить и анализировать.


А когда по алгебре "поля" проходите, вас типа на картошку должны вывозить, лол? Это просто название, к слову "анализ" в общем смысле отношения не имеет происходит типа от "анализ поведения функции".

> Тогда как на "загнивающем" это просто "исчисление" и никаким анализом в нем и не пахнет


Не, ты путаешь. Калькулюс - это "основы анализа" по-нашему, в 10-11 классе обычно проходят. https://en.wikipedia.org/wiki/Mathematical_analysis

>У нас преподша с принебрижением вообще относилась к остальным предметам


Ну это у них часто встречается, да. Первым делом первым делом матанализ...

>мол и тупая макака будет программистом


Ну...))0)
71 1248327
>>48324
Нет.
А это ты их рисовал, что-ли?
72 1248328
>>48327
Я, но я мимо вашего разговора иду, споришь ты не со мной.
73 1248329
>>48322

>Да, ты вполне можешь прекратить, лол.


Мне кажется стоит иногда указывать место тем, чье чсв не соответствует их реальным знаниям\навыкам. Это лучше для них же в первую очередь.

>пост был написан конкретному человеку, по конкретному поводу.


Именно. Тот человек все понял правильно (в контексте того обсуждения), а ты начал называть его тупым и путать его некорректными утверждениями. Вот я и поправляю твои ошибки, но ты зачем-то вместо того, чтобы просто сказать "ок", начал рваться и посылать всех нахуй. Глупо.

>тут появился ты и


Указал тебе на твои ошибки. Прочитал, что такое "символ"? Как работают ридер и принтер? Чем флонумы отличаются от ratios?
74 1248333
>>48329
Чувак, тебя реально слишком много.
Давай, сдувайся уже.
75 1248335
>>48325

>JavaScript Allonge


Еще не обновленную версию. Сейчас она на es6 переписана.
Вторую не глядел.

>>48326
Не, ну у нас на инглише называлось все равно calculus. И чет я не припомню, чтобы в школе преподавали polar и multivariable
Но, может где-то и было, хз.
76 1248340
>>48333

>пук


ЧТД. Желаю тебе продуктивно порефлексировать :3

>>48335
У вас наверное были базовые курсы (калькулюс), а для Ъ-маняматиков уже отдельные курсы для того, что составляет типа analysis. Ну то есть если с нашими вузами сравнивать, то у нас бы ваш калькулюс назывался бы матаном, да. Короче, mismatch переводов, это все хуйня, смысл в том, что analysis у них тоже есть, calculus - часть (база) analysis.
77 1248344
А где тот терпила, который залупы со страниц стирал и дратые учебники подклеивал? Мне бы сюда того очкозавра, ща бы на бабосики опустил его ниже плинтуса, лал.
78 1248361
>>48340
Анус себе отрефлексируй, пёс.
79 1248362
>>48344
Ты бы хотел, чтобы он стёр залупу с твоего лба и подклеил твой анус?

Нет, я другой анон.
80 1248382
>>48320

>http://haskellbook.com/


Посмотрел, сколько это стоит.
$59 - это немножко дохуя.
81 1248389
>>48290
Иди блять аниме смотри, неуч
82 1248394

>https://racket-lang.org/



Но там нету Scheme в списке, где брать офлайн IDE?
83 1248398
https://www.youtube.com/watch?v=a0YrCABCOEY

Как же я проорал господи, добавьте в след тред на шапку.
84 1248418
>>48394
Racket - это и есть Scheme, лол.

Для любителей пощекотать очко - в дополнительных языках есть R5RS.

Есть SICP - ставится через настройки (загружается) - гугол в помощь.

Алсо, есть и другие реализации Scheme, просто Racket - наиболее развитая.
85 1248419
>>48398
Питон доставил, лол.
аа.jpg46 Кб, 430x513
86 1248434
Не долго музыка играла, не долго фраер танцевал. Как бабки есть - уфа, гуляем... (далее по тексту)
Тупой оп опять с тупизной приперся.
Не могу разобраться с ебаной лямбдой. Пикрилейтед 4 упражнения из того учебника, логику поймать не могу.
1. Это упражнение решил сам правильно. Иксы блядь друг друга поубивали, Тем самым никаких изменений не вносят. 'а возвращает просто а, т.к. ' - сокращение от quote, а эта функция возвращает выражение, не выполняя его. Может логика моя не правильная, но ответ совпал.
2. Лучшее, что смогло прийти в голову, то 'а вернулось в скобках, т.к. лямбда пытается вернуть список в скобках, вот оно эту а в скобки и захуячило. В первой задаче второй икс за скобкой, а 'а уже аргумент, который вернулся без изменений, в этом же примере второго икса, который за скобкой, нет, поэтому нашу 'а он в скобки и захуячил.
3. С ебаной точкой я вообще не сильно понял, как воевать. Были функции лямбды, где допустим два аргумента, дальше точка, потом еще что-то. А на выводе он отделяет эти два аргумента скобкой, точнее все, что дальше, в скобки захуячивает. ТУт явно не тот случай. В книге раньше по тексту пиздели что-то про пары, когда там пары неправильные или списки неправильные, точка ставится, тоже как-то мутно представляю. И это упражнение не понял, схуяле.
4. Тут даже комментировать нечего, просто не понял.
Уж начал задумываться, может правда все это не мое...
87 1248436
>>48434
Скажи, слово Swindle тебе что-нибудь говорит?
88 1248438
>>48436
Переводчик говорит, что это мошенничество. Опять тралем обзываете?
89 1248439
Блядь, увидел, у меня язык не тот стоит?
90 1248440
Но я подбирал так, чтобы ответы в примерах с учебником совпадали, там те же 3/4 отображались, как 3/4, а не 3.14....
91 1248441
там 22/7, но вы поняли*
92 1248443
>>48439
Это расширение языка.
Для этого примера это не важно.

Мне было интересно, осознаёшь ли ты происходящее, лол.
93 1248444
>>48443
Если говорить про лямбду, осознаю как-то так.
lambda – используется, где нет имени функции, но в то же время создает функцию,которая возвращает значение последнего (выражения). ((lambda (x) (+ x x)) ( 3 4)) равно 24, а не 12, т.к. 34 равно 12, т.е. это х=12, а у нас (+ х х), т.е. 24. если (lambda (x) (list x y) – икс мол вызывает сам себя и ответ будет y. это не точно, но вроде как-то так. она отвечает списком. если аргументов нет, возвращает пустой список, т.е. (); если в первых скобках список и есть точка, то сколько аргументов перед точкой, столько он отделит скобкой при выводе (х у . z) (1 2 3 4) на вывод будет (1 2 (3 4))
Это копипаст с вордовского документа, в котором записываю работу функций. И происходящее, по крайней мере с лямбдой, по ходу не осознаю.
94 1248446
>>48444
Если аргумент x без скобок - это список всех аргументов, сколько бы их ни было.

Точка - аргумент после точки - список остальных аргументов, сколько бы их ни было.

Возьми и поиграйся с этим сам.
Леты (локальные переменные) не надо тебе пока, ты с вещами попроще разберись.
Без летов сделай то же самое:

(define f (lambda (x y . z) (list x y z)))

(f 1) ; Ошибка, мало аргументов
(f 1 2)
(f 1 2 3)
(f 1 2 3 4)

Не надо просто читать и копировать упражнения.
Надо самому экспериментировать, чтобы понять.
95 1248447
>>48446
Ну я не то, чтобы их копировал, я мозгами их решал, потом вводил в ракету и что-то не совпадало, вот и начинал думать, что и почему. ХОрошо, спасибо за развернутый ответ. Не думал, что сразу ответят; сейчас я спать, т.к. полчетвертого утра, А высплюсь, вернусь к этому вопросу и сделаю все, что ты написал и посоветовал. Еще раз спасибо и добра, няша :З
96 1248451
>>48446
Да, кстати с летами я вроде-как вполне разобрался -> >>48049 Там просто по тексту сначала лет объясняли, а теперь лямбда идет. Ладно, ушел.
Ты в армии служишь.mp4966 Кб, mp4,
1280x720, 0:06
97 1248476
>>48274

> Ну может я и правда неправильно выразился


Видеорелейтед
98 1248478
>>48292

> слоника с его дебильной подачей


Сам ты дебильный.
>>48316
Не знаю как у вас, но в моём гарварде для вкатывальщиков сишечка используется.
>>48321

> В большинстве вузиков первакам дают сишку и\или джаву.


Ну вот, собсна. Только тогда уж не джаву, а жс.
На джаве чтобы хеллоуворлд написать надо попутно кучу хуйни объяснить
99 1248479
>>48324
А ты что-то против снова решил вякнуть?

мимо тот самый
100 1248480
>>48344
А где тот чухомор, который срал под себя и позволял одноклассникам рвать его учебники на переменах? Ах, вот же он, лал.
Ты небось и на толчке жрёшь, уёбище.
3563567.jpg221 Кб, 720x720
101 1248487
>>48418

>Racket - это и есть Scheme, лол.



Значит на нем проходить упражнения?

>Для любителей пощекотать очко - в дополнительных языках есть R5RS.



А это, что значит тогда?

>Есть SICP - ставится через настройки (загружается) - гугол в помощь.



Тогда это зачем?
102 1248493
>>48382
Можешь найти на $0, если поищешь хорошо.
103 1248504
>>48434
2. x в этом случае (когда без скобок) собирает в себе список всех аргументов, которые передали. Тут передали а, вот и получили список содержащий а
3. то, что после точки собирает в себе список "лишних" аргументов.
(lambda (x y . z) ...)
Если передадим ей 1 2 3 4 5
x станет 1
y соответственно 2
а все остальное пойдет в z, т.е. (3 4 5)

По твоей картинке у нас первый переданный пойдет в x все остальное в y.
Следовательно x у нас и есть a
а поскольку больше ничего не передавали, то y пустой список ()

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

В других языках тоже похожая фишка есть. Например js:
function (x, ...y) {}
Только тут вместо одной точки три.
104 1248535
>>48487
Это - разновидности Scheme, которые можно использовать в Racket. Их там много разных.

Не засирай себе мозг - поставь Racket и начинай с дефолтными установками. Потом - почитай документацию, погугли.
105 1248537
>>48478

>Только тогда уж не джаву, а жс.


Да, образование катится в гавно, есть такое.
На потребу широким массам быдла.
106 1248585
>>48537
Да это тут не при чём.

Вот хелловорлд на джаве:

public class HelloWorld {

public static void main(String[] args) {
System.out.println("Hello, World");
}

}

И на жс:

<script>
alert( 'Hello, world!' );
</script>

Это без учёта того, что <script> вообще html тег, просто чтобы хеллоуворлд работал нужен по крайней мере этот тег

Разница есть?

Объяснить два слова алерт и скрипт (и то с оговорочкой), или объяснить паблик класс статик войд стринг аргс систем-аут, попутно полностью пояснив охуевающему студенту за ООП?
107 1248603
>>48585

Пока писал этот пост, подумалось вот о чём.
Сюда ведь часто заскакивают трали с возгласами "велосипеды нинужны", так?

Но почему-то всё образование исконно состоит из велосипедов. И состоит из них ВЕКАМИ.
Любой предмет совершенно. Самый яркий пример - математика. Сначала простейший устный счёт, потом новые цифры, новые операции, и всё больше и больше контента, но всё строится ПОСЛЕДОВАТЕЛЬНО, взятие интеграла можно последовательно разобрать вплоть до уровня ясельной группы, потому что оно строится на предыдущих понятиях из курса математики конечно не всякий студент сможет это сделать, потому что программа плотная, любой малейший проёб по ходу и вот ты уже играешься с чёрными ящиками и зубришь наизусть изолированные понятия, не понимая что это вообще.
То же самое русский язык, химия, физика, исключение разве что история.
Все учились путём наслаивания сложного на простое, т.е. на велосипедах

Но когда дело касается информатики, то внезапно велосипеды стали не нужны. Нахуй что-то понимать, даёшь работу пляски с бубном вокруг чёрных ящиков! Хотя по факту все грамотные cs программы, в т.ч. и курс сикп, подразумевают ДОЗИРОВАННУЮ работу с чёрными ящиками уже в период обучения.
Тот же курс гарварда и мит, где студента сразу готовят к этому, говоря "вот это printf, это функция из какой-то библиотеки, хуй знает как она работает но нам похуй", тот же сикп, но почему-то на сикпе свет клином сошёлся а на том же митовском курсе питона нет. Почему? Да хуй знает. Вангую что из-за сложной подачи, отсутствия современных лекций и вытекающего из этих фактов неосиляторства.
Лично я сам неосилятор (но осилил до тех пор, чтобы иметь возможность понять то, о чём писал выше), но отношусь ровно к этому, если кто-то осиляет то почему бы блядь нет?
Всяко лучше чем по углам курить-шабить-дрочить-мастурбировать
А что думаете вы?
108 1248607
>>48603
Ах да, ещё из-за "кокок схема нинужна на ней ничиво ни напесать зачем учить тада", хотя в гарварде введение в информатику на 99% состоит из сишечки, на которой тоже ничиво ни напесать, но как я понял дрочат в основном не на гарвард (просто отметая его, будто его не существует / это не топовый вуз / причина_нейм, хотя раз там в 2018 начинают курс с си, это наверняка неспроста), а на мит с его питоновским курсом, опять же забывая что тот же сикп из мита никуда не делся (вроде).
109 1248611
>>48603
Сказать-то что хотел, лол? В этом мире все идет от меньшего к большему. Сначала придумали колесо, потом тачку, потом телегу, потом привязать к телеге лошадь... сейчас электромобиль тесла, который ездит сам, без водителя. Можно быть просто пользователем, а можно вникать глубже. Я богатый программист, изучил все эти сикпы и пр. Купил новый лексус и мне нахуй не нужно знать, как там коробка и движок работают. В программировании я царь и бог, в ремонте и обслуживании машины я полный ноль, да и не нужно мне это. Поэтому кому что. Кто-то скажет, мол нахуй новый лексус, он дешевеет пиздец как, а вот я купил логана бэушного, сам обслуживаю и стоимость владения в 5 раз дешевле, плюс изначально покупка в 20 раз дешевле. А мне похуй, у меня есть бабки, могу себе позволить, плюс у меня нет времени, чтобы гайки крутить. но это все мечты о светлом будущем, а пока я дебильный оп, разбирающийся с лямбдой, лол
110 1248614
>>48611

>В программировании я царь и бог, в ремонте и обслуживании машины я полный ноль, да и не нужно мне это.


Тогда моя очередь спрашивать "сказать-то что хотел?"
111 1248616
>>48614
Кому на каком уровне нужно, тот на таком и делает. ЭТо и хотел сказать.
112 1248619
>>48616
Значит ты вообще ничего не понял из моего поста, что собственно по твоему первоначальному вопросу видно.
Задавай конкретнее, что именно тебе неясно.
113 1248620
>>48619
Все мне ясно. Под фразой "что сказать хотел", я подразумевал, что пишешь очевидные вещи, вот и все.
114 1248622
Если её всю осилить то дзен откроется?

Он вообще эффективна с точки зрения тайм менеджмента, то есть потратить на нее год, изучить через нее на липсе все подводные и потом за несколько месяцев выучить синтаксис каких нибудь крестов и успешно вкотиться?
115 1248624
>>48620
Критика залётышей отсылками к школьной программе - мне такое раньше не встречалось.

>>48622

>Он вообще эффективна с точки зрения тайм менеджмента


Кто тебя знает? Это же зависит то того, зайдёт тебе или нет.
116 1248626
>>48624

>Кто тебя знает? Это же зависит то того, зайдёт тебе или нет.



Это понятно, что все индивидульно, просто интересует, мнение анонов как они считают в среднем.
117 1248627
>>48438
Посмотри, пожалуйста, повнимательнее на свой же собственный скриншот.
118 1248628
>>48451
В сикпе, кстати, объясняют, что let - это просто сахар над lambda.
119 1248629
>>48626
В среднем - не стоит. Потом для интереса почитать или даже никогда.
Но это в среднем, не попробуешь - не узнаешь.
120 1248631
>>48622

> Если её всю осилить то дзен откроется?


Да. Он откроется ещё тогда, когда в третьей главе тебе дадут оператор присваивания, и ты охуеешь, сколько сложного рабочего кода ты уже написал например ебучая задача восьми ферзей без единой операции присваивания.
121 1248632
>>48627
Не увидел ничего нового.
122 1248634
>>48632
Блядь, ну вот же HtDP-шный диалект в ракете прямо в стандартной поставке, даже не нужно включать мозг и искать ничего в интернете, нет блядь, не хочу по нормальному, хочу говно жрать swindle какой-то из жопы высрать и им обмазываться. Бро, ты и правда не очень умный. Выше по треду были какие-то задачки на сообразительность, может всё-таки с них начнёшь?
123 1248635
>>48631

>ебучая задача восьми ферзей без единой операции присваивания


та нах так соль на раны сыпать снова...
2018-08-18-154222479x658scrot.png55 Кб, 479x658
124 1248636
>>48634
Блять, аж скрин с негодования отвалился.
125 1248637
>>48635

>та нах так соль на раны сыпать снова...


Да лан, пару часов проебался, зато кокое удовлетворение, когда она у тебя наконец работает
126 1248638
>>48635

>>48631

Ну и чего, вкотились куда оба?
127 1248639
>>48634
Няш, не ругайся. Учебник приводит примеры и ответы на них, потом дает задачи решать самому. Примеры этого учебника и ответы у меня не совпадали, когда язык был такой, как у тебя на скрине. Методом тыка я подобрал язык, чтобы ввод и вывод в учебнике и у меня в программе были одинаковыми.
128 1248640
>>48638
Я уже десяток лет этой хуйнёй программированием на хлеб зарабатываю, сикп на досуге решил прорешать, чтобы приблизиться к сатори.
129 1248641
>>48639

>Методом тыка я подобрал язык, чтобы ввод и вывод в учебнике и у меня в программе были одинаковыми.


Не хочу тебя огорчать, но ты хуйню сделал.

> Примеры этого учебника и ответы у меня не совпадали, когда язык был такой, как у тебя на скрине.


Неси сюда, будем всем зекачом разбираться, что у тебя там не совпадает.
130 1248642
>>48640
Сейм щит, только лет поменьше.
131 1248648
>>48641
Да я уж приносил и посоветовали изменить язык. Что я и сделал. -> https://2ch.hk/pr/res/1236073.html#1247056 (М)
Ну так-то вроде все нормально, смысл мне дальше разбираться и куда-то лезть?
132 1248652
>>48648
Ясн.
Кароч, понять, что (list 'a 'b 'c 'd) и '(a b c d) - это разные представления одного и того же объекта, а именно списка с элементами a, b, c и d, это и есть конкретный пример абстрактного мышления. Это очень важная вещь для программиста, но у тебя с этим, как показывает практика, туговато. Вообще, как я люблю говорить своим студентам, программирование - это профессия, в которой тебе каждый день нужно балансировать в опасной близости от банальной шизы.
133 1248657
>>48652
Мне уже разъяснили в прошлом итт, что суть выводов одна, просто по разному пишут. Но я в самом начале пути и пускай все будет, как в учебнике, мне так удобнее.
134 1248749
>>48398
Классека.

>>48434
2. Ну смотри, когда ты пишешь (f 1 2 3), все аргументы передаются списком. Если ты напишешь (lambda (x y z) ...), то x=1, y=2, z=3. Если ты напишешь (lambda l ...), то l = (1 2 3), то есть список целиком берешь.

3 и 4. Нотация с точкой - это просто обозначение для головы и хвоста списка. То есть (1 . (2 3)) - то же самое, что (1 2 3). Соответственно если пишешь (lambda (x . xs) ...), то он в икс засовывает первый элемент, а в xs засовывает все оставшиеся элементы.

На самом деле тебе это не особо надо, можешь пропустить.
135 1248769
Кто HtDP проходил, сколько времени примерно ушло у вас?
136 1248770
Я нашел на ютубе серию лекций из мит в количестве 20шт, как с ними и с книгой правильнее работать или они вообще не нужны?
137 1248773
>>48770
Вот примерно соответствие видео и главы книги
http://community.schemewiki.org/?sicp-text-to-video-map
138 1248777
>>48773
ОООО годно, я так понел сначала лекцию а потом главу, а как себя само-экзаминовать или тупо по ощущениям?
139 1248780
>>48777
В sicp куча упражнений. Сиди - решай.
140 1248854
Итак, оп возвращается с лямбдой. Спасибо, пацаны и тяны, если есть таковые - сиськи с супом я все осознал и двигаюсь дальше.
15220654332170.jpg30 Кб, 703x482
141 1248856

> эти скобочки в 9 этажей с присваиваниями



Я как 15км пробежал когда пытался все это в голову засунуть.
142 1248871
>>48603
Велосипеды не нужны в тот момент когда ты при желании можешь его разобрать и собрать. Это нужно редко, но те моменты когда это может быть полезно и показывает хуй с горы ты или программист.
143 1248883
>>48871
Выше была приведена аналогия с новым лексусом и старым логаном, но он нихуя не понял.
144 1248887
>>48607
Особенно доставляет "зочем тратить время учить СИНТАКСИС схемы за это время можно уже освоить вуе.жс джанго и спринг с хиюернейтом и стричь 300килобаксов лопатами))0)"
145 1248894
>>48871
>>48883
Вы оба нихуя не поняли.
Одному я уже предлагал пояснить, но он в залупу залез.
Теперь предлагаю второму - какая часть поста тебе была непонятна?
146 1248903
>>48871
Короче суть моего поста: бессмысленно считать систему "от простого к сложному" чем-то плохим применительно к программированию, постольку поскольку эта система применяется везде и везде работает.
147 1248905
>>48887
Синтаксис схемы для чайников:
1. Логические блоки отгораживаюсь скобками
2. Элементы разделяются пробелами

Поздравляю! Вы выучили синтаксис схемы

Теперь версия для знакомых с си-подобными ЯП:
1. Вместо фигурных скобок - круглые
2. Оператор всегда в начале

Поздравляю! Вы выучили синтаксис схемы
148 1248906
>>48894
Там одно очевидное говно и понимать там нехуй. Если тебя устраивает тупое пользование велосипедом - твое дело. Только очко потом будешь разрывать, когда колесо проколешь или цепь с него слетит.
149 1248932
>>48906
Он как бы ровно об этом и говорил, перечитай тот пост.

другой анон
150 1248934
>>48932
Сдались мне эти бредни. Рекомендую погуглить диагноз "шизоидное расстройство личности", мне кажется дело в этом.
151 1248938
>>48905
Извини, многабукав, неосилил. Вместо того, чтобы читать твою простыню, я уже запилил свой генератор оперденей на вуе.жс, гребу 300кб\сек лопатой веслом.


Алсо, еще можно вот такой тлдр представить:
для чайников: (f x y z ...)
для знакомых с си-подобными яп: f(x) -> (f x)
152 1248939
>>48934
Эм, ну тебя виднее, в чем там у тебя дело, чувак. Я просто проходил мимо и указал тебе на то, что тот анон писал ровно о том, о чем ты написал в своем посте:

>Если тебя устраивает тупое пользование велосипедом - твое дело. Только очко потом будешь разрывать, когда колесо проколешь или цепь с него слетит.


- а ты его просто видимо неправильно понял.
153 1248940
>>48934
Нет это ты погугли - это надо быть реально пришибленным, чтобы так лихо союзников во враги записывать.
154 1248942
>>48939
Это очевидная хуйня, вот я о чем.
>>48940
Это у автора той простыни такой диагноз, а не у тебя.
155 1248945
>>48942

>Это очевидная хуйня, вот я о чем.


Ну для многих неочевидная, судя по залетным итт.
156 1248948
>>48945
Судя по отписавшимся, для всех очевидная.
157 1248955
>>48942
Я автор той простыни, привет антош, ты на аиб, и тут можно говорить с разными людьми и думать что это один человек.
>>48948
Сейчас зацитирую, если ты такой слепой - >>48028
Вот например, этому неочевидно. Продолжать?
158 1248960
>>48948
Ну это отписавшимся, а так-то у ПРОГРАММИСТОВ уровня laba2.cpp часто встречается мысль, мол ВСЕ БИБЛИОТЕКИ УЖЕ НАПИСАЛИ, НАХУЯ ЧОТА УЧИТЬ, ПРОСТО ПОДКЛЮЧИЛ БИБЛИОТЕКУ И ВСЕ)))0) - правда потом на первой же работке у них случается небольшой надрыв манямирка, ага-ага
159 1248963
>>48960
В вебе вон фреймворков дохуя, а нормальной библиотеки где были бы все контролы из win forms нет.
160 1248964
>>48963
Эм... бутстрап, материал реакт, не? Тыщи их.
161 1248967
>>48955
>>48960
Ну так пускай живут в своем манямирке и хуячат джунами всю жизнь. Вы-то что жопу рвете? Я вот никогда не ставил перед собой задачу из баранов сделать что-то лучше, когда меня об этом сам баран не просит, а то и вообще не платят.
162 1249018
>>48967
Ну так пускай заодно и сидят в своих манятредах, а в этот не суются, не?
163 1249488
>>49018
Запретить ты им не сможешь, а вот игнорировать их высеры - вполне.
Screenshot2018-08-20-18-38-43-538org.geometerplus.fbreader.[...].png742 Кб, 1920x1080
164 1249799
Не могу разобраться в проверке на "нетривиальный корень".
Вот пример:
n = 7
a = 2
Начинаем возводить a в 6-ую степень. a=4
В задании написано, что на этом этапе нужно проверять число на то, является ли оно каким-то, помимо 1 и n-1. Очевидно, в моем случае проверка завалаена и n будто бы составное. В чем ошибка?
165 1249866
>>49799

>нетривиальный квадратный корень



Вот этот вот весь матан в качестве предметной области и делает сикп совершенно непригодным для обучения.

Шахматные задачи ещё такое же говно без задач, лол.

Для 80-х это было ок, но, с тех пор всё очень сильно поменялось.
166 1249872
>>49866
Формошлёп пытается оправдать свою тупость.
167 1249884
>>49872

>тупость



Чувак, жизнь стремительно меняется и усложняется.
И тратить время на неинтересную ненужную хуйню - непозволительная роскошь.

Алсо, обучение без мотивации - это хуйня.
Интерес - мощнейшая мотивация.
И неинтересные задачи - лучший способ сделать обучение неэффективным.
168 1249886
>>47878 (OP)

>1.1.8 Procedures as Black-Box Abstractions


>e importance of this decomposition strategy is not simply that


one is dividing the program into parts. Aer all, we could take any large
program and divide it into parts—the first ten lines, the next ten lines,
the next ten lines, and so on. Rather, it is crucial that each procedure accomplishes
an identifiable task that can be used as a module in defining
other procedures. For example, when we define the good-enough? procedure
in terms of square, we are able to regard the square procedure
as a “black box.” We are not at that moment concerned with how the
procedure computes its result, only with the fact that it computes the
square. e details of how the square is computed can be suppressed,
to be considered at a later time
Офигеть, Мартин со своим Клин Кодом, значит, просто стырил все идеи и принципы, которые уже были придуманы 30 лет назад?
А ведь некоторые нынешние программисты до сих пор про них ничего и не слышали...
169 1249887
>>49884

>неинтересную


Поддержу оратора выше. Полегче, формошлёп. Какую такую "неинтересную"? Туда ли ты зашёл, щегол ёбаный?

Хватит лирики. Теперь смотрите чё я надыбал, синхронизировав Anki со старым компом:

(define member?
(lambda (a lat)
(cond ((null? lat) #f)
((eq? a (car lat)) #t)
(else (member? a (cdr lat))))))

или

(define member?
(lambda (a lat)
(cond ((null? lat) #f)
(else (or (eq? (car lat) a)
(member? a (cdr lat)))))))

Сразу говорю, что вывод у них один и тот же, надо сказать какой из вариантов менее говнокодист, и самое главное - ПОЧЕМУ?
Я-то знаю, интересно что вы скажете
sage 170 1249893
>>49799
Бля, хотел спросить, какой читалкой пользуешься, заметил, что формат названия файла гномовский, посмотрел название файла - там есть название читалки. Бля, ну вот, никакой интеракции, пришлось стирать вопрос.
171 1249894
>>49893
Я пользуюсь fbreader.
172 1249895
>>49887
Первый.
Почему - мы оба знаем.

> формошлёп


Сам такой.
173 1249898
>>49866
>>49893
Блять, вы издеваетесь, я же конкретный вопрос задал, неужели нельзя ответить.

fbreader с djvu плагином
174 1249899
>>49884
>>49866
Съеби уже с треда, дебил. Насколько ущербной омежкой надо быть, чтобы в треде про Х на вопрос как сделать X' начинать ныть про то, что "мам ну ни нада делать Х и X', мам ну скажи им, мам я не тупой прост ни нада это делать, запрети им". Быдло обоссанное, блядь.

>>49799
Хм, почему? Наоборот же, если число НЕ является нетривиальной квадратной хуевиной, то число (может быть) простое. Они же пишут: если нетривиальная хуевина существует - то n не простое. А существует она тогда, когда a^2 mod n = 1. Так ведь?
175 1249902
>>49886

>которые уже были придуманы 30 лет назад?


Тащем-то так и есть всегда говорил, что клин код - унылая тягомотина кстати, не представляю кто все это реально может читать с умным лицом и думать, что занимается чем-то полезным, в хтдп кстати все это есть (и при этом это вводный курс про то как программировать вообще, то есть тебе сразу с самого начала показывают, как нормально делать чтоб нормально было, а не говнокодить лишь бы работало)
176 1249903
>>49887
Первый лучше, потому что меньше вложенности. Чем площе, тем лучше.
177 1249904
>>49894
>>49898
Я чет всегда думал, что фбридер только для мобильных форматов... хотя стоп, подожди, куда это меня понесло? Блядь, это же просто на андроиде имена скриншотов такие же, как в гноме. >_<
Все, проехали, давайте лучше про нетривиальные корни по модулю.
178 1249907
>>49903
Да, но главное - не в этом.

>>49899

>омежкой


Сынок, иди в /b - там все твои друзья.
И забери с собой свои проекции.
179 1249908
>>49895
>>49903
Первый - это как сделал я.
Второй - как было в книжке.

Мне стоило некоторых усилий понять, почему в книжке было не так, как у меня.
Пришёл к выводу, что #t в результатах cond это уже само по себе говнокод.

Вообще, если в условии стоит предикат и #t, то это повод задуматься над тем, не стоит ли это условие засунуть в состав OR, поскольку любое условие в составе OR при правдивости и так вернёт #t и прекратит разбор, так что не понадобится лишних определений вида cond () #t, т.к. они оправданы только если нужно переопределить вывод. В первом случае ((null? lat) #f) действительно переопределяется вывод, т.е. вместо #t там #f. А во вторых двух вывод стандартный в рамках данного выражения, поэтому вариант с OR чище и читаемее.

заморачиваться стилистикой в схеме...
180 1249911
>>49908

>OR при правдивости и так вернёт #t


Вот такое вот выкраивание - это и есть говнокод.

А в первом варианте - хвостовая рекурсия.
181 1249914
>>49911

>А в первом варианте - хвостовая рекурсия.


Опять баззвордами раскидываешься?

Хвостовая рекурсия там в обоих вариантах, даун
182 1249916
>>49908

>Пришёл к выводу, что #t в результатах cond это уже само по себе говнокод.


Схуяли? Бред.

>>49908

>при правдивости и так вернёт #t и прекратит разбор


Думать надо о читабельности, а не о вот этом вот.

Пустой список? Не нашли.
Голова равна элементу? Нашли.
В противном случае - смотрим дальше.

Все.
183 1249918
>>49911
>>49916

>Вот такое вот выкраивание - это и есть говнокод


Представь функцию, которая переводит буквы из строчных в заглавные в ascii.
Можно сделать тристапятьдесят мильёнов if-else "является ли эта буква буквой а", "является ли эта буква буквой б" и так далее, а можно просто вычесть из номера расстояние от любой строчной буквы до соответствующей заглавной, и получится то же самое, только в триста раз короче и элегантнее.
Вот тут то же самое, только лайт версия. Можно наговнокодить тысячу проверок () #f, а можно красиво и кратко
184 1249919
И да, читаемость там околонулевая в обоих вариантах, это же лисп
185 1249920
>>49914
Сам ты даун, лол.

Я просто немножко затупил - отправил пост, и тут же понял, что и в первом варианте тоже хвостовая.

Однако, это не меняет того факта, что первый вариант значительно лучше читается, а второй - попахивает говнокодом.

Тебя, пидараса, хвалят, можно сказать, а ты чем-то недоволен.
186 1249922
>>49918

>Представь


К которому анону ты обращаешься-то?

>Вот тут то же самое


Нет.

>>49919
Индентировать код пробовал?
187 1249924
>>49920

>Тебя, пидараса


Я же не твой батя.

Можно сегодня без похвалы от мистера "я делаю тридцатый метод в битриксе для управления хуйнёй_нейм, потому что я тридцатый по счёту погромист, которому пришлось работать с хуйнём_нейм"

>>49922

>Индентировать код пробовал?


Он и был индентирован, Anki всё сожрал, там же хтмл внутри.
Screenshot from 2018-08-21 01-00-38.png7 Кб, 478x68
188 1249925
>>49924

>Он и был индентирован


В чем тогда проблемы с читабельностью могут быть (в первом варианте)? Кроме кривых имен.

Алсо, "красиво и кратко" - это пикрелейтед, а не твоя портянка. :3
189 1249927
>>49925

>Алсо, "красиво и кратко" - это пикрелейтед


>не схема


Не впечатлил.

>В чем тогда проблемы с читабельностью могут быть


Обычные проблемы, как когда лисп-образный код читаешь.
190 1249928
>>49924

>в битриксе



Проекции такие проекции.

Всегда подозревал, что самые активные сикпоёбы итт - это те, кто зарабатывает на жизнь битриксом, лол.
191 1249929
>>49927

>не схема


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

>Обычные проблемы


Телепаты как бы в отпуске, никто не ебет, что там у тебя за проблемы, чувак.
192 1249930
>>49928
Подожди, ты сейчас спроецировал и обвинил меня в проецировании?
Толсто же.
193 1249934
>>49929

>Эм, ты в уме не можешь в схемовский синтаксис перевести, или что?


Нет, если мне незнакомо на чём ты это писал.
Ты предлагаешь мне гуглить редьюс и разбираться самому?
А может лучше сам попробуешь на схеме черкануть, вместо того, чтобы переводить игру к себе на поле? Иначе ты хуй собачий, если кому-то вякаешь за код на схеме, а сам приводишь кложевский (это кложа?)
194 1249940
>>49934
Ты не знаешь, что такое reduce? fold?..
195 1249946
>>49940
Перевод слов или их значение в контексте? Первое да, второе нет, как кстати и не знаю смысл квадратных скобок, ибо я не лиспоёб и не рассматривал другие диалекты. И кстати это не имеет отношения к теме разговора (не пытайся перескочить на "фуу ебать не не знаешь ненужную/нужную хуйню, которую знаю я")

Зато имеет отношение к теме тот факт, что ты сам прекрасно понимаешь, что на схеме так коротко не написать, но предъявляешь мне за код на схеме.
196 1249947
Знаете, чем меня очень пугал SICP 3-5 лет назад, когда я учился в универе?
Тем, что я на видосиках увидел эти жуткие старые машины, которые выводят оутпут непонятно какого языка. И у меня сразу тригернулись воспоминания с универа, где у нас тоже был какой-то старый-престарый курс, где мы составляли микросхемы на какой-то стрёмной проге из 80ых или 90ых годов.
И я сразу подумал, что мне нужно будет запускать какой-то жуткий емулятор с интерфейсом как в ДОСе и вечно придётся бороться с непонятным языком и интерфейсом.
Но сейчас, решившись изучить SICP, я офигел от того, на сколько язык по своей сути прост. И мне не пришлось скачивать никаких емуляторов ДОСа - все интерпретаторы, какие нужны есть в интернете. И вещи, про которые пишет книга - типичные вопросы на интервью и тот же жаба 8 стрим АПИ.
Господи, почему я так поздно начал изучать эту книгу???
Untitled.png223 Кб, 1055x544
197 1249950
>>49947

>И я сразу подумал, что мне нужно будет запускать какой-то жуткий емулятор с интерфейсом как в ДОСе


У меня для тебя очень хуёвые новости, такой интерфейс называется Unix CLI и юзается в т.ч. в топовых вузах планеты.

https://youtu.be/EApk15pCIEA?t=49m36s
198 1249952
>>49946
Эм... если ты не знаешь, что такое фолд/редьюс, то ты попросту не имеешь отношения к программированию, лиспоебство тут ни при чем. Это нормально (тут тред для совместного обучения ньюфагов), но для ньюфага ты что-то слишком много выебываешься. Лучше бы вместо того, чтобы триггериться и оправдываться, просто задавал вопросы, если что-то непонятно - тебе тут многие рады будут все объяснить.

>что на схеме так коротко не написать


Ну вот рэкет запустил:

> (define (member? a xs) (foldl (lambda (x p) (or p (= a x))) #f xs))


> (member? 1 '(1 2 3)) #t


> (member? 0 '(1 2 3)) #f

199 1249954
>>49947
Лол, видосики там олдскульные конечно. На самом деле вроде есть записи прочитанных недавно лекций, если поискать - найдешь, но я почти уверен, что там преподы все равно пишут не в repl.it, а в имаксе, лол.

>типичные вопросы на интервью и тот же жаба 8 стрим АПИ.


Угу, ето так. Кстати, автор спецификации джавы - Гай Стил, тот самый, который придумал scheme (язык использующийся в сикпе). Ньюфаги не знают, олдфаги не помнят, но вообще-то намерение дизайнеров джавы было в том, чтобы затащить с++ говнокодеров одной ногой в лисп точную цитату можешь погуглить, что-то типа "drag half-way to lisp".
Алсо, автор стрим апи (Брайан ГОЙец) - тот еще элитист, ненавистник говнокодеров и ООПущенцев и сторонник/одобрятель функциональщины.

Ну и лучше поздно, чем никогда, согласись ;)
200 1249957
>>49952

>foldl


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

А так красиво, да.
201 1249958
>>49957
В кложе - не будет, если написать правильно (там можно обернуть значение в reduced, чтобы оно сшортсыркуитилось при редакшене). В х-ле по идее тоже не будет, ибо фолд там ленивый. В схеме вот не уверен, как это чотко сделать без реализации своего short-circuit фолда, может знающие подскажут.
202 1249991
Кто-нибудь уже кидал?
Почему в MIT больше не изучают SICP
https://habr.com/post/282986/
203 1250010
>>49991
ПЕРВЫЙ РАЗ ВИДИМ, ПРИКИНЬ!
204 1250053
>>49952

> Эм... если ты не знаешь, что такое фолд/редьюс, то ты попросту не имеешь отношения к функциональщине


Пофиксил говноеда
205 1250055
Кто-нибудь уже кидал?
Почему дауны верят на слово другим ДАУНАМ вместо того чтобы ПОГУГЛИТЬ
http://web.mit.edu/alexmv/6.037/
206 1250119
>>49899

> Они же пишут: если нетривиальная хуевина существует - то n не простое. А существует она тогда, когда a^2 mod n = 1. Так ведь?


Ну да, пишут, что нетривальный корень - это число не равное 1 или n-1, которое возникает перед возведением в квадрат.

Можешь, пожалуйста, привести пример работы алгоритма при a=2 n=7. Так будет проще всего
207 1250283
>>50055
Ты ебобо? Даун, исходя из твоих слов, в данном случае сам автор.
208 1250289
>>50283
Автор чего?

С тобой всё в порядке?
209 1250402
>>49991 Изучают, статью прочитай до конца.
>>50055 Проиграл, спасибо.

>>50053
Хадуп и бигтейбл - это функциональщина, ага. Иди литературу на лето читай, хоть толк какой-то может будет.
210 1250405
>>50119
n - простое
a < n
a^(n-1) = 1 mod n

a=2, n=7
2^(7-1) = 64
64 mod 7 = 1

2^2 = 4
4 mod 7 = 4
4 != 1 => нетривиальный корень не существует => n простое
211 1250438
А это нормально, что я не въезжаю в первые упражнения? ну вот в то с пирамидкой и цифер, лол.

А где на них ответы рыть, может у меня неправильный ответ, как я узнаю?
212 1250440
>>49947

> Господи, почему я так поздно начал изучать эту книгу???


В точности мои мысли. Я её купил на втором курсе по какой-то адской цене (больше 1к, это даже сейчас за книгу дохуя), прочитал введение, испугался, что СЛОЖНО и оставил пылиться на книжной полке до окончания аспирантуры, убеждая себя, что ну вот в этом-то семестре летом точно займусь. Таки занялся и страшно жалею, что прямо тогда же её всю и не прорешал.
!!!dumb.gif858 Кб, 500x270
213 1250442
>>50438

> Где посмотреть ответы на задачи?


Может, шапку начать КАПСБОЛДОМ БЛЯДЬ набирать, чтобы нуфаги перестали в глаза ебаться?
214 1250449
>>48055
Нахуй книгу то покупать? В электронном варианте все есть. Или ты хочешь пыль потом с неё стирать и искать место на полке для неё?
лол (2).jpg75 Кб, 628x534
215 1250454
>>50442

спасибо
1475293278582.png51 Кб, 1124x685
216 1250506
Для тех залётных, которые продолжают спрашивать, нужен ли сикп. Середина-последней-главы-кун репортинг ин. Каждый раз, как берусь за упражнения, и читаю, что нужно сделать, в голове сразу "ёёёёб твою мать, это же пиздец сколько возиться, придётся весь сегодняшний вечер на одно упражнение угробить", и лицо становится, как пикрелейтед. Таки пересиливаю себя, открываю редактор емакс и... хуяк-хуяк, и за двадцать минут всё делаю. Мозг-то уже задрочен под императивную дрисню питон, и отвык от того, что программирование может быть лёгким и приятным. Поэтому я его и мурыжу уже скоро год как.
217 1250535
>>50405

>мы проверяем, не нашли ли мы "нетривиальный квадратный корень из 1 по модулю n", то есть число, НЕ РАВНОЕ 1 ИЛИ N - 1


Цитата из книги. Тут же прямым текстом даётся, что нетривиальный корень - это всё, кроме единицы и n - 1.

Даже если по твоей логике, смотри:
n - простое
a < n
a^(n-1) = 1 mod n

a=2, n=7
2^(7-1) = 64
64 mod 7 = 1

2^2 = 4
4 mod 7 = 4
4 != 1 => нетривиальный корень не существует
(4 2) mod 7 = 1
Ну и последнее возведение в квадрат (это (2^3)^2)
(1
1) mod 7 = 1
1 == 1 => нетривиальный корень, число n - составное
218 1250542
>>50506
Я вот только начал вкатываться в питон по книге "Укус Питона". Когда мне стоит приступать к SICP? Как закончу ее или раньше/позже?
219 1250543
>>50535
Блять, что такое вообще "корень из 1 по модулю n"? У меня голова взрывается.

>Малой теоремы Ферма, которая состоит в том, что если N - простое число, а а - произвольное пложительное целое число меньшее n, то а в n - 1-ой степени равняется 1 по модулю n


Тут, например, я 10 минут ломал голову, пытаюсь понять нахуя делают 1 mod n, после чего понял, что это из степени извлекают остаток
220 1250553
>>50542
Раньше.
photo2018-08-2116-27-30.jpg75 Кб, 641x341
221 1250557
Алсо, в профунктор оптикс сегодня постили про суть (c) (r) (tm) сабжа, пикрелейтед.
222 1250591
>>50557
Если ты погуглишь, то наткнешься на старые треды по sicp
И там тоже самое постили
224 1250598
>>50543

>пытаюсь понять нахуя делают 1 mod n, после чего понял, что это из степени извлекают остаток


Ээ, погугли что такое "арифметика по модулю". На первом курсе любой техшараги же изучают.

>>50535
Многабукавнечитал, на всякий случай перечитай мой первый ответ тебе:

>Наоборот же, если число НЕ является нетривиальной квадратной хуевиной, то число (может быть) простое. Они же пишут: если нетривиальная хуевина существует - то n не простое. А существует она тогда, когда a^2 mod n = 1.


Так?
225 1250599
>>50557
Всё это отлично применимо в веб-макакинге.
После творческого переосмысления.

Тем более, что js-макакинг уверенно движется в сторону функциональщины и реактивщины. И обычная макака такие вещи не понимает, и считает просто магией. А необычная макака - получает конкурентные преимущества.
226 1250602
>>50542
Позже.
227 1250604
>>50599
Он не просто движется, он уже приехал тащем-то.
228 1250609
>>50599
Стоп, а сикп разве про функциональщину? Обходил его стороной только потому что думал, что это про ебаное ооп.
229 1250623
>>50609
ну ты и еблан братишка.
230 1250624
>>50609
Да чувак,мало того,что ооп,ещё и императивщиной приправлен,мерзкая хуйня.
231 1250647
>>50553
>>50594
>>50602
Спасибо, двач. Люблю тебя.
200px-Slowpoke.svg.png19 Кб, 200x218
232 1250661
14362845760230.jpg696 Кб, 2560x1600
233 1250843
Если ты новичок в программировании, обрати внимание на этот пост.

Не ведитесь на борщепропаганду местных скорбных аутистов.

Забудьте про SICP. Читай «Алгоритмы и структуры данных» Вирта, читай Седжвика и Кормена, читай Кнута, в конце концов. Там есть все.
234 1250862
>>50843

>читай Кнута


толсто
235 1250889
>>50843

> Забудьте про SICP. Читай «Алгоритмы и структуры данных» Вирта, читай Седжвика и Кормена, читай Кнута, в конце концов. Там есть все.


Вирт, Кормен и Крут хороши, но ни разу не заменяют SICP. Читать нужно всё.
236 1250923
>>50843

>Там есть все.


Но, там же нет ((((((((скобочек)))))))).
237 1250951
>>50923
А ещё прежде чем перейти к алгоритмам, надо бы читнуть дискретки, ОС, архитектуры пк, сетей, БД, и вся эта хуйня пойдёт после сикпа куда лучше, чем до.

А после алгоритмов она вообще не пойдёт, ибо усадить ньюфага за кормена это лучший способ отбить ему навсегда желание вкатываться.
Для попытки сократить рынок конкурентов эта - слишком жирная уж куда жирнее, чем совет начинать с сикпа
238 1251024
>>50843

>Читай «Алгоритмы и структуры данных» Вирта


>читай Кнута


))

Ты сам не читал ни одной из этих книжек, не так ли?
239 1251063
>>51024
За три года я прочитал том кнута. Но это чо то вроде чам в день
240 1251440
Странный вопрос, но если сикп так хорош, почему какой нибудь васян просто не перепишет эту книгу сн ормальным языком программирования?
Это же куча денег.
241 1251445
>>51440
Переписали же на питон.
242 1251473
>>51445
Где посмотреть?
243 1251488
>>51445
Хуй знает, что там переписали на питон.
В блядском питоне даже лямбд нормальных нет, хули там переписывать?
244 1251497
>>51440
1) Почитай про Парадокс Блаба
2) > Язык
Для примеров и практики в книге используется язык Scheme (Ским), созданный авторами курса. Это один из диалектов семейства Lisp. Как и полагается любому Lisp-языку, Scheme имеет примитивный синтаксис, который можно изучить буквально за несколько часов. Он очень необычен для тех, кто имел дело только с широко распространенными языками, но обладает рядом серьезных достоинств, о которых говорится в книге.

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

Вторая причина — гомоиконность. Свойство языков, в которых данные и код — одно и тоже. Этот тезис сложно понять на словах, его нужно прочувствовать на практике. Есть еще и третья причина — макросы, но они в книге не используются.
245 1251498
>>51445
Ссылку в студию.
246 1251516
>>51497

>Почитай про Парадокс Блаба


>Lisp is so great not because of some magic quality visible only to devotees, but because it is simply the most powerful language available


Аргумент уровня /sicp
SICP - the most powerful book available
LISP - the most powerful language available
С козырей зашёл))
247 1251554
>>51440

>сн ормальным языком программирования?


Так в SICPе изначально используется нормальный язык программирования.
248 1251609
>>51440
Переписали на кучу языков, но толку от этого ровно ноль. Схемка там специально используется потому что она простая как дерево. Какой смысл использовать для обучения вместо нее какой-то навороченный сложный язык? Это же глупо. Книга не про язык, а про программирование.
1535163185359.jpg575 Кб, 1108x1500
250 1252248
Не тони.
251 1252260
Есть ли редактор для Android? Пока нашел Simple Scheme, он подойдёт?
252 1252514
>>52260
Хуй знает, я такими извращениями не занимался, но тащем-то подойдет любой, где есть scheme. Могут быть маленькие отличия с книжками (типа немного других имен функций), но это мелочи.
253 1252599
Кстати, где оптролль, который бросил три книги? Я переживаю. ОП, как у тебя дела?
254 1252670
>>52599
Двачую, тоже хотел спросить, но стеснялся.
# OP 255 1252749
Спасибо, что беспокоитесь. Учеба была приостановлена ввиду командировки. Ближайшие несколько дней тоже будет не до обучения. Ну а так с лямбдой разобрался, на том и остановился. Будет время - дальше пойду. А так полон энтузиазма, все идет хорошо.
256 1252774
>>52749
Это те двое ребят беспокоятся
Мне конкретно похуй лично
Особенно после того, когда ты дропнул хтдп из-за какой-то хуйни
257 1252807
>>52774

> Это те двое ребят беспокоятся


> Мне конкретно похуй лично


Тупо с языка сорвал, тоже хотел сказать насколько мне похуй.
258 1253153
>>52774
>>52807
Так похуй, что не могу не ответить на пост, адресованный тем двум ребятам! :3
259 1253394
А зачем сикп советуют тем, кто только вкатывается и не знает ни одного языка? Это же явно мем какой-то. Сам джуночмо полугодовое, книга очень хорошо заходит, в том смысле, что открывает глаза на многие вещи, или просто структурирует знания. Может, какая-нибудь другая делала это не хуже, но мне не с чем сравнивать, эта первая, с которой я решил развиваться. Вообще тяжело, но реально, некоторые вещи доходят не сразу, но все же через час, два, день становится понятнее. Вот только вкатывальщику это будет почти бесполезно. Ладно, польза будет, но не worth по затраченному времени/полученным знаниям, как говорится.
260 1253397
Какие ещё ЯПы и книги по IT преподают в MIT? Что-то заинтересовался, особенно насчёт других ЯПов, кроме Scheme.
261 1253398
>>53397
Очевидно, что питон. Они же вроде в пользу него от Scheme отказались.
262 1253400
>>53398
Это само собой
263 1253402
>>52774
>>52807
Поддвачну, мне тоже ультрапохуй.
264 1253543
265 1253690
>>53397
Эм, ну как бы си, си++, джаву, го, питон, руби, жс, хаскель, окамл, джулию, эр, эрланг, верилог, пролог... тысячи их. Ты уже понял, что задал тупой вопрос? Алсо, почти все материалы доступны у них на сайте, сходи да посмотри.

>>53398
Нет, не отказались, жируха.
267 1254238
>>54221

>Однако не нужно их боготворить. Из ленты твиттера легко выглядеть страшным, но если посмотреть, как они работают в реальной жизни, то увидите, что они не такие выдающиеся. Везде хаки и т.д. Все мы просто экспериментируем.



Золотые слова.

Алсо, проиграл с этого:

>Мой конфиг Emacs в бардаке. Я не знаю, почему у меня сломано автодополнение OCaml (уже более месяца). Я не автоматизирую вещи и приходится иногда копаться в истории шелла, чтобы найти нужные команды.


Братишка, дай-ка я тебя обниму!
268 1254243
>>54221
Вообще, отличные советы, люто двачую. Видно, что чувак реально пишет из собственного (успешного) опыта.
1535548461453.png455 Кб, 1920x1080
269 1254770
По какому приниципу тут высчитывается интеграл? Объясните формулу
270 1254831
>>54770
Кажется это называется разложить по Коши Как давно это было

Ну как погугли, я тож погуглю.
271 1254834
>>54831

>разложить по Коши


Ага
"Разложение функций в степенные ряды."
Коши
272 1254878
>>54834
блять, проебался.
это просто "прямоугольнички".
273 1254938
>>54770
>>54831
>>54834
>>54878
Алё, математики хуевы, это же метод прямоугольников, на 2 курсе проходят.
https://ru.wikipedia.org/wiki/Метод_прямоугольников
274 1254955
>>54938
Где тут прямоугольники увидел? Тогда там получается идет постоянное увеличение стороны f(a + dx + dx/2) + f(a + 2dx + dx/2) и т.д.
Типа один прямоугольник накладывается на предыдущий, поменьше. Это ж бред.
275 1254957
>>54955
И что тут тогда dx? Если сторона прямоугольника, то это должна быть нижняя сторона, потому что на неё в конце идет умножение, т.е. размер нижней стороны каждого прямоугольника. Что тогда она делает внутри скобок? Зачем её плюсуют?

на википедии про способ "прямоугольников" все понятно, но тут ничего не ясно
276 1254978
>>54955

> Типа один прямоугольник накладывается на предыдущий, поменьше.


Они не накладываются, посмотри внимательнее на формулу.

>>54957
Через dx в книге зачем-то обозначен шаг, который все всегда обозначают через h. Если что, h = (b-a)/n . С учётом этого в сикпе совершенно очевидно приведена формула метода средних прямоугольников.

Лиспаны, если у вас так плохо с математикой, надо было с HtDP начинать, он для гуманитариев.
277 1254985
>>54978
Или просто забить на то, что обозначают формулы и как они получаются, просто выполняя то, что необходимо исходя из условия упражнения.
278 1255031
>>54938
Я так и сказал.
279 1255056
>>54985
That's the spirit!
280 1255144
>>54957
Я тож сначала все начал усложнять из-за []dx
Но тут [] - это просто скобка, а dx - это просто длинна отрезкОВ на которые делим ось для вычисления площадей, а не часть обозначения.

Если тебе будет понятнее
от a до b. делим по маленьким cdx

0. a + c/2 - середина нулевого отрезка
f(a+c/2) - значение в этой точке
f(a+c/2) c - площадь полученного прямоугольника

1. a+c/2 + с - середина следующего "первого" отрезка
f(a+c/2+с) - значение в этой точке
f(a+c/2+с)
c - площадь полученного прямоугольника
...
N. a+c/2 + Nс - середина N-го отрезка
f(a+c/2+N
с) - значение в этой точке
f(a+c/2+Nс) c - площадь полученного прямоугольника

И так пока не достигнем последнего отрезка. Если a=0, b=1,c=0.1 - то отрезков будет 10
Сложив все, получим как раз общую площадь этих прямоугольников. Т.е. приблизительное значение интеграла по ней, которое будет тем точнее чем меньше с.
Ну а вынеся c за скобку, как раз
(f(a+c/2) + f(a+c/2+с) +....+ f(a+c/2+Nс))c

Тут не разложение в степени, не трапеции, не параболы, а просто прямоугольники.
281 1255359
>>54978
>>55144
Разобрался, спасибо.
283 1255404
>>55399

>не осилить матан за 11 класс

285 1255430
>>49884

Ну поищи. Интернет большой, где-то будет книга в которой будут задачи
"У пони 4 ножки и 1 рог. На поле пасется табун пони. Давайте напишем код для Даши который..."
Или что там тебе интересно и нужно.

Если ты про интеграл, то там вообще выбран самый простой метод, даже в ущерб полезности.
Ну вообще элементарщина. Гуглится 5 мин.
286 1255431
>>55415
Если тебе неинтересно программирование и problem solving, то -> /web
287 1255433
Какой ЯП изучить, чтобы вкатиться в ООП? Нужен самый простой и понятный вариант. Я правильно понимаю, что это C#?
288 1255435
>>55433
Блять, перепутал с нюфаг-тредом, сорре
289 1255438
>>55431
Вот не надо к нам весь трешак сливать.
В web полно программирования и "problem solving", но вот из-за таких вот набежавших "установщиков вордпресса".....
2018-08-30-193944536x311scrot.png10 Кб, 536x311
290 1255476
>>55433
Scheme, конечно. Смотри, какой охуенный ООП
291 1255479
>>55433
Очевидный smalltalk очевиден. Чтобы понять, как оно работает - scheme и си. Чтобы обдрочиться паттернами - джава. C# - пожалуй худший вариант из возможных, лол, ни рыба ни мясо.

>>55438
Торадиция, брат, извини.
292 1255480
>>55430

>У пони 4 ножки и 1 рог


Это не рог, лол.
293 1255494
>>55430

>если ты про интеграл


Ты хоть номера постов сравнить можешь, умник?
294 1255775
>>55479

> Торадиция, брат, извини.



Ничего, я понимаю. Скоро они все в ML схлынут и "веб разработчик" опять зазвучит гордо.
295 1255778
>>55494

> >если ты про интеграл


> Ты хоть номера постов сравнить можешь, умник?


А ты оператором "если" прости не могу назвать тебя также?
296 1255938
Кто где задачи делает?
Через онлайн редактор или ставите интерпретатор а потом в любимой IDE

apt install mit-scheme
IDE Setting-> RUN-> "scheme <%f"
297 1256102
>>55938

>ставите интерпретатор а потом в любимой IDE


Да. EMACS
298 1256128
>>55938
E M A C S
E
M
A
C
S


Хотя repl.it тоже норм, если по-быстрому надо присунуть интерпретатору.
аа.jpg51 Кб, 590x444
299 1256149
Оп продолжил обучение. Все идет хорошо, примеры потихоньку решаются. Тупой вопрос хотел задать, ответ на который по ходу учебника еще не попадался. Вот я написал программу, через "ран" ее проверил и указало, что я крутой пацан и могу изучать учебник дальше. А вот если я хочу задать переменные в эту функцию и посмотреть, как он будет считать, что мне нужно прописать? Пытался через define или знак равно связать переменные с каким-то числом или списком, нихуя не дает. Да и не только в этой функции, допустим даже как связать х с 4, а y связать с 8 ? И чтобы он считать начал.
300 1256161
>>56149
О, опец! :3 Ты немного путаешь аргументы функции и глобальные переменные. Те имена, которые ты пишешь в (lambda (ВОТЗДЕСЬ) ...) - они доступны только ВНУТРИ функции. То есть ты на них не можешь как-то снаружи повлиять, кроме как вызвав функцию с нужными аргументами: (shorter первыйлист второйлист).

Алсо, ты что ли не проверяешь в репле каждую функцию после того, как ее определил? Типа просто пишешь определение, жмешь run, запустилось - значит работает, лол? А что именно она делает и совпадает ли это с тем, что тебе надо - это типа похуй, лол? У тебя ведь нижнее окошечко специально для того, чтобы ты там свои функции вызывал.

Для более навороченного тестирования есть https://docs.racket-lang.org/rackunit/, но тебе это пока не надо. Просто вызывай свои функции с разными аргументами и проверяй, что они правильно работают. Алсо, всегда обращай внимание на крайние случаи: например, если твоя функция принимает список - проверь, работает ли с пустым списком. Если принимает число - проверь, работает ли с нулем в качестве аргумента, или с отрицательным числом, и т.п.
301 1256192
>>56161
Хорошо, это понял. Но как мне задать, например Х, чтобы он был равен 5 и посмотреть, что программа выдаст? Через define и знак равно пробовал, пишет, мол Х не определен, мол функция не знакомая, что-то такое.
302 1256194
>>56192
Какой же ты долбоёб, это фаталити
(shorter 1 2)
303 1256195
>>56194
(define X 5)
(define op_eblan 10)
(shorter X op_eblan)
304 1256196
>>56194
>>56195
Спасибо, понял. А в учебнике не было, хуле делать, приходится сюда это тащить.
305 1256198
>>56196
пожалуйста :3
в HtDP правда всё есть
306 1256200
>>56196
(shorter (list 1 2 3) (list 4 5 6 7))
Прогу толком не посмотрел, тебе надо списки подставлять, ну я думаю ты понял
(define s1 (list 1 2 3))
(define s2 (list 4 5 6 7))
(shorter s1 s2)
!lisp-chan.jpg55 Кб, 600x900
307 1256202
>>56194
Да он просто троллит тупостью, а его тут по доброте душевной уже третий тред подряд кормят.
308 1256204
Алсо, какой смысл дефайнами засорять область видимости, если тебе эти списки больше ни разу в жизни не понадобятся?
309 1256210
>>56204
нет смысла
310 1256213
>>56202
Охуенно, схоронил!Тоже ! добавляешь в начало файла, чтобы они вверху отображались? :3
311 1256214
>>56192

>вызвав функцию с нужными аргументами: (shorter первыйлист второйлист).

image.png4 Кб, 414x243
312 1256329
Начал читать HTDP, застрял в начале с ракетой-летающей тарелкой. https://pastebin.com/XqRM845E По ходу чтения пишется функция, которая принимает высоту размещения ракеты, если эта высота больше сцены, где должна быть ракета, то ставит ракету вниз, так, чтобы изображение было видно целиком, а не половину, для этого вводится константа ROCKET-CENTER-TO-TOP, где рассчитывается нужная высота. Нужно добавить землю в нижнюю часть сцены высотой 10 рх - это я сделал, далее пытаюсь сделать так, чтобы ракета садилась уже на землю, а не в самый низ, перекрывая ее. Редактирую расчеты этой константы, где отнимаю эти 10 рх земли. Но она выше земли, т.е. надо отнимать не 10, а 5 рх. Что я делаю не так?
313 1256337
>>56329
правильно, вычитать надо 5, то есть половину от высоты земли
это из-за того, что у тебя координаты НЛО - это координаты середины НЛО, а не её нижней части
HEIGHT - высота всей картинки
Если располагать НЛО на этой высоте, тупо HEIGHT, то будет торчать лишь половина НЛО
Поэтому там вычитается также не вся image-height, а делённая на два, так как половина и так торчит
314 1256340
>>56337
землю ты располагаешь по той же системе, как и НЛО
то есть ты должен вычесть из HEIGHT половину высоты земли
А у тебя земля располагается по высоте HEIGHT
То есть у тебя торчит не 10 пикселей, а 5
315 1256342
>>56340
в общем когда GROUND размещаешь, надо не HEIGHT
а (- HEIGHT 5) (минус половина от высоты земли)
И тогда всё будет окей, и можно будет вычитать законные 10
316 1256343
>>56337
>>56340
>>56342
Всё, разобрался, спасибо
317 1256375
Хочется развиваться, сам react разработчик, нравится ФП, где можно применяю рамду, пользую часто пайпы, каррирование. Но этого мало в джс. Сейчас сикп прохожу, а после буду смотреть в сторону какого-нибудь фпшного языка. Только вот я чекал все вакансии по основным, и там все грустно. Erlang/elixir/clojure 20-80 вакансий на всю Рашку, да и то там не чистые вакансии под этот язык, а в связках в других. Разве что scala имеет под 500 предложений. И что делать? Мне-то конечно хочется именно для своего общего развития это учить, но и деньги зарабатывать тоже не помешало бы.
Похоже придется скалу брать, хотя это тоже смесь как и джс, и вообще она в вакансиях часто с джавой в связке встречается. Почему именно с джавой?
318 1256379
>>56375
Сейчас подумал, скорее всего это будет Go, или Scala как второй вариант. Что-то чисто фпшные языки не особо востребованы судя по вакансиям. Но я еще не скоро закончу книгу, и вообще медленно двигаюсь из-за работы, слишком выматывает. Еще и htdp хотел прорешать... Поэтому неизвестно когда начну что-то другое учить, там мб и поменяется что-то на рынке.
319 1256383
>>55938
Guile
320 1256394
>>56379
так хтдп проще сикпа гораздо, если сикп плохо заходит, то сначала хтдп накати
если нормально, но просто забей на хтдп
а насчёт ЯПов
Erlang точно используется в продакшене с хорошей зарплатой
а у Elixir очень хорошие перспективы, мб взлетит ещё
321 1256395
>>56394
но по вакансиям да, скала явно лучше
а го скорее всего заменит пайтон в ближайшем будущем
323 1256410
>>56396
Рубистов явно больше
324 1256424
Щас прохожу сишный курс и дошёл до рекурсии.
Помню, как начинал сикп и читал про хвостовую рекурсию там, прямо в книге писали "как же это охуенно".

Вопрос назрел а нахуй нажна оптимизация хвостовой рекурсии? Чтобы что? В сикпе авторы топят за "простые математические описания", но если скажем тот же факториал рекурсивно расписать "просто математически", то там будет обыкновенная рекурсия со всеми вытекающими (попробуй возьми факториал сильно большого числа и привет переполнение стека).
Это я про n = n + fact(n -1). Хвостовая рекурсия это не этот случай, ведь надо же где-то хранить n.
Чтобы всё работало, надо пилить особую, уличную функцию, которая будет брать два аргумента вместо одного. И это уже нихуя не очевидно в сравнении с чисто рекурсивным определением. И что это в итоге даёт? Определение хвосторекурсивной функции имеет в моих глазах тот же уровень очевидности и простоты, что и итеративной. Да и в глазах компилятора тоже.
К чему тогда весь этот цирк, чтобы что? Чтобы иметь возможность при случае взять не весь факториал, а кусок факториала от такого-то числа m до такого-то числа n? Хм, охуеть полезно.
Короче мысль моя такая, что хвостовая рекурсия - это просто чьи-то хотелки.
325 1256435
>>56424
TCO нужно, чтобы стек не переполнялся. Оно даже у сирых и убогих в C++ есть.
326 1256437
>>56435
Моя мысль в том, что тсо не господь бог и оно умеет превращать в цикл только то, что и без него можно было сделать циклом.
Ты будто вообще не читал мой пост.
Вот если бы компилятор мог взять моё n + fact(n - 1) и сделать их этого цикл, то я бы преклонился перед могуществом его создателей.
Но он может сделать цикл только из того, из чего я и сам могу. Ну и зачем тогда мне такой функционал? Ответ - синтаксический сахар и более ничего.
327 1256491
>>56437
В функциональных языках нет циклов и с точки зрения теории они избыточны. И именно они являются синтаксическим сахором, а не рекурсия.

мимо
328 1256521
>>56213
анус себе сохрани, пёс :3
329 1256528
>>56213
>>56521
Сортировать по алфавиту, а не дате сохранения WutFace
330 1256536
>>56491
хуя
331 1256551
>>56491
Хорошо стелешь, да только вот цикл не засирает стек миллиардами открытых фреймов, а рекурсия засирает.
332 1256582
>>56375

> Хочется развиваться, сам react разработчик


Очевидный clojurescript + re-frame/om очевиден. Если ты толковый спец, то тебя оторвут с руками (в том числе на удаленку в европку но учти, что конкуренция высокая, нужно быть реально сеньором-помидором не уровня /b), плюс тебе не нужно учить еще и новый стек в дополнение к новому языку, ну и вообще переучиваться не нужно, все новые знания у тебя будут логическим продолжением старых. А после этого через кложескрипт можешь и на обычную жвм-кложу пересесть да микросервисы поклепать, а там уже и до скалы рукой подать, если захочется.

>Почему именно с джавой?


Потому что она на jvm, очевидно.
333 1256585
>>56424

>И это уже нихуя не очевидно в сравнении с чисто рекурсивным определением.


Очевидное определение факториала - это fold (*) [1..n].

Хвостовая рекурсия нужна 1) для языков без циклов циклы - синтаксический сахар, анон выше все верно сказал 2) для более естественного выражения алгоритмов над иммутабельными данными. Цикл подразумевает изменение переменных, хвостовая рекурсия - нет.

>>56551
Хвостовая - не засирает, мимокапитан.
334 1256595
>>56585

>Очевидное определение факториала - это fold () [1..n]


Нет. Очевидное определение факториала я написал выше, его можно понять без знания программирования вообще. fold (
) [1..n] - нельзя.

>Хвостовая - не засирает, мимокапитан.


Мимонечитавший диалог, ты хотел сказать? Я о том и говорил, что нормальное рекурсивное определение очевидно для читающего, но не обрабатывается компилятором как хвостовая рекурсия, а чтобы обрабатывалось его надо переделать в неочевидное подобие цикла.
335 1256606
>>56595

>Нет.


Факториал в математике определяется как произведение чисел от 1 до n проверь сам с помощью поисковой системы. Ничего общего с твоим неправильным, кстати определением это не имеет, зато имеет все общее с моим. Тот факт, что я записал его в немного другом синтаксисе, не влияет ровно ни на что. Приведенное выше определение на русском языке немецкому математику понятно тоже не будет, но менее очевидным оно от этого не станет.

>Мимонечитавший диалог, ты хотел сказать?


Нет, я не хотел этого сказать. Перечитай еще раз вот с этого поста: >>56491 - особенно последнее предложение.
336 1256671
>>56606

> Ничего общего с твоим неправильным, кстати определением это не имеет, зато имеет все общее с моим


Мы, долбоёб, говорили о рекурсии.

>Нет, я не хотел этого сказать


Разумеется не хотел, зачем же тебе выставлять напоказ тот факт, что ты нихуя не понял о чём речь идёт.
Только зачем в таком случае в чужой разговор встревать, разве что ради троллинга тупостью.
337 1256673
>>56606

> неправильным, кстати


И да, с этого момента поподробнее, будет забавно посмотреть как ты вновь начнёшь срать под себя в попытках доказать, почему же оно неправильное.
Подсказка: эта строчка - не единственная в функции (на случай если решишь подрубить дурочку), она входит в состав условного выражения.
338 1256686
>>56673

> И да, с этого момента поподробнее


По твоему определению, 6! = 1+2+3+4+5+6=21. Верное значение 6! = 720.
Прежде чем рассуждать о хвостовой рекурсии, в которой ты нихуя не понимаешь, сначала вылечи свою дислексию.

мимо сикпанавт
339 1256687
>>56671
>>56673
Ну, земля тебе пухом тогда. Move along.
340 1256709
>>56686

>По твоему определению, 6! = 1+2+3+4+5+6=21. Верное значение 6! = 720.


Ты дебил?

>сначала вылечи свою дислексию


Только после тебя, долбоёб прикапывающийся к случайному плюсу вместо звёздочки. Ты ведь всё прекрасно понял, но за неимением ничего лучшего доёбываешься до промаха по клавише, ведь по сути вопроса сказать нечего. Щас ещё доебёшься до n вместо fact(n) в левой части, эдакий скоморох.
И прекрати под каждым постом писать "мимо", мимо это предупреждение о том, что автор поста не сможет участвовать в дискуссии, а ты ещё как можешь, всё тут засрал своими "мимо"-воплями.
341 1256716
>>56709

>к случайному плюсу


Ага, в двух разных постах. Оправдываться передо мной не надо, пиздуй к невропатологу.

> И прекрати под каждым постом писать "мимо", мимо это предупреждение о том, что автор поста не сможет участвовать в дискуссии, а ты ещё как можешь, всё тут засрал своими "мимо"-воплями.


Под кроватью у тебя тоже Семён? Я даже не знаю, что такое fold, лол.
342 1256814
>>56716

>Ага, в двух разных постах


Не вижу противоречий. Слыхал про "абстракции", это такая хуйня когда написал что-то и потом обращаешься с этим чем-то как с примитивом, не вспоминая что у тебя там опечатка

>Оправдываться передо мной не надо


Но при этом ты тут же оправдываешься передо мной, рассказывая какой же ты не семён, и ты даже значение "fold" не знаешь. Жалкое зрелище.

Ты так и не пояснил, каким образом ты сделал такое хитрое умозаключение, как "сделал опечатку в формуле да пусть даже не опечатку, предположим я реально не знал или не помнил что факториал это не суммирование => не понимает что такое хвостовая рекурсия"
И какое отношение имеет заявление "циклы это синтаксический сахар" к собственно рекурсии? Циклы это не синтаксический сахар над рекурсией, а скорее тогда уж над конструкцией с условным переходом (с этим можно поспорить, но суть в том что по крайней мере к рекурсии эта богадельня отношения не имеет).
Пока единственный более-менее аргумент, который тут всплыл, это "Цикл подразумевает изменение переменных, хвостовая рекурсия - нет". Правда он всё равно не даёт ответа на вопрос "почему сассман считает, что делать функцию-обёртку для другой функции, которая вызывает себя с новыми аргументами в конце - столь охуенный подход в сравнении с использованием цикла (будь он хоть тысячу раз синтаксическим сахаром над чем угодно, это не столь важно, главное что он ЧИТАЕМЕЕ хвосторекурсивного аналога, и в то же время вместе с ним проигрывает в хламину по читаемости простому рекурсивному определению, которое однако забивает стек)"
343 1256838
>>56814

> каким образом ты сделал такое хитрое умозаключение, как "сделал опечатку в формуле да пусть даже не опечатку, предположим я реально не знал или не помнил что факториал это не суммирование => не понимает что такое хвостовая рекурсия"


Да ты же сам написал,

> Вопрос назрел а нахуй нажна оптимизация хвостовой рекурсии?


Пиздец ты у мамы манявратор.
344 1256842
>>56375
Haskell
345 1256908
>>56582
>>56842
>>56394
Thanks за ответы, буду углубляться и дальше в эту тему, пока желание есть.

> re-frame


(defn delete-button
--[item-id]
--[:div.garbage-bin
----:on-click #(re-frame.core/dispatch [:delete-item item-id])])
Ооооооо, скобочки!
346 1257113
>>56838

>Да ты же сам написал,


>> Вопрос назрел а нахуй нажна оптимизация хвостовой рекурсии?


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

Если ты настолько тупой, что решил что это и должна была быть хвостовая рекурсия, то поздравляю, у тебя дислексия. Ибо я прямым текстом написал, что n fact(n-1) это ПРОСТОЕ РЕКУРСИВНОЕ ОПРЕДЕЛЕНИЕ, не хвосторекурсивное а просто рекурсивное.

Разжую:

1. ПРОСТО РЕКУРСИЯ

fact(n) это:
если n = 1 то верни n
иначе верни n
fact(n-1)

2. ХВОСТОВАЯ РЕКУРСИЯ

fact(n, произведение) это:
если n = 1 то верни произведение
иначе верни fact(n - 1, произведение * n)

Вызываешь всю эту дребедень как fact(твоё число, 1), либо рисуешь обёртку которая сама вставит единицу вместо тебя

3. ИТЕРАЦИЯ

fact(n) это:
произведение = 1
пока n > 1
(умножь произведение на n
отними от n единицу)
верни произведение

Вопрос в том, почему автор считает, что второй вариант дохуя понятен и читаем в сравнении с третьим и вообще столь же понятен, сколь и первый?
346 1257113
>>56838

>Да ты же сам написал,


>> Вопрос назрел а нахуй нажна оптимизация хвостовой рекурсии?


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

Если ты настолько тупой, что решил что это и должна была быть хвостовая рекурсия, то поздравляю, у тебя дислексия. Ибо я прямым текстом написал, что n fact(n-1) это ПРОСТОЕ РЕКУРСИВНОЕ ОПРЕДЕЛЕНИЕ, не хвосторекурсивное а просто рекурсивное.

Разжую:

1. ПРОСТО РЕКУРСИЯ

fact(n) это:
если n = 1 то верни n
иначе верни n
fact(n-1)

2. ХВОСТОВАЯ РЕКУРСИЯ

fact(n, произведение) это:
если n = 1 то верни произведение
иначе верни fact(n - 1, произведение * n)

Вызываешь всю эту дребедень как fact(твоё число, 1), либо рисуешь обёртку которая сама вставит единицу вместо тебя

3. ИТЕРАЦИЯ

fact(n) это:
произведение = 1
пока n > 1
(умножь произведение на n
отними от n единицу)
верни произведение

Вопрос в том, почему автор считает, что второй вариант дохуя понятен и читаем в сравнении с третьим и вообще столь же понятен, сколь и первый?
347 1257203
>>57113
3ий вариант можешь другими словами объяснить?
348 1257218
>>56908

>Ооооооо, скобочки!


В коде на клжс скобочек раза в полтора меньше, чем в коде на жс+жсх, кстати. Меня до сих пор вымораживает неудобное чужеродное жсх-говно с препроцессором вместо православного [:tag.class ...]
349 1257253
>>57203
Ну цикл же
Пусть на си - https://pastebin.com/XT2XA7cX
Не знаю, может ли схема в циклы, но это и не имеет значения, главное что вот эта сишная функция такая же неочевидная в сравнении с простой рекурсией, как и хвостовая рекурсия.
Но в книге чётко помню: имело место нахваливание хвостовой рекурсии и увещевание, что TCO улучшает потенцию и избавляет от болезней, хотя по факту выходит неочевидная циклоподобная хуита в противовес простому и понятному (но рекурсивному) первому варианту.
Вот когда первый вариант компилятор сможет переделать без рекурсии, тогда и приходите.
350 1257261
>>57253
Спасибо, так понятнее
А то ты написал просто

произведение = 1
пока n > 1

Я вот и не мог понять, что за ебала
351 1257868
>>57113

>то поздравляю, у тебя дислексия


>САМ ТАКОЙЙЙЙ!!!!!111


Тебя мамка в школу собрала уже? Привет ей
sage 352 1257973
>>57253

>тогда и приходите.


Нет, это ты тогда и приходи. На твои вопросы тебе ответили еще постов 10 назад. Что еще непонятно-то?
353 1258551
Посмотрел по диагонали, книжка интересная, разжевано все от и до. Если бы еще примеры на Coq'е были - вообще цены бы не было, а лисп-то нахуй нужен. Но для общего понимания все равно годнота.
354 1258570
>>58551
Лисп в книжке короткий и простой. Учиться даже не за день а за одну главу.

Пригодится при работе в emacs. Ты только начни, и тебя уже будет не остановить в создании идеальной среды разработки имени тебя.
355 1259574
>>58551

>Если бы еще примеры на Coq'е были


Конструктивисты уже совсем обезумели!
356 1260236
Привет, схемоблядки.
Я вам покушать принёс:

https://scanlibs.com/how-design-programs-introduction-programming-2nd/

Свежачок, 2018.
Правда, там только блядский epub, но, в pdf можно конвертировать через calibre.
357 1260258
>>60236
Так ведь онлайн можно читать? Или там типа оформлено все красиво?
358 1260307
>>60258
Ну, это оформлено в виде нормальной книги.
И эта книга продаётся за 56 долларов (ebook):
https://www.amazon.com/dp/0262534800
wallhaven-74198.jpg1,1 Мб, 2716x3445
359 1260367
Сегодня (уже вчера, блять) 1.2.2. осилил. Постиг суть задачи о размене денег и задачи Фибоначчи.
Как же я охуенно после этого, даже хоть и маленького, свершения себя чувствую. Посоны, если впадаете в хандру и депресируете, то ебашьте сикп — станет легче и почувствуете смысл жизни.
# OP 360 1260368
>>60367

>если впадаете в хандру и депресируете, то ебашьте сикп — станет легче и почувствуете смысл жизни.


Или почувствуете себя последним дауном, если не пойдет :) даже галочку поставлю
361 1260577
>>60368
Чо, как успехи там у тебя?
362 1260580
>>57868
Что и требовалось доказать - ты оказался неспособен прочитать мой пост, максимум на что тебя хватило - распознать там знакомую строку.

>>57973

> На твои вопросы тебе ответили еще постов 10 назад.


На вопрос "зачем нужна оптимизация хвостовой рекурсии" был только один отдалённо похожий на аргумент кусочек ответа, и я уже об этом говорил, поэтому придётся цитировать самого себя, ибо тупой даун не может не только читать, но и запоминать мои посты:

>Пока единственный более-менее аргумент, который тут всплыл, это "Цикл подразумевает изменение переменных, хвостовая рекурсия - нет". Правда он всё равно не даёт ответа на вопрос "почему сассман считает, что делать функцию-обёртку для другой функции, которая вызывает себя с новыми аргументами в конце - столь охуенный подход в сравнении с использованием цикла (будь он хоть тысячу раз синтаксическим сахаром над чем угодно, это не столь важно, главное что он ЧИТАЕМЕЕ хвосторекурсивного аналога, и в то же время вместе с ним проигрывает в хламину по читаемости простому рекурсивному определению, которое однако забивает стек)"



>>58551
Видел современный курс мита, который с питоном - так там большая часть примеров и все понятия из сикпа, только вместо схемы питон. Вот прям смотришь и чувствуешь сикп.
Как по мне - шо то, шо это без разницы (ибо об одних и тех же вещах говорят что в сикпе, что в 6001), только подача в видеокурсе намного лучше, а язык немного, но неоправданно сложнее.
Был бы видеокурс с тем же самым построением (чтоб и видосы короткие, и мини-задания со встроенным интерпретатором схемы), но со схемой - был бы абсолютный идеал курса для начинающих погромиздов.
Хотя нет, не идеал. Идеал бы был, если бы они подразгрузили курс от абстрактных математических примеров и поднагрузили наглядными. Вот тогда был бы идеал.
363 1260594
Читаю хтдп, щас на 4ой главе, дошёл до упров в теме S-expressions. Но сейчас не об этом. Много делал прог со списками (в плане cons, list, ', `), вложенными структурами (в том числе деревья, леса). Судя по тому, что деревья в теме про них (в хтдп) были исключительно в виде вложенных структур, хочу спросить у вас, кольцевые списки реализовать можно только через вложенные структуры? Через list/cons/etc не прокатит?
364 1260601
>>60580

> Идеал бы был, если бы они подразгрузили курс от абстрактных математических примеров и поднагрузили наглядными.


Что может быть нагляднее квадратного корня или интеграла? Деревянные кубики с изображениями мультяшных животных на гранях?
365 1260603
>>60580

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


Это еще почему? Если брать 3 способа нахождения факториала, то цикл точно ГОРАЗДО проще воспринимается, чем другие два. И линейно итеративная будет очевидно на втором месте с большим отрывом от линейно-рекурсивной.
мимо нюфаня, читаю sicp
366 1260605
>>60594
(define c (cons 5 (cons 3 (cons 8 '(c)))))
или вот таким образом если записать?
тотже>>60594-кун
367 1260608
>>60605
Вроде бы подобные трюки со списком, включающим самое себя в качестве элемента, невозможно перевернуть без мутабельности, ну т.е. без set-cdr! ну или set-car! там.
368 1260610
>>60608

>перевернуть


*провернуть, конечно же
369 1260614
молдер
370 1260634
>>60608
можешь привести пример кода?
а конкретно на racket аналогов нет этим двум?
371 1260656
>>60594
Традиционный двусвязный список ты (по очевидным причинам) в функциональном\иммутабельном стиле не сделаешь. Если тебе нужна цикличность представления данных в предметной области, то это всегда делается другими способами (в том числе в императивном стиле), непрямо, индиректно - ну типа там можно использовать айдишники для ссылок на другие сущности в домейне, например. Если тебе хочется именно как ты тут >>60605 написал, то заметь, что это не совсем "кольцевой" в традиционном понимании список (ты не можешь его посередине разорвать и вставить еще что-нибудь туда, например), но рекурсивный список. Такие можно сделать в clojure, haskell или любом другом языке с поддержкой ленивости. Ну то есть суть в том, что ты определяешь список рекурсивно (через самого себя), поэтому он у тебя получается бесконечным (и все должно бы взорваться), но ленивость позволяет не считать его сразу целиком и полностью (молодой человек, это не для вас посчитано), а брать столько элементов, сколько нужно (и потом после обработки выкидывать ненужные, так что потребление памяти остается константным).
372 1260707
>>60577
Продвигаюсь потихоньку, почти домучал 2 главу учебника.
373 1260726
>>60634

> а конкретно на racket аналогов нет этим двум?


У меня с #lang sicp всё работает

> можешь привести пример кода?


Ну типа так

(define lst '(1 2))
(set-car! lst lst)
374 1260727
>>60656

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


Это, кстати, называется stream и подробно описано в сикпе в главе 3.5.
375 1260752
>>60726
спасибо
376 1260758
>>60726
что за #lang sicp? у меня такого нет
377 1260759
>>60758
r5rs?
378 1260763
#lang racket
(require r5rs)
(require 2htdp/image)
(require 2htdp/batch-io)
(require 2htdp/universe)
(require 2htdp/abstraction)
(define lst '(1 2 3 4 5))
(set-car! lst lst)
lst
Результат:
#0=(mcons #0# (mcons 2 (mcons 3 (mcons 4 (mcons 5 '())))))
Может шарящий анон прокомментировать эти два нуля?
379 1260771
Не могу найти SICP с python, знает кто нибудь где скачать?
380 1260784
>>60771
Удвою вопрос. От лиспа блевать тянет.
381 1260794
>>60758
>>60759

>#lang sicp


Это нужно устанавливать дополнительно.
Набери в гугле.
382 1260795
>>60784

>От лиспа блевать тянет.


Туда ли ты зашёл, пацанчик?
383 1260797
>>60795
К чему этот вопрос?
Думаю да, туда.
384 1260810
>>60794
а в итоге это работает как нормальный кольцевой список?
list, или mlist?
385 1260837
>>60794
всё сделал, а как теперь это правильно использовать?
386 1260854
(define-struct st (a b))
(define C (make-st 3 '()))
(define B (make-st 2 C))
(define A (make-st 1 B))

Возможно ли как-то сделать, чтобы правая часть С была А? Может, какая-то процедура есть?
387 1260934
>>60763
Racket так печатает тебе список, содержащий самое себя, чтобы не засирать вывод бесконечным (((((((((((((((((((((((((((((
388 1260976
>>60727

>Это, кстати, называется stream


Ну, нет.
390 1261005
>>60996
Анон, тут тебе не форчан. Я же вроде подробно расписал - я не знаю, что тебе непонятно. Ленивость - это ленивость, стрим - это стрим. Это вообще разные категории.
391 1261025
>>60837
>>60854
бамп вопросам
392 1261077
>>60837
В смысле?
Пишешь в файле #lang sicp
А потом пишешь решения задач.
393 1261089
>>60601

> Что может быть нагляднее квадратного корня


Квадратный корень сам по себе это хуй с ним, но там же ньютоновский (или чей там) алгоритм нахождения приближения, потом факториалы с Фиббоначчи, башни хануи, короче явный передоз математики. Хотя рекурсию хорошо пояснять на факториале и башнях хануи, но вот всё остальное вполне могло обойтись более жизненными примерами. Хотя в сикпе была задача на размен монет, но она была чересчур заёбистая (или я в то время был такой тупой). Давали бы лучше задачи типа номер кредитки проверить - тоже математика, но жизненная.
394 1261160
>>61077
это само собой, я имею ввиду как правильно использовать список, получившийся после процедуры той
то есть изменённый lst

как использовать эту ссылку на себя же?
395 1261295
>>61160
Берёшь и без задней мысли используешь.
396 1261296
>>61089

>Хотя в сикпе была задача на размен монет, но она была чересчур заёбистая


Вот, кстати, поддвачну, терпеть не могу такие задачки на жизненную сообразительность)))))))))))))
397 1261346
>>61295
точно, через car и cdr, по привычке думал только об first, rest
398 1261354
Где почитать про ООП в Racket? в HtDP вроде нет
399 1261357
>>61296
Не обижайся, но мне кажется ты не в курсе о чём речь
400 1261358
В DrRacket есть возможность подключения модулей, тичпаков (модулей с другим названием по сути), использования различных языков
К примеру
#lang racket
(require r5rs)
Здесь я подключаю, по моей логике, стандарт (отдельный ЯП) Scheme, совмещаю его с Racket
Это так, или же это какой-то модуль, инициирующий R5RS?
401 1261391
>>61357
Как раз таки в курсе. Задача "сколькими способами можно набрать мелочью такими-то монетами такую-то сумму" решается вываливанием всей мелочи из кармана на ладонь и протягивании этой ладони кассиру, чтобы она сама отсчитала, сколько нужно. Я в рот ебал над такой хуйнёй думать.
402 1261392
Какой течпак нужно добавить в ракете, чтобы читал функции, типа set-cdr! putq! set-car! push pop и другие? Или блядь их всех в нотации прописывать надо всегда?
403 1261402
>>61354
https://docs.racket-lang.org/guide/classes.html
можешь еще про CLOS сразу читнуть только без фанатизма

>>61391
Так это задача про комбинаторику и алгоритмы, а не про считание мелочи. Просто сформулирована с наглядными предметами, чтобы было легче в голове представить.
404 1261405
>>61392
гугли #lang sicp
устанавливаешь его
после пишешь
#lang racket
(require sicp)
По идее так всё окей
Или же другой вариант, с (require r5rs)
Кажется тоже рабочий
405 1261406
>>61358
Бля, по-моему require чисто подключает модули, то есть оно просто доставляет тебе все функции, определенные в стандарте r5rs. А #lang может делать вообще что угодно, он именно говорит ide ракетки, что дальше идет код на таком-то языке (сам язык может быть вообще никак не связан со схемой).
406 1261408
>>61406
спасибо
407 1261463
Объясните пожалуйста ньюфагу, я правильно понял, что если я в программировании ни бум-бум, то можно с этой книги начинать учиться?
408 1261467
>>61463
Лучше начни с чего попроще, особенно если в математике слаб. Конечно, и с этой книги можно начать, но чтоб ее осилить придется приложить немало усилий и в сочетании с тем, что по мере чтения ты не будешь понимать куда реально можно приложить те знания, которые она дает, есть немалый шанс, что на программирование ты просто забьешь.
409 1261479
>>61463
HtDp. Если с математикой знаком, то sicp. Все просто
410 1261489
>>61391

> сколькими способами можно набрать мелочью такими-то монетами такую-то сумму


Вот в этом и кроется переусложнённость.
А надо было вместо этого "напишите прогу для кассира, в которую забиваешь сумму сдачи, а она считает сколько каких монет выдать, чтобы монет было как можно меньше в общем"
Но это не про наш сикп, наш сикп при первой возможности спешит удариться в матан.
411 1261518
>>61463
Английский знаешь?
412 1261636
>>61518
Скорее нет, чем да, вряд ли смогу читать
413 1261727
>>61405
Скачал сикпа течпак, там несолько файлов, пробовал, хуй получилось, все через жопу. А r5rs попробовал, вроде нормально. Глубоко не лез, уже засыпаю, но вроде работает. Спасибо.
414 1262015
>>61636
Учи английский.
415 1262175
Оп опять вкатывается. Нихуя не могу понять, что нужно сделать, чтобы команды сразу определяло (square; reciprocal; double-any; lisp-cdr; sign; income-tax; remv и др.). Течпак с сайта ракеты скачивал, там несколько файлов, нихуя ни один не подошел, чтобы эти команды работали. Не, ну в учебнике есть расшифровки этих команд, но блядь мне большим копипастом всегда вставлять что-ли? Или может самому как-то создать, так скажем плюсом к тому, что уже заложено, я бы скопипастил из учебника в «свой» течпак, где были бы расшифровки и глаза чтобы не мозолить? R5RS какие-то другие функции может прочитать, но тоже по большому счету хуета.
416 1262182
#lang r5rs -> #lang sicp
Разница?
417 1262212
>>62175
говорили долбоёбу, читай хтдп
нет, из-за хуйни надо бросить
мог бы задавать вопросы аля почему -> в названии
а на деле имеем то, что имеем
418 1262220
>>62212
Сказать-то что хотел, рачье? Помочь не можешь - пройди мимо.
419 1262573
>>62015
Для джуна не сильно-то и нужно.
420 1262593
>>62573
Для 1С-джуна - разумеется.
421 1262597
>>62212
Съеби нахуй.

>>62175
Ты можешь положить частоиспользуемые функции в отдельный файлик, будет у тебя небольшой такой воспомогательный модуль, и подключать его в других файлах. Подробнее читай тут: https://docs.racket-lang.org/guide/module-basics.html

>>62182
https://docs.racket-lang.org/sicp-manual/index.html?q=sicp#(part._.Introduction_to_the__lang_sicp_language)
use google, luke
422 1262606
А какой уровень знания английского вы считаете приемлимым? И как посоветуете поднимать скилл? Я пытался на английском читать пару книг (не sicp) по программированию. Дропал через пару десятков страниц. В среднем я встречал 1-3 незнакомых слова на абзац. Но незнакомые слова это не главная проблема в чтении на инглише. Главная проблема - приходится сильно сосредотачиваться, чтобы понять написанное. То есть, слова вроде все знакомые, но все равно перечитываешь несколько раз, чтобы в голове более точно перевести на русский. Я, кончено, слышал такое: ты знаешь английский, когда можешь на нем думать или что-то вроде этого. Но реально ли вообще обходиться без перевода в голове, если ты живешь в России и все вокруг на русском языке?
423 1262613
>>62606

> А какой уровень знания английского вы считаете приемлимым?


Который для меня комфортный. Что за вопросы, блядь? Если понимаешь все, что тебе надо - значит приемлимый, если не понимаешь - значит неприемлимый.

>И как посоветуете поднимать скилл?


Читать книги, которые тебе интересны. Тащем-то все. А, ну и не забудь на телефоне и в системе язык поменять. И видосики смешные, блядь, на английском смотри.

>В среднем я встречал 1-3 незнакомых слова на абзац.


Ну так это вообще норм, в чем проблема-то? Дочитал бы книжку до конца - был бы у тебя уверенный технический английский.

>чтобы в голове более точно перевести на русский


Сука, блядь, ты дебил? Нахуя ты в голове на русский переводишь, уебок? Ух блядь, пизды бы тебе дал, если бы ты мне такое в лицо сказал, долбоеб сука! Не делай так больше, блядь, читай и все.

>Но реально ли вообще обходиться без перевода в голове, если ты живешь в России и все вокруг на русском языке?


Реально, если ты не конченый долбоеб. Ты не поверишь, но все так и делают, никто не переводит в голове, за исключением нерадивых школьников. Просто читай каждый день и все, это очень быстро приходит с практикой.
424 1262617
>>62597
Спасибо, а то у меня из-за этих функций обучение приостановилось. Но 2 главы из 12 прошел успешно. Сейчас только 2 главу слегка перешерстить, закинуть в файлик все функции, описать их в документе и можно двигать дальше :З
425 1262687
>>62617
А ты, кстати, прям в файлике и описывай все функции, как в хтдп делают:
; Missile Image -> Image
; adds m to the given image im
(define (missile-render m im) im)

То есть пишешь:
- аргументы функции и что она возвращает
- краткое описание в одну строчку на английском
- ну и дальше можешь какие-то свои замечания по-русски написать

Например, как-то так:
; List -> Boolean
; checks if the list `lst` is empty
(define (empty? lst) ...)

Это тебе и для английского полезно будет, и для кодинга.
426 1262753
>>62593
Нах так прилаживать?

>>62606
Практика-практика-практика
Нельзя научиться читать по-английски, если не читать по-английски
427 1262785
>>62687
ХОрошо, спасибо.
428 1263102
(define a 3)
(define b (+ a 1))
(+ a b ( a b))
(= a b)
(if (and (> b a) (< b (
a b)))
b
a)

Не понимаю что означают в конце переменные b a ). Тип если 4 > 3 and 4 < 12 то b a) Как это понять?
429 1263114
>>63102
Ну у тебя два варианта решения задачи. Если все забись, условия там совпали, То первый вариант (b), если не совпали, равенство там не равно или ложь, То второй вариант, т.е. а.
Но я оп и дебил, поэтому может не прав.
430 1263116
>>63102

>Как это понять?



Возвращаемые значения.
431 1263126
>>63102
Синтаксис if глянь
(if условие
вернуть-если-выполнилось у тебя b
вернуть-если-не-выполнилось у тебя а)

И поди прочь.
Мы тут учим программирование а не синтаксис
432 1263227
>>63102
какой ты рачелла, даже опдебил всё понял
без обид
433 1263233
.
# OP 434 1263239
>>63102
Кстати рекомендовал бы почитать вот это -> >>48034 ссылка на книгу здесь -> >>48035 а то я тоже с сикпа пытался начать, а там хуй пошло, т.к. с нуля очень сложно.
>>63227
На правду не обижаются :З
435 1263241
>>63126
>>63227
Зачем вы такие токсичные?

>>63227
>>62212
Особенно вот этот мелкобуквенный бесполезный щитпостер.
# OP 436 1263242
А в итт я зашел не зря, опять с дебильным вопросом. Перечитал 3 раза ссылку по внесению своих функций в ракету, чтобы само определялось, так и не понял. А нельзя вот просто скопировать один из течпаков, переименовать его и в его внутрянку скопипастить нужные мне функции, потом его запустить? В вышеуказанной статье ни про редактирование течпака, ни про создание нового – ни слова. Пытался готовый течпак вордом открыть или блокнотом – хуй на рыло. Там не так все просто или я даун конченный?
437 1263309
>>63242
Какое нахуй тичпаки редактировать, ты совсем там страх потерял? Тичпак - это считай часть дистрибутива рэкета. Это примерно как если бы тебе в системе надо было шрифт поменять и ты бы предлагал лезть внутрь нее и ядро перекомпилировать, что-то такое. Вот выйдет новая версия рэкета, ты обновишься, все твои изменения в тичпаках перезапишутся - будешь заново все туда копипастить после каждого обновления? Нахуй, нормально делай - нормально будет.

К тому же тебе все равно в будующем надо будет с модулями разобраться - ты же не думаешь, что реальные программы пишут целиком в одном файлике, лол? Что тебе там непонятно, рассказывай давай
438 1263312
>>63309
Да я вообще нихуя не понял, если честно, как оно делается. Ну скопировал я списком определения всех функций. По моей дебильной логике, мне бы всю эту простыню куда-нибудь закинуть, сдружить с прогой и все. А сейчас у меня только вордовский документ с простыней программ, и что с этим делать, хуй его знает. Пересмотрел раза 3 ту статью, блядь указаний к действиям там нет, но наверно я слишком тупой, чтобы скрытый смысл увидеть.
439 1263490
>>63241
Тебе все разжевали, а тебе еще мало.
Вежливость подавай.

В следующий раз сам разбирайся.
440 1263516
>>63102

Это как два стула, сечешь?
image.png36 Кб, 587x639
441 1263548
кто-нибудь пытался через лексическую сферу действия (define внутри define) делать? меня drracket нах шлёт
442 1263560
>>63548
Зачем так делать? Используй let
443 1263562
>>63548
я знаю, что херовую процедуру задал, это просто для примера, такая же ошибка и в тех, что с учебника копировал
444 1263563
>>63560
до let есть много заданий, которые не подразумевают его использования
а вообще мысль здравая, спасибо
445 1263567
>>63560
и раз уж ты тут, ответь плес
вот пример из учебника с lambda
(define (integral f a b dx)
( (sum f
(+ a (/ dx 2.0))
(lambda (x) (+ x dx))
b)
dx))
но разве нельзя просто написать вместо лямбда тупо выражения для х? типа вот так
(define (integral f a b dx)
(
(sum f
(+ a (/ dx 2.0))
(+ x dx)
b)
dx))
446 1263575
>>63567
Скопируй в ideone, или хотя бы в пастбин, пожалуйста. Никто этот фарш с поехавшей разметкой читать не будет.
447 1263577
>>63575
ладно забей, я вроде сам разобрался
448 1263594
>>63490
Я не оп, а другой анон, але.

>>63312

>По моей дебильной логике, мне бы всю эту простыню куда-нибудь закинуть, сдружить с прогой и все.


Ну, там это и описывается. Ты создал папку для своего кода? Ты под виндой или под нормальной ОС? Создай там где-нибудь папку projects/racket/, в ней файл mylib.rkt - в него закинь все функции, которые хочешь использовать в будущем. Дальше открой ссылку, которую я тебе скинул, и прочитай, как подгружать этот файл в рэкете (provide + require).
449 1263596
>>63548

>f(5)


Meh...

>меня drracket нах шлёт


Потому что у тебя язык ПРОДВИНУТЫЙ СТУДЕНТ для использования с хтдп, из которого выпилено все, что к этому моменту еще не было объяснено в хтдп (там еще не объясняли, что дефайн можно внутри дефайн делать, вот и говорит об этом, чтобы какой-нибудь студент не написал дефан внутри чего-то другого и думал потом почему извне этого не видно, ведь написал же). Сделай #lang racket и будет тебе счастье.
450 1263597
>>63594
Ок, создам папку. А файл как создать? Просто вордовский документ переименовать в такую хуйню, а в него потом закинуть? Подключить-то хуй с ним, разберусь.
451 1263599
>>63597
Да, у меня винда 7.
452 1263615
>>63597
Какой вордовский документ, ты чего? Обычный текстовый документ, с расширением rkt. Ты где до этого-то писал все вообще? Каждый раз при запуске рэкета заново все печатал что ли? Прямо в нем напиши что тебе надо и нажми ctrl+s, введи имя-файла.rkt и сохрани куда надо. Блядь, тебе полюбас надо параллельно какой-то курс основ компьютерной грамотности проходить, типа информатики в школе, чтобы хотя бы понимать чем вордовский документ от текстового файла отличается.

>>63599
Сочувствую))00)
453 1263616
>>63615
В учебнике идет разбор функций по одной, с нуля и писал. Но там только писать эту одну функцию и приходилось. Хорошо, вечером попробую это все сделать и отпишусь, сейчас убегаю. Да я просто не касаюсь всех этих расширений, вот и тупить начал. Короче у меня в настройках расширение не указывается, я это дело включу, создам файл нужного расширения, туда скопипастю, создам директорию и по той инструкции попробую сделать. Спасибо за помощь, отпишусь вечером.
454 1263621
>>63616
Держи в курсе. Нет, правда, мы все тут твои друзья и радуемся твоим успехам, как своим собственным :з
455 1263639
>>63616
Ок, давай.

>>63621
А что, я и вправду радуюсь, это вот как знаешь, некоторые болеют за спартак, некоторые - за цска, а я в футбол как-то не очень, так что болею за превозмогающего опа, лол.
456 1263645
Реально ли сделать big-bang внутри big-bang?
457 1263835
>>63621
>>63639
Создал файл в ракете с нужным расширением. Внутрянка с функциями, как мне и нужно. Создал папку /racket/моя библиотека/my function.rkt
А дальше залупу за воротник. Пытался подключить этот файл, как течпак, он мне выдал хуйню, мол незаконное вмешательство или какой-то подобный бред. Пытался как в инструкции через file/package manager - тоже нихуя дельного не вышло. Блядь, есть толковая инструкция? Берешь блядь файл, закидываешь в такую-то папку, заходишь в ракету, нажимаешь такую кнопку, в появившемся окне такую кнопку, потом еще одну, выбираешь этот файл, нажимаешь "ок" и живешь нормально? Какой-то пиздец неадекватный, честное слово.
!!!игеергке.gif35 Кб, 500x525
458 1263848
>>63835

>Какой-то пиздец неадекватный, честное слово.


Почему ты ожидаешь, что абсолютно для всего в мире должна быть инструкция, в которой всё подробно разжёвано как для дебилов? Тебе разве не открылось блаженство нахождения решения сложной задачи своими силами? Что тебе мешает для решения стоящих перед тобой проблем использовать старый, как западная цивилизация, метод trial and error? Что, в конце концов, мешает тебе скопировать текст возникающих ошибок в гугл, а затем перейти по первой ссылке и ненадолго включить мозг?
Как дитё малое, ей-богу. Ты ещё бы подробную инструкцию по ебле реквестировал. "Двощ, я не могу вагинальное отверстие у тни найти, что за пиздец неадекватный?!?"
459 1263851
>>63848
Просто потратить пару-тройку часов ради того, чтобы научиться закидывать библиотеку, причем безуспешно, это не нормально. Я готов тратить время и нервы на изучение непосредственно программирования. Но блядь дрочиться с КОНКРЕТНО ВЗЯТОЙ ПРОГРАММОЙ в пустяковом моменте - хуевая затея, т.к. в другой программе будет по другому добавление этих библиотек, после обновления этой программы опять же не факт, что не станет по другому. Ладно, пока буду целиком простыню копировать в верхнее окно, хуле делать.
Да, ты спрашивал, с чего я взял, что подробная инструкция должна быть. Взял с того, что наверняка далеко не я первый пытался голову ломать с этой хуйней, а подробные инструкции есть даже по откручиванию колеса на машине.
460 1263854
>>63835

Блять, да что же за хуйней ты маешься, скачай уже mit-scheme, создай файл с кодом, запускай

mit-scheme --load "sicp_2_40.scm"

и будет тебе счастье. Потом можешь rlwrap качнуть и стартовать mit-scheme через него - будет и история команд и прочие ништяки.
461 1263857
>>63851

>Просто потратить пару-тройку часов ради того, чтобы научиться закидывать библиотеку, причем безуспешно, это не нормально.


Это нормально. Чем больше вещей ты знаешь, тем эффективнее работает твой мозг при генерации новых идей, и тем раньше у тебя начнётся старческая деменция.
462 1263866
>>63857
Может всё таки позже?
463 1264061
>>63866
Может быть. Может быть, она уже началась у меня. Может быть, я просто обосрался.
464 1264153
Бля, пацаны, ну серьезно, в какую папку этот файл закинуть и как его через программу подключить? Как долбоеб блядь сижу сейчас простыню копирую в верхнюю часть программы.
465 1264277
>>63835
Перечитай первый параграф, 6.1 Module Basics:
https://docs.racket-lang.org/guide/module-basics.html

>Блядь, есть толковая инструкция?


Да, вот: https://docs.racket-lang.org/guide/module-basics.html

>>63851

>Просто потратить пару-тройку часов ради того, чтобы научиться закидывать библиотеку, причем безуспешно, это не нормально.


Действительно.

>Но блядь дрочиться с КОНКРЕТНО ВЗЯТОЙ ПРОГРАММОЙ в пустяковом моменте


Модули - это часть языка. В рэкете они работают примерно так же, как в других скриптовых языках типа питона.

>>64153
Сделай пошагово один в один как тут написано: https://docs.racket-lang.org/guide/module-basics.html
Потом попробуй добавить в cake.rkt еще одну функцию и использовать ее из random-cake.rkt.
5677767.jpg31 Кб, 546x341
466 1264423
>>64277
Каждый модуль ракетки обычно находится в своем собственном файле. Например, предположим файл " торт.РКТ" содержит следующие модули:
бла-бла-бла, пример модулей
Затем, другие модули могут импортировать "торт.rkt "использовать функцию печати торт, так как обеспечивают линии в" торт.rkt " явно экспортирует определение print-cake. Функция шоу является частной для " торт.rkt "(т. е. его нельзя использовать из других модулей), так как show не экспортируется.
Следующий " random-торт.РКТ "модуль импорта" торт.rkt":
бла-бла-бла, опять пример модулей
Относительная ссылка "торт.РКТ "в импорте (требуется" торт.РКТ") работает, если "торт.rkt " и " random-торт.модули РКТ" в тот же каталог. Относительные пути в стиле Unix используются для относительных ссылок на модули на всех платформах, подобно относительным URL-адресам на HTML-страницах.
И че блядь мне с этим бредом делать?

Идем далее, пикрилейтед.
Файла sort.rkt нету блядь. Папки machine тоже блядь нету. Папок db несколько, но хуле толку, если ни машины ни того файла нет, хуй знает, че даст эта одна папка, причем хуй знает какая именно нам нужна.

Опять я тролль, да?
Без имени.png70 Кб, 1725x699
467 1264617
>>64423

> Опять я тролль, да?


Конечно, не бывает на свете таких тупых людей.

> И че блядь мне с этим бредом делать?


Английский учить, долбоёб блядь.
Тебе уже всё разжевали, как для маленького, а ты, блядь, всё равно стоишь посреди треда, плачешь и зовёшь маму. У, сука, встреть я тебя на улице, отпиздил бы, честно.
468 1264618
>>64423
КАКОЙ ЖЕ ТЫ СУКА ТУПОЙ
СОЗДАЁШЬ c.rkt:
#lang racket
(provide add2)
(define (add2 x)
(+ x 2))

СОЗДАЁШЬ b.rkt:
#lang racket
(require "c.rkt")
(add2 5)
469 1264697
>>64423
Еще раз, прочитай параграф 6.1, от слов

>Each Racket module typically resides in its own file. For example, suppose the file "cake.rkt" contains the following module:


до слов

>Unix-style relative paths are used for relative module references on all platforms, much like relative URLs in HTML pages.


и просто сделай все так, как там написано: создай два файла, скопируй их содержимое со страницы в файлы, открой их в рэкете, запусти и проверь, что все работает. Опять же, если ты не понимаешь, как создавать файлы или что такое относительные пути, то тебе надо просто какой-нибудь школьный учебник по информатике прочитать, или книжку по типу "основы компьютерной грамотности", без шуток. Тебе просто надо создать два текстовых файла, скопировать в них текст, открыть их в редакторе и запустить, тут программирования-то особо нет как бы.
4MV2wTOF7vg.jpg6 Кб, 200x200
470 1264717
Захотел стать прогромисстом 300 k/наносек
@
зашел на двач
@
сказали читать SICP
@
прочитал первые пару глав
@
не понял
@

>КАКОЙ ЖЕ ТЫ СУКА ТУПОЙ


@

>встреть я тебя на улице, отпиздил бы, честно.


@
Ну в пизду пргрмирование.
471 1264718
>>64717
вопросы объективно очень тупые, там даже ангельский знать не нужно, чтобы понять чё по чём (я про модули)
472 1264720
>>64718
Просто меня прикалывает как бомбят друг на друга в программаче.
473 1264723
>>64720
Да тут просто оп уже четвёртый тред подряд небезуспешно троллит тупостью
# OP 474 1264734
Сейчас буду дальше разбираться. Да, это -> >>64717 не мой пост. но мысли мои он хорошо прочитал, да
475 1264894
Стоит ли читать слоника, если я пока не собираюсь читать сикп? Полистал пару страниц, супер забавно написано, но надо ли оно мне, что он мне даст, кроме знания самого языка?
476 1265046
>>64894
Понимание рекурсии и навык написания алгоритмов. В слонике тащем-то плюс-минус типичные вопросы из интервью на жс-джуна какого-нибудь.
477 1265048
>>65046
в сикпе естественно это тоже есть?
мимоhtdpанон
478 1265080
>>65048
Да.
41OnGOPKW3L.SX376BO1,204,203,200.jpg44 Кб, 378x499
479 1265189
>>64894
Мимопролетал, слоник это вот этот? Тогда нирикамендую его вообще трогать.
1537122158646.jpeg136 Кб, 500x684
480 1265193
>>65189
Вот этот
481 1265204
>>65189
Ууу, блядь, это позерский слоник-хипстер, так и хочется ему морду набить!
482 1265269
>>65189
Это, очевидно, эпигон.
Да ещё и зелёный.
14426856201251489519.jpg93 Кб, 650x520
483 1265293
>>65193
Нет, вот этот
485 1265472
>>65046

>В слонике тащем-то плюс-минус типичные вопросы из интервью на жс-джуна какого-нибудь.


http://www.crockford.com/javascript/little.html
VOTE LISP.jpg191 Кб, 900x600
486 1265587
>>65189
ПАЦАНЫ, Я СЕГОДНЯ ШЁЛ КОРОЧЕ ПО ГОРОДУ И УВИДЕЛ ЧЕЛА В МАЙКЕ ">>=", НУ Я ПОДСКОЧИЛ И РЕЗКО ПЕРЕЕБАЛ ЕМУ В ЩЩИ С ВЕРТУШКИ И ПОЯСНИЛ ЕГО КРИКОМ "НЕ ЛЮБЛЮ МОНАДЫ", ПОТОМУ ЧТО Я УГОРЕЛ ПО ЛИСПУ, ПАЦАНЫ ДУХ СТАРОЙ ШКОЛЫ ЖИВЁТ ТОЛЬКО В НАСТОЯЩЕМ ФУНКЦИОНАЛЬНОМ ПРОГРАММИРОВАНИИ, ГДЕ ЕБАШАТСЯ ПО ХАРДКОРУ, ГДЕ ПАЦАНЫ ЖИВУТ МЕТАПРОГРАММИРОВАНИЕМ, ИНТЕРАКТИВНОЙ РАЗРАБОТКОЙ И ЕБУТ СИСТЕМУ В РОТ! ТОЛЬКО ЛИСП ТОЛЬКО ГОМОИКОННОСТЬ, ТОЛЬКО СКОБКИ!!! ЮНИТИ УЛЬТРАХАРДКОР ЛИСП!!! пацаны ебашьте скалоблядей, эфшарперов, крестовиков, формошлепов, академиков, угарайте по метарекурсии любите Лисп, репл и Скобки! ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО! ЛИСП!
487 1265598
>>65587
Дай угадаю, ты недавно обнаружил ЖЖ Артемия Лебедева
488 1265615
489 1267799
Как избежать ошибки считывания файла, которого нет? error?, check-expect, etc не катят, ибо сразу ошибка вылетает при подстановке.
491 1268122
>>67833
Кажется да, спасибо
492 1268513
Я правильно понимаю, что самое годное, это будет взять гарвардский CS50 как вводной, продрочить его и его примеры и уже потом вкатываться в СИКП и параллельно в линейную алгебру и на это все минимум годик всадить по 2-4 часа в день а потом уже закатываться в какую нибудь новомодную лошадку типа ГО или Эликсира или чего там стрельнет через пару лет и быть боженькой(если будет хоть какой то толк, ибо всё индивидуально)?

работаю принеси-подай говном на морозе за 17к, жизнь ад, но есть много времени потому, что работаю на родню от которой лет 5 еще не сбежать. 22лвл
493 1268545
>>47878 (OP)
https://mitpress.mit.edu/books/little-typer

18 сентября, 2018. Всем слоникоебам посвящается, опу в том числе.
494 1268547
>>68513
Teachyourselfcs

Там дорогу тебе проложили
495 1269056
>>68513
Типа того, да.

>>68545
Чо там, годнота? Читал уже кто?
496 1269160
>>67833
file-exists? функция, вот что подходит
мало ли кому понадобится
497 1271110
Анонсы, добавьте в шапку расшифровку книг, что это за слоники и хдтп? Не понятно же нихуя.
498 1271591
>>71110
хтдп - htdp.org
слоник - a little schemer

Это вроде в первых постах треда есть все со ссылками.
499 1271650
Насколько хуёвая русская версия SICP?
500 1271654
>>71650
Неточности в заданиях (!), так что лучше сверяй с оригиналом, когда будешь гуглить решения. Ну и формулировки на русском сложнее воспринимаются. Читай как параллельный текст обе версии для максимального профита.
501 1271731
>>71650
Перевод сам по себе неплохой, но опечаток дохуя куда редакторы и корректоры смотрели при издании - неясно
# OP 502 1271794
айн момент, в течение пары часов перекачу
# OP 503 1271808
Тред утонул или удален.
Это копия, сохраненная 8 ноября 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски