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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2aa37807a0e98876fd21551c510188728229dde577202e4f1bea2e8dd0b[...].jpg293 Кб, 700x849
SICP тред /sicp/ #6 /sicp/ 1404382 В конец треда | Веб
Продолжаем обсуждение лучшей книги всех времен и народов, а так же одноименных лекций. Приглашаются сюда как новички, ломающие над ней голову, так и опытные ребята, прошедшие ее всю (или большую ее часть).

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

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

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

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

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

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

Для изучения языка-схемы порекомендую первые две главы https://www.scheme.com/tspl4/
Слоником в итт называют книгу The little schemer (но мне он не зашел из-за слишком своеобразной подачи материала).
3 1404394
>>04382 (OP)
Есть замечательный список книг по ФП - http://alexott.net/ru/fp/books/
4 1404803
вкатываюсь, наслаждаюсь первыми победами над задачами, проникаюсь
Сначала читал оригинал, потом переключился на русский перевод и натолкнулся на различия в русской и оригинальной книгах, когда проверял ответы к задаче 1.11
В русском переводе:
f(n) = n, если n < 3, и f(n) = f(n−1)+f(n−2)+f(n−3), если n ≥ 3.
в оригинале
f (n - 1) + 2f (n - 2) + 3f (n - 3) if n ≥ 3.
Различия не принципиальные сейчас, всего-то коэффициентов добавили в формулу убрали, но настораживает, что будет дальше?
5 1404817
>>04803
Да, там есть такие хуй-пойми-к-какой-телеге различия. Лучше читать оригинал, а если что-то непонятно - перечитывать на русском, например.
screen.png25 Кб, 781x196
6 1404820
>>04803

>Сначала читал оригинал, потом переключился на русский перевод и натолкнулся на различия в русской и оригинальной книгах, когда проверял ответы к задаче 1.11


>В русском переводе:


>f(n) = n, если n < 3, и f(n) = f(n−1)+f(n−2)+f(n−3), если n ≥ 3.


>в оригинале


>f (n - 1) + 2f (n - 2) + 3f (n - 3) if n ≥ 3.


Ничего подобного. В обеих книгах все одинаково. Приложил скрин английского 2-го издания. Русское 2-е издание держу в руках...
7 1404821
>>04820
>>04803

>f (n - 1) + 2f (n - 2) + 3f (n - 3) if n ≥ 3.


Не туда смотрел. Подумал что ты про то, что в английской версии нет условия f(n) = n, если n < 3. Ты же это не написал. И незаметил, что в русской версии нет 2f и 3f.
8 1405128
>>04803
Да, это опечатка/ошибка набора, каковых в русском переводе дохуя. Сам перевод хорош, но вот эти тупые опечатки всё портят. Иногда мне кажется, что финальный текст русского перевода заставили набирать пучок студентов за зачёт по ЯПМТ.
9 1405288
Есть что то по ООП от MIT Press, в духе SICP и HTDP?
10 1405314
>>05288

>2019


>ООП

11 1405347
>>05314
Уась, большинство мейнстримных языков являются типа ООП-языками (Java, C#, Python, Ruby, PHP, C++). Хочу найти пособие как на них писать, используя классы, интерфейсы, - вот это вот всё. Только руководство хочу в духе СИКП и HTDP.
12 1405354
>>05347
Ну в хтдп есть целая глава про это, например. Little typer еще какой-нибудь наверни, если от MIT Press хочется.
13 1405373
>>05354

>Ну в хтдп есть целая глава про это


Про что? Я просто не читал, читал только СИКП.

Мне нужно не просто теорию ООП, а то как писать на языках вроде C#. Именно практическое руководство. И чтобы авторы были адекватные инженеры, с опытом и в ФП и в ООП. Не читаю авторов, которые пишут "ООП это абстракция, наследование, полиморфизм". Скорее всего такие авторы не понимают ООП, и не понимают как писать на языках с классами, а просто повторяют заученные слова.

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

Адекватный автор должен показывать как решать задачи используя классы, какие задачи так лучше решаются, в каких случаях такой подход неудобен, и показывать альтернативу, сравнивать с ФП.
14 1405381
>>05288
Не знаю, но от чувака, который настоятельно рекомендовал SICP можно было услышать, что вторая обязательная для прочтения книга - Code Complete. Только в начале там много воды и не стоит забрасывать ее из-за этого.
15 1405417
>>05373

>Про что?


Про состояние и объекты: https://htdp.org/2003-09-26/Book/curriculum-Z-H-1.html#node_toc_start

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


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

>показывать альтернативу, сравнивать с ФП.


Предлагаю тебе прочитать книжки Егора Бугаенко - там нет никаких альтернатив и никакого сравнения, там как раз максимально фанатичный (и весьма неортодоксальный) взгляд на ООП. А потом самому сравнить и сделать выводы (цель книги именно такая) - раз ты сикп прочитал, то у тебя достаточно знаний и навыков для этого.
Сижу дома думаю чем заняться Толя Маркин 16 1405521
Если я прочитаю эту книгу я что смогу делать?
17 1405522
>>05521

>Если я прочитаю эту книгу


Если ты прочитаешь книгу по математике что сможешь делать?
# OP 20 1409547
Ну что, второй день подряд занимаюсь. В данный момент остановился на 89 странице из 565, лол; что равняется примерно 16% книги. Утешает то, что первые 10% я прошел за 4 дня, т.к. темы были схожие с htdp второй версии и темы идут в другом порядке, т.е. еще будут темы, которые я раньше полноценно прорешивал и разбирался, но в этой книге их еще не было, т.е. быстрые рывки будут. А так продвигается все, даже тупых вопросов сюда не задаю, как вы видите. Структуры просто охуительно расписаны в сравнении со второй частью книги. Так что рекомендую всем начинающим не ебсти голову, не лезть в сикп или зеленого слоника, а просто брать первую версию htdp и прорешивать ее. Такие дела.
21 1409573
>>09547
Все задачи решаешь? Я немного и не понял: ты читаешь SICP, а советуешь HTDP?

Алсо, тоже начал сегодня читать. В ленивом темпе 17 задачек прорешал(немного вру, ибо половину "устных" задач пропустил), это 59 страница из 596.
22 1409583
>>09573
Нет, он пробовал sicp, little schemer (слоник) и еще что-то - ему не зашло. Теперь занимается по htdp.

Раз пошла пьянка с отчетами, напишу и я свой, который никому нахер не вперся.
Прорешал первые 3 главы SICP. Вцелом неплохо, местами интересно, местами материал был и так известен (формо-крудошлеп я), местами упражнения подзаебывали. Могу поставить за эти главы 4 звезды из 5 (так как не понял от чего весь этот культ вокруг книги, возможно были просто завышенные ожидания). Но для вправки мозгов годится.

Пока откладываю ее в сторонку и буду дочитывать оставшиеся книги из списка, который Кирюша-хекслет составлял. Потом надо будет работку сменить, и уже после, возможно , вернусь и буду писать свой интерпретатор, проходя 4 и 5 главы.
23 1409586
>>09583
Я же после SICP'а хочу Кострикина прочитать, хотя бы первые две книжки, как в ШАДе советуют, а помимо него Зорича с Демидовичем. Зорича немного читал, как и Кострикина. В принципе, ничего сложного нет, но на это нужно много свободного времени.
После хочу плотно заняться алгоритмами. "Грокаем Алгоритмы" я практически всего осилил, мне даже было скучновато, а вот с Корменом уже посложнее, там тупняки на пару часов.
Можно параллелить всё это дело, конечно же.

А интерпретатор/компилятор я скорее всего тоже не буду писать, если я захочу его запилить - я открою магическую книгу дракона.
24 1409592
>>04382 (OP)
Реквестирую книги по программированию на scheme. Не сам sicp, а именно про scheme.
# OP 25 1409599
>>09573
Я решаю первую версию htdp; вторая версия не пошла, т.к. структуры там слишком по уебански объясняют, точнее вообще почти не объясняют. sicp совсем не пошел, т.к. я вообще с полного нуля пытался ее решать. Задачи решаю все, некоторые не получаются, но не из-за моей тупости, а то, что просто не могу понять, что от меня хотят - сложности перевода с инглиша.
>>09592
Первая версия htdp. Говорю это как человек, который до нее пытался сначала sicp, потом зеленый слоник, потом книжка со второго поста в этом треде - в самом конце поста, потом htdp второй версии и только после них, пятой книгой была htdp первой версии, которую тебе и советую.
# OP 26 1409601
>>09599
Да, для самого начала можно первые 2 главы той книги, со второго поста прочитать. А дальше там идет углубление в сам язык, а не в обучение программированию.
image.png238 Кб, 650x423
27 1409697
>>09599

>но не из-за моей тупости, а то, что просто не могу понять, что от меня хотят

28 1409701
>>05627
Анон, дай фул плесс
30 1409724
Тред порадовал, молодцы ребята. Радует, что дело живет и не загибается.
Мимо ОП вот этого корявого треда: https://2ch.hk/pr/arch/2017-04-25/res/903354.html (М)
# OP 31 1409909
>>09697
Звучит прикольно, согласен. Я к тому, что не из-за тупости в программировании, а из-за тупости немного в другом :З
32 1409926
>>04382 (OP)

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


А есть смысл брать упражнения сикп и выполнять их на другом языке программирования?
33 1409933
>>09724
О, привет, а я ОП первого возрожденного треда, после тебя, лол
Шапка треда - моя, например.
34 1409945
>>04382 (OP)
Где-то натыкался на такое мнение, что SICP идет очень тяжело потому, что с определенного момента требует знаний по теме (в частности математику). Что там еще желательно параллельно осиливать чтобы освоить книгу?
1ZGjEDn.jpg172 Кб, 1280x720
35 1409957
>>09926
Мало смысла. Делай на Racket/Scheme

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

Осилить надо документацию по установке Racket и пакета sicp к нему. Все остальное в книге рассказывается прежде чем дать задание.

Вот гайд https://guides.hexlet.io/how-to-learn-sicp/
36 1409960
>>09957
А repl.it чеп плох для запуска кода?
37 1409963
>>09960
Может тебе и не плох, я ведь не знаю что тебе больше подходит.
У меня есть необходимость держать код на локалке, трекать гитом, заниматься иногда в оффлайн-моде.
38 1409967
>>09586
Дракон - вообще про другое, и в целом там абсолютно устаревшая неактуальная хуйня.

мимо
39 1409968
>>09592
Просто берешь стандарт и читаешь, ссылка где-то в треде была (оп его тоже читал).
40 1409969
>>09926
Зачем?
41 1409976
>>09717
Здоровья тебе мил человек
42 1410002
>>09969
А нахуй мне поперек языка который я и так не идеально знаю, еще и учить схему?
43 1410003
>>10002

>учить схему


Все, что тебе понадобится в плане синтаксиса для изучения учится за пару минут.
44 1410007
>>10003
То есть я не захломлю свой мозг кучей нового синтаксиса ?
Ну ладно, спасиб
45 1410011
>>10007
Рискуешь получить скобочки головного мозга.
46 1410015
>>09967
Почему же?
Принципы построения компиляторов остались такие же.
47 1410037
>>10011
Стоят в очереди в столовой джавист, питонист и php-шник. Первой пришла очередь джависта, и он говорит:
- Дайте мне Борщ борщ нью Борщ.
Питонист как начал над ним угарать, и заказывает громко:
- Мне борщ - и шепотом прибавил - еще деф пюрешка (селф, котлетки).
Взял свой заказ и ушел. Последний подходит php-шник и говорит:
- А у меня с собой - достаёт контейнер с говном и начинает жрать.
49 1410197
>>10037
А потом подходит лиспер и говорит:
- )))))))))))))))))))))))))))
50 1410215
>>09926
Есть реализация
На питоне: https://wizardforcel.gitbooks.io/sicp-in-python/content/
На JS: https://www.comp.nus.edu.sg/~cs1101s/sicp/
Может еще на каких языках есть, хз.
51 1410476
>>10015
Нет, не остались. Читай пейперы микрософтовской команды по модульным компиляторам. В драконе вообще парсер полкниги пишут, meh.
52 1410545
>>10215
спс
53 1410610
>>10215
Есть ещё самый православный вариант, на Clojure: http://www.sicpdistilled.com
54 1410633
Тут есть хоть один человек, который прошел книгу?
55 1410647
>>10633
Да.
56 1410762
Ребята, кто читал Lisp in small pieces aka интерпретация Лиспа и Scheme? Как запустить код из первой главы? Не хватает нескольких функций как я понял, atom? и еще несколько, но в книге о них не слова. Как быть?
57 1410862
>>10762
Я по диагонали прочитал, но охуел от сложности, попытки запускать код бросил после первых же провальных попыток. Схема, в конце концов, простой язык, её можно в голове "запускать".
По идее, atom? тебе должна предоставлять нижележащая лисп-система, на которой ты всё пишешь.
А вообще, нахуя ты эту книжку читаешь? Собираешься свой компилятор Scheme писать?
Курильщикам трудно без плана.mp410,7 Мб, mp4,
640x352, 2:27
# OP 58 1410909
Бля, прорешаю htdp, куплю себе гитару. Правда чувствую это не раньше нового года будет. ебать я нажрался сейчас...
59 1411086
>>10909
Купи прямо сейчас. ITAOTS сможешь на следующий день проиграть.
60 1411172
>>10909
Зачем HTDP? Просветления все равно не получишь, а SICP после него не легче.
61 1411179
А есть htdp на русском?
# OP 62 1411276
>>11086
Да не, и так много соблазнов, да отвлекающих факторов. ITAOTS - шо цэ за хуйня? Гугл молчит.
>>11172
Сикп слишком сложно, да и хтдп нихера не легкая, но все-таки продвигаюсь и получается. И просветление как раз получаю в каждой теме глаза открываются на что-то новое.
>>11179
Я английскую читаю, с переводчиком.
63 1411291
Кстати, а ведь можно попробовать попереводить хтдп, хм...
64 1411704
>>11291

>попереводить хтдп


Лицензия не позволяет сделать это легально.
65 1412208
Представим, что мы дефайним функцию с переменным числом аргументов:

(define (dvach oldfag . newfags))
(dvach anon slavik karasik)

Почему когда я вызываю (cdr newfags), то результатом получаю ((karasik)), а не (karasik) проверено в отладчике?

Код: https://pastebin.com/g6UedM37
66 1412218
>>12208
Ах, да, делаю все на ракете, может быть, это важно.
67 1412224
>>12208

> Почему когда я вызываю (cdr newfags), то результатом получаю ((karasik)), а не (karasik)


Потому что ты вызываешь свою parity криво. У тебя вторым аргументом становятся не значения из списка l, а сам список. Если хочешь передавать произвольный список аргументов, надо юзать apply: https://docs.racket-lang.org/reference/procedures.html?q=apply#(def._((lib._racket/private/base..rkt)._apply))
Пофиксил твой кот: https://pastebin.com/4gTT8RgB
68 1412225
>>12224
Большое спасибо, бро.
69 1412254
А чем вас дрэгонбук не устраивает?
мимокрок
70 1412259
>>12224
Можно код подсветить: https://pastebin.com/D3HgyEb2
71 1412260
>>09945
SICP руинит программирование для многих как область деятельности.

More generally, SICP doesn’t state how to program and how to manage the design of a program. It leaves these things implicit and implies that students can discover a discipline of design and programming on their own. The course presents the various uses and roles of programming ideas with a series of examples. Some exercises then ask students to modify this code basis, requiring students to read and study code; others ask them to solve similar problems, which means they have to study the construction and to change it to the best of their abilities. In short, SICP students learn by copying and modifying code, which is barely an improvement over typical programming text books.

SICP’s second major problem concerns its selection of examples and exercises. All of these use complex domain knowledge. ... Some early sections and the last two chapters cover topics from computer science ...

While these topics are interesting to students who use computing in electrical engineering and to those who already have significant experience of programming and computing, they assume too much understanding from students who haven’t understood programming yet and they assume too much domain knowledge from any beginning student who needs to acquire program design skills. On the average, beginners are not interested in mathematics and electrical engineering, and they do not have ready access to the domain knowledge necessary for solving the domain problems. As a result, SICP students must spend a considerable effort on the domain knowledge and often end up confusing domain knowledge and program design knowledge. They may even come to the conclusion that programming is a shallow activity and that what truly matters is an understanding of domain knowledge. Similarly, many students lack an understanding of the role of compilers, logical models of program execution, and so on. While first-semester students should definitely find out about these ideas, they should do so in a context that reaffirms the program design lessons.

In summary, while SICP does an excellent job shifting the focus of the first course to challenging computer science topics, it fails to recognize the role of the first course in the overall curriculum. In particular, SICP’s implicit approach to program design ideas and its emphasis on complex domains obscures the goal of the first course as seen from the perspective of a typical four-year curriculum.

Он вреден как опыт для тотальных нубов. Поэтому то его даже в MITе изучают далеко не сразу, а лишь с пункта 6.037 курса.
71 1412260
>>09945
SICP руинит программирование для многих как область деятельности.

More generally, SICP doesn’t state how to program and how to manage the design of a program. It leaves these things implicit and implies that students can discover a discipline of design and programming on their own. The course presents the various uses and roles of programming ideas with a series of examples. Some exercises then ask students to modify this code basis, requiring students to read and study code; others ask them to solve similar problems, which means they have to study the construction and to change it to the best of their abilities. In short, SICP students learn by copying and modifying code, which is barely an improvement over typical programming text books.

SICP’s second major problem concerns its selection of examples and exercises. All of these use complex domain knowledge. ... Some early sections and the last two chapters cover topics from computer science ...

While these topics are interesting to students who use computing in electrical engineering and to those who already have significant experience of programming and computing, they assume too much understanding from students who haven’t understood programming yet and they assume too much domain knowledge from any beginning student who needs to acquire program design skills. On the average, beginners are not interested in mathematics and electrical engineering, and they do not have ready access to the domain knowledge necessary for solving the domain problems. As a result, SICP students must spend a considerable effort on the domain knowledge and often end up confusing domain knowledge and program design knowledge. They may even come to the conclusion that programming is a shallow activity and that what truly matters is an understanding of domain knowledge. Similarly, many students lack an understanding of the role of compilers, logical models of program execution, and so on. While first-semester students should definitely find out about these ideas, they should do so in a context that reaffirms the program design lessons.

In summary, while SICP does an excellent job shifting the focus of the first course to challenging computer science topics, it fails to recognize the role of the first course in the overall curriculum. In particular, SICP’s implicit approach to program design ideas and its emphasis on complex domains obscures the goal of the first course as seen from the perspective of a typical four-year curriculum.

Он вреден как опыт для тотальных нубов. Поэтому то его даже в MITе изучают далеко не сразу, а лишь с пункта 6.037 курса.
72 1412271
>>12259
А можно бобра нарисовать: https://pastebin.com/ZGZDLRub
73 1412277
>>12260
Че пиздишь, сикп это вводный курс в мите
74 1412283
>>12277
С разморозкой!
75 1412286
>>12260

> SICP doesn’t state how to program and how to manage the design of a program.


Wat

> SICP students learn by copying and modifying code


Wat

> They may even come to the conclusion that programming is a shallow activity and that what truly matters is an understanding of domain knowledge.


Wat

Лично для меня, прочитавшего пока что сотню с лишним страниц, главной пользой книги оказалось то, что я научился адекватнее выстраивать иерархию кода и куда реже пишу одни и те же куски по много раз.
76 1412292
>>12283
Что с разморозкой, там просто лисп сменили на питухон, суть таже самая.
77 1412416
>>12260

>programming is a shallow activity and that what truly matters is an understanding of domain knowledge


Абсолютно верно, что не так-то?

Алсо, шизанутая какая-то паста, физику блядь учить для сикпа, ну-ну.
78 1412419
>>12416
Тоже прикололо. Как они собрались прогать не зная доменной области. "Типа ну мен тимлид сказал тут кнопку прихуярить - ща ебана подожжи".
79 1412422
>>12292
Неа. Они это даже обосновали при переходе.
Computer Science.gif2,4 Мб, 320x240
80 1412425
>>12260
Computer Science is a terrible name for this business. First of all, it's not a science. It's also not really very much about computers.
Это всё магия.
81 1412601
Не знаю как обстоят дела в мите, а в беркли все еще учат ентот ваш сикп с питухоном
https://cs61a.org/
# OP 82 1413134
Тут решил более четко следить за своим образованием, посчитал страницы и прочую хуйню. Короче вторую версию хтдп я прошел на 21% и бросил, т.к. ебаные структуры описывались очень плохо. Сейчас прорешиваю первую версию хтдп и прорешал ее на 20%. Но темы идут в другом порядке, допустим к этим 20% структуры разобрали, а к тем 21% второй версии структуры только начинаются. Сейчас по рекурсии и спискам не было ничего, с биг-бангом еще не сталкивался. Одним словом будут еще быстрые рывки в этой книге, когда будут темы, которые я проходил и полноценно разобрался, к слову сейчас списки с намеками на рекурсию начались. А так если тема незнакомая то 0.5% книги в день прохожу, если знакомая то до 3% в день доходит. Такие вот дела.
83 1413148
А по данной теме будет полезна вот эта книга:
https://habr.com/ru/post/306982/
?
84 1413169
>>13148
Ни в коем случае не будет.
85 1413170
>>13148
Обязательно будет.
86 1413173
>>13148
Не знаю, может быть.
87 1413218
>>13148
Можно ещё раз задать вопрос?
88 1413239
>>13218
Ни в коем случае.
89 1413240
>>13218
Можно, конечно же.
90 1413241
>>13218
Наверное.
91 1413266
>>13239
>>13240
>>13241
Хуй будешь?
92 1413375
>>13266
Никак нет.
93 1413379
>>13266
Да, буду.
94 1413390
>>13266
Может быть.
95 1413702
>>13169
>>13170
>>13173
>>13218
Ты больше не мой босс
96 1413705
>>04382 (OP)
Блин, у меня есть фетиш, если это можно так назвать, коллекционировать книги связанные с технологиями/программированием. Но дочитывать я их не дочитываю нихуя. Просто приятно наблюдать как на полке находятся
97 1413713
>>13705

Все нормально, так делает 99% зк.
98 1413717
>>13705
Для этого даже термин есть, "полочное порно".

Тоже этим грешу, особенно когда речь идет о комиксах.
99 1413736
>>13717
Раньше у интеллигенции было принято целые библиотеки дома держать.
100 1413755
Как быстро вами читается SICP? Неделя упорных упражнений у меня вышла всего лишь в 20 страниц.
101 1413761
>>13755
Испражнений ты хотел сказать?
20 страниц в час как бе
102 1413765
>>13761
Я обожаю заходить на двачи, чтобы видеть таких вот гениев. Когда я вижу существование подобных людей практически вживую, я понимаю, что мне еще есть куда расти.

Анон, расскажи мне, как ты учишься, если тебе не трудно.
103 1413767
>>13765
Мозгом, дальше.
104 1413786
>>13755
Первую, обязательную, половину книги (главы 1-3) можно в неспешном темпе прорешать за 2-3 месяца (по 3 часа в день).
105 1413796
Что это блять за язык и зачем он нужен? Вакансий же 0
106 1413799
>>13796
Сука, это же книги! Ебать я долбоеб
107 1413856
>>13755
За неделю, максимум две, можно разобрать первые 3 главы.
108 1413888
>>13856
Первые 3 главы это 225 упражнений. Допустим, ты прорешиваешь не все, оставим 200. Возьмем срок 2 недели - это 14 дней. Тогда в день надо решать около 14 упражнений. В среднем программист может продуктивно работать часов 6 в день, но возьмем 8 (и это без учета перерывов). 8 часов - это 480 минут. 480 / 14 - что выходит около 34 минут на упражнение. И это только упражнения, без прочитывания теории или просмотра лекции. Так что крайне маловероятно.
109 1413900
>>13888
Там куча упражнений, которые делаются за менее чем 5 минут устно или на листочке, а в первой главе так вообще нет ничего стоящего, можно потратить день на нее для ознакомления с языком.
аа.jpg33 Кб, 640x640
# OP 110 1413937
>>13900

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


Твое ебало, когда даже половины первой главы не осилил и бросил :З
111 1414236
Вот мне интересно, например упражнение 1.10, есть те, кто расписывал на листочке вызовы (A 3 3)? Просто, иногда возникает вопрос, авторы хотят чтобы я вбил это в терминал, или, как в 1980-х, чтобы сам прорешал на листочке.
112 1414244
Вы што ебобо нахуй вам лисп, когда есть сикп с питухоном
113 1414768
>>13937
Зря. Тебе просто нужно было поставить срок (2 дня например) на решение задача и если не решил, то залезть в ответы.
# OP 114 1414792
>>14768
Да я в самом начале обучения пытался его читать. Вообще не понимал, что происходит, пытался решать на бумаге, а не в программе и т.д. Сейчас-то скорее всего первую главу вытяну, если решать начну, но прорешиваю хтдп и бросать пока не планирую.
115 1414793

>лучшей книги всех времен и народов


челы не осиливают первую главу
116 1414852
>>14792
Попробуй реализацию на другом языке посмотреть. Схема уебская, черт ногу сломит с этими скобками, а синтаксис этот тебе нигде больше не пригодится все равно. Там все равно вся фишка книги не в схемолиспах.
117 1414887
>>14852
Откуда вы такие беретесь, ппц.
118 1414896
>>14887
Весеннее обострение, поди плавно перетёкшее в летнюю ебанцу
Снимок экрана от 2019-06-11 18-57-45.png73 Кб, 1366x768
119 1414898
Аноны поясните почему repl.it не выполняет вычисление модуля числа. Я просто совсем начинающий и не знаю даже как может не работать даже код из учебника. Заранее спасибо.
120 1414919
>>14898
(abs -5)
121 1414949
>>14852
Ну вот как раз со схемой-то я более-менее и разобрался, и хтдп на ней же прорешиваю.
# OP 122 1415019
Рапортую. Занимался я понемногу в мае и по сегодняшний день июня. Был перерыв с января, когда хтдп я прорешал на 10%. Сейчас делаю очередной перерыв, т.к. мозги закипели. Сейчас книга прорешана на 25% - ЧЕТВЕРТЬ КНИГИ. Радует то, что все вполне получается. Думаю к началу-середине июля вернусь в обучение.
Выделение001.png9 Кб, 579x148
123 1415122
я не могу понят.
Неужели нельзя сделать так чтобы cond выводил мне две переменные? Где ошибка?
124 1415133
>>15122
(list x y)
125 1415239
>>14887
Какие "такие"? SICP не просто же так перестали на схеме преподавать?
126 1415252
>>15239
Вон человек выше даже не знает, как вернуть две переменные на этом языке, а вот в питоне бы сразу написал:

> return x, y


и все бы заработало
Выделение003.png38 Кб, 632x420
127 1415265
Почему программа автоматически мне выделает данные строки в ракете? Вроде ведь все работает
128 1415270
>>15265
Ты уверен, что тебе нужно список вернуть, а не просто число 13?
129 1415272
>>14852

>Там все равно вся фишка книги не в схемолиспах


Пока что не удалось доказать, что использование неучебных языков способно как-то обогатить сикп или хотя бы не обеднить его.
Выделение004.png6 Кб, 577x123
130 1415289
>>15270
точно ведь)

Ну вот вроде как одно из заданий уже решил) Радостно
131 1415339
>>15122
>>15133
Или values, но судя по его вопросам, это для него будет высший пилотаж.
132 1415351
Кстати, написав игруньку для геймджема на Scheme в 1.5 килостроки, и продолжая заниматься этим б-гоугодным делом, я наконец могу сформулировать, почему лиспы ну, схема, по крайней мере на голову выше других языков: волшебное число Миллера никто не отменял даже для погромистов, держать в голове несколько нетривиальных объектов очень сложно для N>5. Погромисты на более других, "промышленных" языках вынуждены, помимо предметной области, держать в голове инфу о выебонах своего языка - о классах, методах, суперклассах, типах, позиционных и кейворд аргументах, эстэдэмапах, кофейных бобах и прочей хуете, за счёт чего разработка на таких языках крайне часто скатывается в суходроч на инструменты и написание болейрплейта вместо решения актуальных проблем бизнеса. На лиспе у тебя почти нихуя нет, кроме скобок и функций, приходится думать не обо всякой хуйне, которую понавыдумывали для тебя создатели языка (типа "ох, что бы мне тут применить, наследование, композицию через указатель, или может абстрактный proxyfactorybeanwrapper"), тебе не остаётся ничего другого, кроме как думать об актуальной задаче у тебя на руках. После 10+ лет дрочьбы на более распространённых языках это вообще волшебное чувство, у меня никогда такого раньше не было.
133 1415430
>>15351

На какой схеме пишешь? Почему ракет такой медленный?
134 1415465
>>15430
На ракете. Не знаю, у меня всё быстро. Хотя время запуска долгое, прямо как у явы, потому что там в стандартной библиотеке дохуя всего. А щас к лету в ракетке окончательно перепилят ядро на Chez, и будет вообще n1 в бенчмарках.
135 1415706
В русской версии страниц меньше чем в английской потому что она 2006 года, а английская 2016? Или еще почему? И важно ли это?
136 1415712
>>15706
Я дропнул русскую после неточности в одном из заданий. В английской к тому же и шрифт и вцелом оформление поприятнее.
137 1415753
>>15706

>потому что она 2006 года, а английская 2016?


Нет.

> И важно ли это?


Если не владеешь ангельским, русский перевод пойдёт.
138 1415915
Почему нет такого же треда по алгоритмам Кормена? Сделайте, а то я заебался их в соло дрочить.
139 1415942
>>15915
Сложнаааа
а большинству формошлепов и не нужно то особо
140 1415954
>>15942
В тредах отчитываются, уже у верстальщиков спрашивают алгоритмы.
141 1415961
>>15954
В Яндекс, мэйл, 2гис или подобное?
Тогда могу и поверить.

В остальные - нет. Может как самый максимум у версталы спросят сортировку пузырьком и то чисто поржать. Никто балансировать дерево не заставит.
142 1416075
>>15961
Я хуй знает, я пока только анонов спрашиваю. Выучу алгоритмы, матан, дифгеом, мехмат, молекулярку, сделаю свою копию двача и лицокниги, потом устраиваться буду.

Ну не верстальщиком ладно, js-программистом, реакто-дрочилой. Там спрашивают. Вы все равно уже все прочитали и просто на аниме-девочек тут дрочите. Давайте сделаем тред.
143 1416085
>>16075
Меня не спрашивали, а я работаю js-макакой. Но, правда, далеко не в топ компании. Да и давненько на собеседованиях не был.

P.S. вместо Кормена лучше бы Скину читал. Тут к примеру его рекомендуют https://teachyourselfcs.com/
144 1416090
>>15954

>уже у верстальщиков спрашивают


А то верстальщик не формошлеп, занимающийся тупой неинтересной хуйней.
145 1416123
>>16075
я лично грокаем алгоритмы читаю, двач посоветовал
тоже воннаби фронтэндер
146 1416403
>>16075

>Вы все равно уже все бросили и просто на аниме-девочек тут дрочите


Поправил.
147 1416520
Где я объебался?

Я хочу выяснить процент изменения величины guess. Дайте намек.
148 1416523
>>16520
Чисто так, с потолка, по-идее у тебя будет сравнение двух чисел. Ну и отними от большего меньшее. Потом большее подели на 100 и полученное число умножь на разницу этих чисел.
( (- х у) (/ х 100))
Хотя скорее всего я хуйню написал, т.к. не вникал в задачу.
оп*
149 1416524
(* (- х у) (/ х 100)) ебаный бб-код. если окажется так, что допустим У меньше икса, там через модуль можешь сделать, чтобы положительный ответ был, ну разница эта ебаная
150 1416526
блядь, У больше икса. че-то я туплю. по ходу мозги отключились, т.к. занятия бросил
151 1416530
>>16520
Открыл своё решение двухгодичной давности, и увидел вот такое:
код не смотри, намёк ниже
(define (good-enough? guess new-guess)
(< (abs (- guess new-guess)) 0.000001))

т.е. я просто сравниваю модуль разницы guess и нового x с очень маленьким числом.
152 1416596
>>16520
>>16530
newGuess/guess - получается процент от 100% (где 100% = 1), смотрите когда это процент меньше epsilon
153 1416612
>>16530
как бы способ определения я итак понимаю. А как подобную вещь интегрировать к код? как интерпретатор будет определять когда возникается new-guess если изначально он оперирует с guess и x.
изображение.png20 Кб, 487x236
154 1416613
вот. То есть понятно как написать такую процедуру. Но как ее впихнуть?
изображение.png26 Кб, 556x275
155 1416629
блин все еще мучаюсь
156 1416653
>>16612
Она уже "интегрирована", в коде из книги вызывается функция good-enough?. Зачем ты ввёл новую функцию compare, непонятно, тех функций, которые были в данном тебе коде, достаточно для решения задачи.

> изначально он оперирует с guess и x


Интерпретатор кстати, может быть и компилятор "оперирует" с тем, чем ты ему указываешь. Назовёшь переменную x - будет переменная по имени x, назовёшь new-guess - будет new-guess.

Подсказка для тебя: в теле функции sqrt-iter значение следующей итерации (то самое new-guess) понадобится два раза, поэтому логично положить его сначала в переменную, чтобы два раза не считать. Переменные в Scheme можно определить с помощью define, дальше, надеюсь, сам справишься.

> возникается
Ууу, братюнь, тебе не сикп надо читать, а учебник по русскому для начала. А вообще, норм троллинг тупостью, я аж чуть не порвался.
157 1416670
>>16653

>троллинг тупостью


Сколько раз я слышал в день я слышал эту фразу, когда только начинал обучение.. прям на душе потеплело от ностальгии :З
мимо оп
158 1416759
>>16653
Ну ебана я если семь лет в чехии живу то это явно искажает мой русский немного

Ваще конечно спасибо. Я не троллю, просто для меня всё программирование это вообще темный лес. Наверное программистам это трудно понять...
159 1417273
Бля не читайте эту хуйню, потом работать на крудах не сможете. А ничего другого нет.
160 1417298
>>17273
Что мешает писать круды на лиспе?
161 1417415
>>17298
отсутствие работы, очевидно же
162 1417416
>>17298
алсо сикп не про лиспы а про идею создания абстракций по большей части, поэтому круды на лиспе будут такие же унылые, просто синтаксис другой
163 1417452
>>17416

>круды на лиспе будут такие же унылые


Нужно просто (define-syntax crud...
164 1417527
>>17273

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

165 1418714
ну и как решить это с помощью итеративного процесса?
((
166 1418726
>>18714
хранить в параметрах 3 значения f
15142286142860.png240 Кб, 738x405
167 1422189
Упражнение 1.5. Бен Битобор придумал тест для проверки интерпретатора на то, с каким порядком вычислений он работает, аппликативным или нормальным. Бен определяет такие две процедуры:
(define (p) (p))
(define (test x y) (if (= x 0) 0 y))
Затем он вычисляет выражение
(test 0 (p))
Какое поведение увидит Бен, если интерпретатор использует аппликативный порядок вычислений? Какое поведение он увидит, если интерпретатор использует нормальный порядок? Объясните Ваш ответ. (Предполагается, что правило вычисления особой формы if одинаково независимо от того, какой порядок вычислений используется. Сначала вычисляется выражение-предикат, и результат определяет, нужно ли вычислять выражение-следствие или альтернативу.)

Бле чёт я не догоняю нафига в р р в скобки берёт и что это должно значить?
И так же непонятно как тест будет работать. Компилятор у меня тупо виснет, когда я этот код забиваю.

Решил посмотреть что в оригинале и задание не нашёл. Чё столько отличий-то??? Я думал это просто перевод, а тут какая-то адаптация для йоддефицитных. Какая из книг более актуальна? С учётом слабого английского.
168 1422203
>>22189

>Решил посмотреть что в оригинале и задание не нашёл


Есть оно там точно под таким же номером. Открой в конце книги указатель на все упражнения и перейди по нему, если так найти не можешь.

Если p - процедура, то тогда (p) - вызов процедуры, очевидно же

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


Ну все верно. В нашем случае с апликативным порядком оно и будет зацикливаться, т.к. будет бесконечный вызов процедуры, а вот при нормальном - оно бы просто выдало 0

Вникай лучше в текст перед упражнениями
169 1422207
>>22189
Если порядок аппликативный то кал застрянет в бесконечном цикле определения функции p потому что в строке (test x y) (if (= x 0) 0 y) сразу подставит ноль и p, а потом полезет в p (надо ж её раскрыть, мы же у мамы аппликативные) и там задохнётся.
А если нормальный то он сначала проверит равен ли икс нулю (а он равен), перейдёт к возврату нуля и в рот он хотел ебать что там за p такое дальше стояло.
Это по сути иллюстрация фразы "не лезь бля дебил сука ебаный" только на схеме.
170 1422210
>>22203
>>22207
с тестом понятно.
Но при дефане р вызывает саму себя? А компилятор не должен уже тогда сдохнуть?
171 1422213
>>22210
Нет, это ведь просто объявление процедуры, а вызовет она саму себя только после того как ее кто-нибудь вызовет.
172 1422214
>>22210

>Но при дефане р вызывает саму себя?


Это хороший вопрос. Поразмыслим логически. Во-первых если бы он вызывал, то могла ли программа работать так, как задумано? Во-вторых (хотя это самое главное), а зачем и самое главное КАК ему вызывать функцию в дефиниции? Чтобы её вызвать. нужны аргументы, верно? А где ты возьмёшь аргументы, если ты пытаешься функцию вычислить прямо в определении? Нигде. Следовательно и делать этого не нужно.
На самом деле есть такая штука как "синтаксический анализ", и компилятор может анализировать синтаксис кода до его выполнения, НО обрати внимание что чисто синтаксически выражение (define (p) (p)) совершенно легитимно.
173 1422215
>>22213
а ок спс
А что по варианту книги какой лучше читать? Если слабый английский
174 1422220
>>22215
Если слабый английский то без вариантов.
175 1422221
>>22215
Не знаю. У меня средний-выше среднего. Мне русскую версию не так комфортно было читать (шрифт, оформление), поэтому занимался по той, что с гитхаба от sarabander.
14438888233830.png18 Кб, 400x450
176 1422241
>>22220
>>22221
ясно спс
ezgif-3-43ec33edb8.gif2,8 Мб, 200x341
177 1422333
HTDP читать лучше сразу вместе с sicp или они взаимозаменяемый?
178 1422364
Закончил 11 класс, по проге знаю мало, писал только регер, парсер и спамер. Но очень хочется подрочиться в сикпе, что нужно знать для норм входа?
14493578285000.gif2,6 Мб, 400x320
179 1422365
Упражнение 1.6. Лиза П. Хакер не понимает, почему if должна быть особой формой. «Почему нельзя просто определить ее как обычную процедуру с помощью cond?» — спрашивает она. Лизина подруга Ева Лу Атор утверждает, что, разумеется, можно, и определяет новую версию if:
(define (new-if predicate then-clause else-clause) (cond (predicate then-clause) (else else-clause)))
Ева показывает Лизе новую программу:
(new-if (= 2 3) 0 5) 5
(new-if (= 1 1) 0 5) 0
Обрадованная Лиза переписывает через new-if программу вычисления квадратного корня:
(define (sqrt-iter guess x) (new-if (good-enough? guess x) guess (sqrt-iter (improve guess x) x)))
Что получится, когда Лиза попытается использовать эту процедуру для вычисления квадратных корней? Объясните.

Да объясните плз. Этож вроде нормально для липса использовать процедуры в процедурах в которых используются процедуры и т.д. Все параметры вроде как определены вполне конкретно чё он сука виснет то???

Эт вообще нормально что у меня сложности возникают на таком этапе?
15066093456450.jpg336 Кб, 1200x675
180 1422388
>>22365
нашёл ответ. Я так понял что в обычном иф компил не доходит до
скрт. Но что меня больше интересует главная проблема в том что процедура в своём теле вызывает саму себя, и еслиб не особенности иф она бы нифига не работала. Насколько вообще это справедливо в общем случае? То есть насколько удачная идея вызывать процедуру в собственном теле?
181 1422409
>>22333
HTDP - это типа упрощенный вариант SICP для тех, кто не хочет задачки связанные с математикой. Обычно рекомендуется попробовать SICP, если совсем не идет, то можешь браться за HTDP
182 1422411
>>22364
Уметь читать.
Дальше берешь книгу, устанавливаешь racket и пакет sicp к нему и все. Читаешь, выполняешь упражнения.

вот "гайд" https://guides.hexlet.io/how-to-learn-sicp/
там есть репозиторий для старта
183 1422413
>>22388

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


Это рекурсия - нормальная вещь, если есть условия выхода из нее
В книге все описано
184 1422468
>>22333
Я чисто хтдп решаю, причем первое издание. Если ньюфаг, то наверно лучше его.
оп
185 1422469
>>22333
Скажу с сикподивана, что взаимозаменяемы.
186 1422473
>>22388

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


Вангую там загвоздка в порядке вычислений, ты же выше постил про нормальный и аппликативный порядок, вот при аппликативном сначала раскрываются все аргументы, и если на каком-то моменте пойдёт бесконечная рекурсия, то она пойдёт.
Возможно если бы эта хуйня в нормальном порядке вызывалась то и норм было бы ("возможно" потому что не помню книжного контекста и в книжку лень лезть)
187 1422510
>>22207

>Это по сути иллюстрация фразы "не лезь бля дебил сука ебаный" только на схеме.


Потерпел сокрушительное поражение.
14625809590240.webm7,5 Мб, webm,
400x220, 1:40
188 1422547
>>22413
>>22473
дык понятно что рекурсия интересная практика использовать метод до того как раскрыта его суть, еслиб я был корзиночкой с бостона то после первой же лекции отправился толкать дурь в бронксе. Правильно ли я понял что при рекурсии в лиспе не считая родных процедур типа if и cond если я условия выхода из цикла ставлю ДО вызова процедуры то ничего кроме аутофелляции я не получу?
Т.е. если я сейчас подшаманю в проге из примера и смогу сделать условия выхода после вызова процедуры то она заработает?

>>22468
>>22469
ясненько
189 1422579
>>22547
Я тебе отвечал именно на вопрос про рекурсию

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



касаемо же упражнение тут не только в рекурсии же дело, а как написали выше в порядке вычислений. В данном случае new-if сделана как процедура и поскольку у нас апликативный порядок, то с начала будут вычисляться передаваемые аргументы. Вот тут она и зациклиться из-за вызова sqrt-iter в else-clause нашего new-if.
1VErnGYA.gif319 Кб, 391x400
190 1422655
как в лиспе задать цикл с фиксированным числом повторений?
Я уже просто ору, переменные так неочевидно реализованы, что ебучий счётчик сделать не могу то есть могу, но тогда надо количество интераций при вызове процедуры вбивать.
191 1422659
>>22655

>лиспе


Не нужен.
192 1422804
>>22655

> как в лиспе задать цикл с фиксированным числом повторений?


Эмм… вызвать функцию из другой функции и передать ей количество повторений аргументом, а она будет в конце рекурсивно вызывать себя опять с аргументом на единицу меньшим? Ну так, просто первое что в голову пришло.
193 1422862
>>22804
И вот етой хуйетой пытаются учить погромиромать.
194 1422876
>>22862
Я сегодня делал цикл в sqlite рекурсией, в итоге не осилил как надо было мне нужно было n уникальных случайных чисел, я получал меньше чем нужно и сделал на питоне в одну строчку, но любопытно, что там есть такая возможность.
195 1422904
>>22876
Мой подход был совсем неверным, надо было всего лишь рекурсивно сгенерировать числа от 1 до n, пример чего есть в доках, далее просто order by random() limit k;
А я пытался проверять на каждом шаге рекурсии получил ли я новое число.
196 1422905
>>22862
А в чем проблема? Уж насколько я еблан тупорылый, и то ответ нашёл.
urV6ZJwh.gif383 Кб, 420x420
197 1422961
>>22905
>>22659
>>22862

Мне вот просто интересно мы вообще тут сидим с какой-то же целью не думаю, что двачеры стремятся к сферическому самосовершенствованию. Собственно если вдруг я научусь программировать на этом это хоть поможет при использовании других языков?
198 1422968
>>22961

>мы вообще тут сидим с какой-то же целью


Разумеется, лично я например с целью убить всех людей
199 1422974
Аноны, что можно почитать после СИКПа? Что больше всего подойдет после этой книги?
200 1422982
>>22968
соболезную твоей семье
201 1422994
>>22961

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



Не, тебе уже ничего не поможет с такими формулировками.

А если серьезно, то да (но не французского, лол).
Первые 3 главы - это основы, которые пригодятся с любом случае. Проблема в том, что люди у которых нет опыта это не могут понять и не верят остальным, а те, у которых уже много опыта должны были перерости основы, данные в этих главах. В итоге две категории людей считают, что книга не нужна, только по разным причинам.
202 1422995
>>22974
Дейтелы — Основы программирования на C
203 1422996
>>22995
А если без изучения какого-то конкретного языка?
204 1423000
>>22996
Без языка только алгоритмы, дискретка, бд и всякие рефакторинги с паттернами.
Как тут писали "ну и толку что ты можешь массив отсортировать десятью способами если вывод в файл не осилишь"
205 1423001
Вычеркни бд, sql тоже язык
206 1423004
>>22974
Ты работаешь программистом? Если нет - выбирай сферу деятельности и изучай языки и экосистему для того, чем хочешь заниматься. Ну и можешь заглянуть в этот список книг https://ru.hexlet.io/pages/recommended-books
Если уже работаешь - странный вопрос, ты уже должен был понять, что ты хочешь изучать помимо работы.

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

что-нибудь эдакое? - Теория Категорий (Бартош Милевски)
а по прогать? - haskell (LYHFGG, Haskell Programming From First Principles)
а что-нибудь похожее на лиспы? - clojure (Clojure for brave)
а по хардкору? - TAPL
а еще варианты? - Erlang/Elixir (Learn You Some Erlang for Great Good), Prolog (Learn Prolog now)
207 1423007
>>23004
Не работаю, только выбираю. Спасибо большое, анон!
208 1423015
>>23007
Да не за что. Ну в таком случае те книги по ссылке подойдут лучше, то что я написал уже опосля можешь смотреть.
209 1423017
>>23015
Посмотрел, но большая часть из них у меня уже есть. Просто думал, может есть что-то такое же фундаментальное и похожее на СИКП. Но после него советуют обычно "Чистый код" или "Совершенный код".
15613845862890.jpg53 Кб, 1280x720
210 1423019
>>23017

> Но после него советуют обычно "Чистый код" или "Совершенный код".

211 1423021
>>23017
Для вкатывальщиков самый разумный совет
212 1423826
>>22655

Если не надо передавать состояние между вызовами тела цикла https://pastebin.com/MZvEMGnM
Если надо, то используй reduce, или пиши рекурсивную функцию под конкретный случай.
213 1423875
Вкатываюсь в сикп, поприветствуйте.
215 1423885
>>23878
Привет, школьник.
216 1423886
>>23875
Приветствую
Лвл? Опыт?
217 1423889
>>23886
25 лвл, пацаны сказали вкатывайся в сикп, станешь спецом, ай малаца!
218 1423890
>>23875

Нахуй ты тут пишешь об этом? Всем похуй. Будут результаты - показывай, будут вопросы - спрашивай.
219 1423891
>>23890
Вкатываюсь в комьюнити, завожу друзей. Тебя ебет вообще? Иди одноклассникам рассказывай что им делать.
220 1423900
>>23017
Кстати смотрел скептически на этот совет ещё пару дней назад, но открыл чистый код и и поменял своё мнение.
221 1423901
>>23891
Ты с /soc/ путаешь. Вот там можно и друзей завести, и даже выебать их.
222 1424577
>>23900
Да я вот тоже, посмотрел недавно обзор на "Совершенный код" и преисполнился в своем познании.
224 1425316
>>22547

>не считая родных процедур типа if и cond


if и cond - не процедуры, а особые формы. Если дочитаешь до четвёртой главы, на глубоком уровне поймёшь, что это такое, реализовав их вручную.
225 1425905
А можно я буду использовать не лисп, а питухон например или даже С при изучении сикпа? Мне ентот ваш лисп вообще не заходит, у меня есть опыт вката на С.
14384214381570.jpg59 Кб, 724x726
226 1426310
>>25905
я так понял там весь прикол как раз в том чтоб запилить программу в 3 строки. Большинство заданий в сикпе элементарны если их реализовывать не в лиспе. А так хоть просрёшся маленько
227 1426413
>>24579
Более хуёвого обзора я в жизни ни на что не встречал, надо на этого типа в суд подать.
>>25316
Найс байт на чтение
228 1426683
>>25905

>питухон


Сейчас сикп так и и зучают.
229 1426721
>>26683
Хуй знает что там сейчас, я юзал ссылки из шапки этого треда
231 1426779
>>26310

> Большинство заданий в сикпе элементарны если их реализовывать не в лиспе



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

>>25905
Если с Си у тебя только опыт вката, то я бы не советовал его использовать. Часть заданий СИКПа подразумевает наличие уже готовых фич в языке (замыканий или динамической типизации, например), без которых полноценные решения будет сделать сложнее. Половину третьей главы ты на Си уже не сделаешь (там, где начинаются потоки, реализованные через ленивые вычисления), 4-ю целиком придется пропускать (если только ты не готов сразу написать на сишке полноценный интерпретатор лиспа).
Короче, не мучай себя, выбирай питон.
232 1426923
>>26779

> Короче, не мучай себя, выбирай Racket.


Пофиксил тебя, не благодари.
14491668299702.png652 Кб, 1291x879
233 1427968
Сверх люди подскажите плз как от

>нам требуется доказать, что Fib(n) – это ближайшее целое число к φn/√5, где φ=(1+√5)/2


Приходят к
>Fib(n) = (φn-ψn)/√5, где ψ=(1-√5)/2;
Что ψn вообще такое и откуда оно берётся?
Я думал я программирование учить буду, а не матан.
234 1427972
>>27968
а всё сорян это дробная часть
235 1427998
>>27968
Это разбирают в любом вводном курсе линала.
236 1428021
>>27998
что разбирают?
237 1428161
>>27968
Это не матан, это примитивная довольно алгебра. Вот, почитай в научно-популярном журнале для школьников не троллинг: http://kvant.mccme.ru/pdf/1997/06/kv0697kaleid.pdf
238 1428165
>>28021
Да.
PnM4YRIc.gif127 Кб, 377x350
239 1428213
>>28161
давай порассказывай мне про то что в школе учат. Хотя хз мб в каких-нить московских лицеях детишек и задрачивают.
Мы даж на математической кафедре в нашей шараге золотое сечение и ряды фибоначи мельком проходили и ооооооочень редко оно потом ещё встречалось.
241 1428318
Хочу вкатиться в программирование. Эту книгой одной из первых читать?
242 1428541
>>28318
Программирую 30 лет, из них 20 - за деньги.
Книгу не читал.
243 1428774
>>28318
Я бы рекомендовал начать с первой версии хтдп.
оп
244 1428841
>>04382 (OP)
Пока вы дрочите друг друга в жопы в этом треде, я зарабатываю деньги на веб- и мобильной разработке.
14625799895720.webm991 Кб, webm,
960x540, 0:05
245 1429003
>>28841
еслиб я хотел зарабатывать деньги поехал бы хуячить по вахте на севера или на завод к дяде пете. Всё лучше чем пилить говносайты и никому ненужные приложения на сосифон.

>>04382 (OP)
Ктонить знает как remainder работает? Что он делает я знаю а вот как он это делает?
246 1429275
>>28541

>Программирую 30 лет, из них 20 - за деньги.


>Книгу не читал


А мог бы из них 25, а то и 28 — за деньги
247 1429294
>>29003

>Что он делает я знаю а вот как он это делает?


Как он находит остаток? Ты же про остаток от деления говоришь?
Ну подумай, а как лично ты находишь остаток? Делишь делимое на делитель, а потом отбрасываешь дробную часть, умножаешь результат на делитель, вычитаешь полученное из делимого. Это первое, что приходит в голову. А соответствует ли это процессу, проходящему в компьютере, мне лично остаётся только догадываться. Но если в языках (например в пистоне) есть т.н. "целочисленное деление", то можно предположить что как-то так всё и происходит.
248 1429341
>>29275
в 15 лет при СССР за деньги программировать было сложновато, мой дорогой школьник
249 1429394
>>29294

>а потом отбрасываешь дробную часть


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


чёт как-то не сходится. Да и отбросить дробь без ремаиндера не получится. Меня интересовала реализация именно на лиспе, не думаю что она прям на асмблере написана как сложение ну или как там на чём там кампилятор пишут
250 1429401
>>29341
Почему я должен был подразумевать твоё место жительства, основываясь на одном только языке (ты пишешь по-русски), если в сшп том же русскоговорящих пруд пруди? А если бы ты оказался сыном / дочерью эмигрантов, и обиделся бы?
251 1429402
Дисрегард "дочерью", вижу что в первом посте ты писал о себе в мужском роде.
252 1429403
>>29294
Повтори
253 1429405
>>29394

>Да и отбросить дробь без ремаиндера не получится


Что-то мне подсказывает, что floor это всё таки низкоуровневая операция, но наверняка ты прав и есть какая-то лисповская её реализация, недаром же компиляторы лиспа умеют компилировать сами себя и недаром же были лисп-машины.
Читай дальше, наверняка там потом будет. Заодно и мне расскажешь.
14784030633170.jpg41 Кб, 600x450
255 1429479
>>29427
Охуенно. Ещёб я читать умел. Что такое let?

БТВ.
Как настроить ракет под сикп?
256 1429482
>>29479
Мне тоже лень разбираться, но как я понял, remainder и quotient реализованы на си или асме, а более высокоуровневые функции (floor, round ...) уже на лиспе.
f71a1a2742525b7fbb368060d11f4a71.jpg51 Кб, 522x700
257 1429517
258 1429518
>>29479
Про let дальше в книге объясняется, не помню, то ли в первой главе, то ли во второй.

Многие низкоуровневые операции в лиспах реализованы на нижележащем системном языке, читай - на C. Вот, например, низкоуровневая реализация remainder в Racket: https://github.com/racket/racket/blob/b133bea92e34f3e316711a51a8c485ff3715cbf1/racket/src/racket/src/numarith.c#L936
В четвёртой и пятой главах будет описано, как, имея произвольные примитивы для работы со списками, которые без разницы где и как реализованы, можно написать реализацию интерпретатора и компилятора соответственно. Дочитай до конца, базарю, ещё захочешь.
14753422016990.jpg25 Кб, 480x404
259 1429596
>>29518
>>29482
спс анончики

Всё таки хотелось бы узнать на чём вы прогаете. Пользовался
https://repl.it/languages/scheme
пока не встретился с remainder который он не распознаёт, список его собственных процедур не нашёл. Пересел на racket и чёт ахуел. Вначале от того что там надо выбрать язык. А потом от того что он 4 строки 30 секунд обрабатывает. Затем начались неприятности посерьёзней без begin он отказывался включать в тело несколько процедур. Теперь я столкнулся с проблемой, что он не даёт определить процедуру в теле другой процедуры и вот это уже пздц т.к. чтоб это обойти мне приходится писать в два раза больше.
260 1429649
>>29596

> без begin он отказывался включать в тело несколько процедур


Не может быть, ты, скорее всего, что-то не так понял, см. рис. 1.

> не даёт определить процедуру в теле другой процедуры


Не может быть, ты, скорее всего, что-то не так понял, см. рис. 2.

> А потом от того что он 4 строки 30 секунд обрабатывает.


У тебя там что, пентиум два? Даже на моём некрожелезе 2012 года ракетка быстро шевелится.
261 1429685
>>29649
А че так ракетная иде так много памяти жрет?
ето ж пизда, боюсь представить сколько ей надо, когда строк кода будет побольше 10
262 1429690
>>29685

> 521.55M


> много


Кек, интересно послушать, что ты скажешь про новомодную электронохуету типа vscode или atom.
263 1429692
>>29690
Так vscode жрет столько же при куче дополнений лол

>новомодная


>атом


поделил на 0 так сказать
ладно иди на хуй, дебил.
264 1429703
>>29649
ну ок может не 30сек может 15-20
просто
https://repl.it/languages/scheme
мгновенно всё считал
комп асасина последнего на максималках 1080 30 фпс тянет
265 1429705
>>29649

>язык: sicp


Бля так это то что мне нужно где скачать?
266 1430047
>>29685
Ты думаешь, что занимаемая ide память заисит от количества строчек в твоем файле?

>>29692
Атом определенно относится к поколению "новомодных иде на электроне", которое до сих пор является новомодным. До этого были "новомодные иде на джаве", но сейчас они уже не новомодные.

Нормальные же люди, разумеется, юзают имакс.
267 1430048
>>29705
Просто зайди в настройки и либо выбери нужный язык, либо включи выбор языка по #lang.
268 1430054
>>29703
Поставь поддержку sicp в своём racket, продвинутый студент: https://docs.racket-lang.org/sicp-manual/Installation.html

> ну ок может не 30сек может 15-20


Друг, у тебя скорее всего жёсткий диск помирает.
2019-07-08-012319297x159scrot.png6 Кб, 297x159
269 1430055
>>30047

> Нормальные же люди, разумеется, юзают имакс.

270 1430105
>>30054
Да быть такого не может. Я вышел в интернет с данным вопросом, така проблема не только у меня. Получше стало когда 86 версию поставил, но всёравно
долго
271 1430107
>>30047

>Ты думаешь,


Все ясно, очередной дебил, решающий за других.

больше строчек, больше данных, больше операций, больше памяти. Объяснил для имбецила.
272 1430173
>>30105
Какую ещё 86 версию? Крайняя версия ракеты - 7.3.

> Я вышел в интернет
С подключением.
273 1430250
>>30173
Ну блин 32 битная версия
>с подключением
неверояно но факт
274 1430486
275 1430487
>>30107
Ты в порядке?
276 1430729
>>04382 (OP)
Хочу начать читать SICP. Вопрос, нужно ли сначала поучить Racket для этого?
277 1430769
>>30729
Нет, в книге язык объяснят по ходу дела. Всё, что тебе нужно, в шапке треда а ещё точнее, вот по этой ссылке https://docs.racket-lang.org/sicp-manual/Installation.html
278 1430809
>>30769
А книга разве не на Scheme?
279 1430813
>>04382 (OP)

Двощ, на собеседовании сказали пиздовать читать SICP. Собеседовался на JS-макакена.

Вопрос: нахуя? Зачем нужна эта книга и чему она меня научит?
280 1430816
>>30809
На Scheme. Racket - реализация Scheme.
281 1430829
>>30813

>Двощ, на собеседовании сказали пиздовать читать SICP.


Ебать у меня брови поднялись щас до потолка.
Не врёшь, не троллишь?
282 1430832
>>30829
А что в этом такого удивительного? Мимо ньюфаг
283 1430930
>>30813
Это тебе так в мягкой форме намекнули, что ты программировать не умеешь.
284 1430937
>>30829

Нит.
wkoMBt9PhVE.jpg291 Кб, 763x1080
285 1431017
>>30832
в том что это основы основ.
И если у анона есть диплом по данной специальности то он может его смело выбросить.
286 1431033
>>31017
Не верится просто что жс макакам неиронично советуют эти самые основы основ, такое ощущение что анона слегонца тральнули на собесе.
287 1431085
>>30813

>чему она меня научит


Программировать. и это тонкий намек на то, что ты сейчас это делать не умеешь
288 1431119
>>31033
причём я уверен что антуан на самом деле не очень то и заслуживал подобного, но хрюша не хрюша если не козырнёт хотя бы зачатками знаний.
289 1431313
>>31119
А вот я думаю, что заслуживал. Он же наверняка даже русскую версию открыл после того собеседования, пробежался глазами и понимай он, что там пишут - стал бы хуесосить хрюшу, мол там нихуя интересного в книге нет, я все это умею, хуле он доебался? Но нет, он задает вопросы по книге, значит все-таки рыльце в пушку, ну или в говне, лол.
290 1431427
https://sicp.comp.nus.edu.sg/index.html

Посоветовали как более внятную современную версию SICP на JavaScript. Как думаете стоит изучать на нем? Книга полная более менее? Хотя бы основные главы полные? Пройдитесь пожалуйста глазами кому не сложно. Или идея максимально тупая? Просто прошелся глазами и охуел от оттого что на инглише мне более понятно о чем пишут чем в русском переводе оригинала.
291 1431480
>>31427

>We need an appropriate language for describing processes, and we will use for this purpose the programming language JavaScript. Just as our everyday thoughts are usually expressed in our natural language (such as English, French, or Japanese), and descriptions of quantitative phenomena are expressed with mathematical notations, our process descriptions will be expressed in JavaScript.


Блядь, они просто прошлись поиском и заменой?
292 1431492
>>31427

>Хотя бы основные главы полные?


Основные главы на месте, но я бы всё-таки взялся бы на твоём месте за оригинал, чтобы не пришлось потом рот мылом от JSговна отмывать
293 1431493
>>31492
А так придется от лиспоговна отмывать.
294 1431503
>>31493
Ну там хотя бы изначально авторы книги под лисп писали, а как качественно под js интегрировали - большой вопрос.
295 1431507
>>31492
JS просто единственный язык который я знаю более менее хорошо. Ну еще Java но на нем писать пытка. И палкой не заставишь.
296 1431511
>>31313
Так и представляю, как корзиночка, закончивший зажопинский колледж с отличием по специальности оператор ЭВМ, с ноги открывает дверь в московской гарант и с гордостью вываливает на стол свой диплом.
297 1431513
>>31511
Ещё и понты гнуть начинает: в совершенстве владеют бэйсиком, владею Паскалем и делфой, знаю синтаксис асмы. Вы такого спеца хер где найдете ещё.
298 1431530
>>31493
В моём рту знание элементарной хуиты уровня "ну карочи в скобках список из элементов чериз прабел, там ищё аператар впирёд можна паставеть" занимает очень мало места.
299 1431532
>>31513
И это вообще-то грустно, а не смешно. Чё хорошего в том, что такое ВО обосранное в стране?
300 1431535
>>31532
21 век. Сейчас вышку даже на курсере можно получить. Выйдет не сильно дороже чем в рашковузе
301 1431536
>>31535
Понятное дело, я говорю что плохо что мухосранские вузы сосут бибу у курсеры.
302 1431566
>>31532
>>31536
Какие запросы такая и вышка, у нас от фактических знаний почти везде ничего не зависит нужна либо корочка либо опыт работы и корочка либо знакомства.
303 1431588
>>31566
Нихуя не зависит качество вышки от запросов рынка, её не рынок финансирует
304 1431720
>>31588
Добрый вечер, а кто? Еслиб наш рынок реально бы требовал квалифицированных специалистов, то вузы бы их готовили никто бы просто не ходил в вузы, которые дают недостаточно для устройства на нормальную работу. Сейчас же пофиг куда ты пойдешь учится лиж бы корочку дали, а остальному на работе научат.
В принципе я не считаю что это что-то плохое когда человек приходит на работу и его надо учить работать. Особенно сейчас когда постоянно все меняется. Как раз и нужно чтобы вузы делали человека максимально обучаемым. И с этим у нас в стране всё не так уж плохо. У технарей разумеется. Гораздо хуже то что кроме ит и менеджмента высшего звена у нас практически нет сфер где реально бы ценили специалистов.
305 1431749
>>31720

>Добрый вечер, а кто?


Ты не в курсе кто финансирует вузы в РФ?

>б наш рынок реально бы требовал квалифицированных специалистов, то вузы бы их готовили


Одно не следует из другого. Вот если бы заинтересованные лица лично лили деньги в этот процесс, тогда да.
К остальному у меня нет вопросов.
Бутырка - Запахло весной (видеоклип).mp419,2 Мб, mp4,
480x360, 4:13
# OP 306 1432522
ЗНАКОМОЙ ТРОПОЙ ВЕРНУСЬ Я ДОМОЙ
Ну шо, был перерыв месяц, возвращаюсь к обучению. Прорешиваю хтдп первой версии, прорешал 25% вполне успешно, сейчас буду двигаться дальше.
307 1432597
>>32522
А ты тот оп, что примерно год назад вкатывался и менял сикп на слоников и т.д.?
Давно за тредом не слежу
308 1432605
>>32597
Да, он самый. Сменил сикп на слоника, потом слоника на книжку с серой обложкой (в оп-посте есть ссылка), потом хтдп второе издание прошел на 20% и пришлось дропнуть, т.к. уперся в структуры и их очень плохо объясняли, теперь хтдп первое издание прошел на 25%.
309 1432606
>>32605
Хотя еще пропустил, что после сикпа я хтдп 2 издание пробовал, но на введении дропнул, т.к. тоже не пошло.
310 1432608
>>32605
Я уж думал, ты уже весь сикп прорешал и поднимаешь 300 к/сек. Ну удачи тебе, ОП. Надеюсь, теперь хдтп пойдёт. Твоему упорству можно позавидовать.
311 1432617
>>32608
Видишь, я полгода только врубался и вникал, что такое программирование и с какой стороны в принципе подходить к обучению, метался от книги к книге и пр. Другие полгода уже более-менее учился и прорешивал, но с перерывами по месяцу-полтора, т.к. то мозги закипят, то своих дел накопится. Но дело не бросаю и сейчас все вполне получается.

>Ну удачи тебе, ОП. Надеюсь, теперь хдтп пойдёт. Твоему упорству можно позавидовать.


Спасибо, думаю не подведу :З
b54d877765cc13c8777df50e92683c71.jpg17 Кб, 299x189
312 1432759
313 1433887
Приветик, ньюфаг и немного продвинутый в компах в треде. Решил вкатиться в программирование, ухнал про этот ваш SICP. Английский знаю на приличном уровне, поэтому думаю осилю.

Собсна, в чём вопрос. Обязательно ли решать задачи на Scheme? Можно ли читать SICP параллельно с документацией какого-нибудь питона/жабы/си? Или, может, тут нужен конкретно Scheme или конкретно функциональное программирование?
314 1433890
>>33887
Можно.
315 1433891
>>33890
Ураааа всйо я читать
316 1433938
>>33887
Я блядь представил как он будет читать сикп параллельно с доками gcc какого-нибудь
blpicsarchive1385916328216.png507 Кб, 1177x662
317 1434019
Бле всё я сдаюсь. За последние две темы не смог решить ни одной задачи самостоятельно. В лучшем случае я формировал решение на листочке, но не мог его сделать на шеме, тупа чего-то не хватает я думаю преподавателя, что б подсказывал и направлял. тупым я себя есно не считаю 212 по егэ не так уж плохо. И что за сверхразумы без образования тут самостоятельно всё это прорешивают мне не понятно
Попробую хтдп чёт мне кажется я там ещё больше пососу т.к. английский слабовато знаю, а на русском не нашёл. Если не получится пойду смотреть видеогайды как сделать сайт.
318 1434028
>>34019

>шеме


Шема на итальянском означает дурак. Совпадение?
319 1434154
>>34019
Рекомендую первую версию хтдп, ну и хуячь целый абзац в переводчик, да и все.
оп
320 1434209
>>34019
Видимо стараешься хреново, раз на листочке всё нормас. На какой теме то хоть остановился? Совсем новичок в программировании? Просто мог бы на каком-нибудь другом языке тогда писать, если схема сложной кажется( хотя из всех функциональных легче неё не видел вообще). Ну или сюда в тред посрал бы.

> 212


лмао

> Попробую хтдп


там не легче уже точно, возьми яйца в рот и продолжай sicp ,сука.
321 1434495
>>34154
Не рекомендую HTDP и SICP. Код в обоих книгах представляет собой помои, написанные по бэд практисам. В продакшен такие портянки с дрисней не пошли бы. Обе книги расчитаны на скриптовых макак, в то время как программист должен изучать архитектуру компьютера и операционных систем, режимы работы процессора, работу программ на низком урове, PE формат и уметь пропатчить программу в hex-редакторе.
322 1434500
>>34495

>В продакшен такие портянки с дрисней не пошли бы


Как раз потому, что код чересчур "умный", в продакшене нужен код в который не надо вникать по три часа. А в обучении заебись.
Нахуй не нужны человеку на начальном этапе бест практисы и паттерны.
Реверансв сторону жс вообще ни к селу ни к городу.
323 1434521
>>34495

Чушь собачья. Основная проблема в разработке ПО - это сложность больших программ. СИКП учит справляться со сложностью разными способами - начиная с абстрагирования элементов программы и заканчивая разработкой языков, на которых решение и формулировка задачи оказывается проще и понятнее.
Какие у тебя претензии к коду в СИКПе вообще не очень понятно. Код там предельно ясный. Единственная претензия, которую к нему можно предъявить - местами он не оптимален, но авторы и сами об этом говорят.
Cartoon-hero-Комиксы-3289370.jpeg730 Кб, 1335x2064
324 1434523
>>34209

>раз на листочке всё нормас


Если бы, вот за последних 2 темы было 12 заданий "на листочке" я смог сделать 2 или 3

>На какой теме то хоть остановился?


Процедуры в качестве аргументов
Самое херовое, что код для меня минимум читабелен, даже чтоб просто разобрать решение у меня уходит дохера времени. Что бы понять что делает строка надо держать в уме весь код потому что постоянно ссылается одно на другое и что либо упустить очень легко. И при таком раскладе сделать что-либо самому без тупой копипасты для меня становиться нетривиальной задачей.
Упражнение 1.29.
Вроде элементарная задача. Я блядь даже несколько способов придумал, но пытался реализовать в первую очередь те что были максимально близки к примеру из темы. И вот на элементарный пример угрохано ДЖВА часа и хуй, а потом ещё минут 30 разбирал пример. Непонятно толи моё решение в принципе не правильное то ли просто где-то зарылась ошибка в понимании работы самого языка. И спросить негде. Тоесть я конечно могу засирать топик по каждой мелочи или там найти какойнить форум или канал для этого. Но блджадь этож всё столько времени. Насколько легче было еслиб я подошёл к кому-нибудь, показал что я сделаль и он бы хотяб сказал давай по новой вообще мимо или бля норм ты только не там процедуру определяешь. А так какой смысл от это сикпа будет если я его осилю только лет через 5?
Ладно чёт неосилятор разнылся.
>>34154
А в чём разница?
325 1434535
>>34523

>А в чём разница?


Они сначала первую версию выпустили, а несколько лет спустя переиздали. Так вот я вторую прорешивал, уперся в структуры - их откровенно по уебанскому описывают. А первую сейчас решаю, прям очень сильно сложилось впечатление, что намного подробнее и лучше объясняют материал.
оп
326 1434599
>>34523

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


Добро пожаловать в бытие программистом, таким на работе ты будешь заниматься по 8 часов в день 5 дней в неделю, и ещё начальник будет стоять над душой и орать, хули ещё не готово.

> Тоесть я конечно могу засирать топик по каждой мелочи или там найти какойнить форум или канал для этого.


Нутк пиши сюда в тред, тут всё равно почти никого нет, кроме опа и залётных троллей. Или в тележке пиши в @scheme_ru, там будут рады любой активности.
шема.png20 Кб, 708x405
327 1434679
>>34521

>Код там предельно ясный


)))
328 1434691
>>34679
(((
баланс скобок в природе восстановлен
329 1434831
>>34679

>имплаинг не ясный


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

Функция под названием small, принимает на ввод l и t
если l пустой вернуть пустой список
иначе если первый элемент l (уже понятно что l значит list) меньще t
Гуглю что значит cons, узнаю что оно строит пары (пары != списки)

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

Если бы я читал книгу, а не мимо проходил, то и гуглёж бы наверное не понадобился (если книга хорошая)
330 1435055
>>34679

Откуда ты это взял? Я не помню такого в сикпе.
60597.jpg35 Кб, 620x672
332 1435096
>>35063

> Считать, что SICP и HtDP - одно и то же

333 1435453
>>34523
Ты не осилил предыдущие темы. Помню K&R читал разбирал каждую букву. Потом сам себе придумывал задачи, в итоге я решал сам прорешалто что приводилось в каждой главе в конце не подглядывая и часто залезал в последующие главы если мне чего-то не хватало. Что-то упустил.
334 1436421
Блин, а этот недетерминистский интерпретатор не так прост. Т.е. я разобрался и понимаю, как он работает, но не уверен, что смог бы сам додуматься до такого же простого и красивого дизайна.
гифки-удар-на-случай-важных-переговоров-2373855.jpeg.gif5,5 Мб, 640x360
335 1436494
>>36421
хуль ты на двачах забыл раз такокой умный у мамы?
336 1438318
Тред не читай, сразу пиши.

Привет, двач. Мамкин вкатывальщик в треде. В ближайшее время хочу начать вкатывание, отрубить телефон со старой работы, съебать в деревню (энторнет там ловит) месяца на 3, взяв с собой томик Кнута и СИКП. Планирую задрачивать в режиме сон-еда-учеба. Есть ли смысл покупать платный акк на codeacademy? Когда из меня выйдет что-либо подобное на junior'а? В какой язык следует вкатываться - C++, Python или наоборот следует брать какие-то экзотические вещи типа Haskell? Как восполнить дефицит матана и прочей хуйни (у кореша нашел книгу некого Зельдовича "Высшая матетматика для начинающих")? Английский шарю свободно.
337 1438487
>>38318
Можешь столкнуться с такой проблемой, как у меня, когда через месяц активного обучения просто мозг закипит и следующий месяц не сможешь заниматься. По языкам не проконсультирую, т.к. сам еще не вкатился. Платные аккаунты считаю полной хуйней.
оп
338 1438497
>>38487
Да, еще допишу, когда с полным погружением в дело уходил, я спал 2 раза в день, часов по 5. Потому что если спишь один раз, проснулся, несколько часов позанимался, мозг устал и уже до отбоя половину дня ты не занимаешься. А когда спишь 2 раза в день - 5 часов поспал, несколько часов позанимался, мозг закипел, может часок хуетой позанимался и спать лег, во сне мозг отдохнул ну и так далее. Короче максимальное погружение, но, повторюсь, что мозг потом сдается и месяц, а то и полтора просто не подходишь к обучению.
339 1438506
>>38318
Выбери технологию, Почитай Петцольд "Код" потом или паралельно когда уже что-то поймешь приступай к основам языка и постоянно практикуйся двигаясь вперед, не пытаясь понять все сразу, книгу по языку как худ. лит. не читай, юзай как справочник.
340 1438942
>>38506
Т.е. learning через doing? Писать helloworld и постепенно усложнять или поставить задачу по написанию желаемой программы (например бот в телеге) и постепенно въезжать как он пишется?

Книгу начал читать - до чего люблю американских авторов, пишут, чтобы ты понял, а не для того, чтобы "ой какой я умный, какую пиздатую книгу написал".
341 1438943
>>38487
Ну я планирую поставить себя в безвыходную ситуацию. Отрубить телефон и контакты с внешним миром. Будут заканчиваться деньги и это станет стимулом лопатить дальше. В принципе - у меня и сейчас такая работа, что иной раз мозги в трубочку сворачиваются, много информации, сложные гуманитарные абстракции (я юрист лол).
342 1438973
>>04382 (OP)
Посоны, поясните что за SCIP и кому он полезен. Я начал читать книжку, там все примеры на языке lisp. Что я знаю про lisp? Что это древний язык, который ни где не используется. Очевидно, у этого языка, как и у любого другого, есть свои особенности синтаксиса и заточен он под что-то определенное. Возникает вопрос: можно ли извлечь из SCIP пользу программисту независимо от используемого языка и области разработки?
343 1439094
>>38942
Да, примерно так. После прочтения книги Петцольда начинай учить основы программирования и лучше всего начать с С, потом С++ только классы что бы понять ООП, а дальше переходить на желаемую технологию делать что-то более реальное.
344 1439106
>>38943
Попробуй, только отпишись потом, не поставил ли мозг тебя в безвыходную ситуацию - "пиздуй дворником мудило, но в ближайший месяц по программированию меня не трогай".
345 1439108
>>39094
Хороший троллинг, довольно-таки тонкий.
346 1439113
>>39108

Обоснуй.

>>39094

Ок, но почему все говорят про SICP, хотя там, как выше указывалось - используется ЛИСП, в котором как я понял нет такой хуйни как "переменная", но вроде как есть целая глава
ООП.

>>39106

Ок, отпишусь в тред про итоги что и как.
347 1439152
>>39113
Нахуй не нужен этот си. Убогое говно, которое костылями допиливали до си+, в котором тоже было дохуя говна и допилили до крестов, кресты из-за массы костылей и допиливаний тоже является уебанским и тупорылым говном.
348 1439155
>>39152
И тем не менее основы (циклы, условия, функции, переменные) лучше изучать на примере С, а не Джавы, где сразу непонятные классы и не дай Бог JS.
349 1439163
>>39155
То, что Джава говно для пидоров - я давно понял.

>>39152
А в чем убожество С, что реализовали в + и ++? И почему + и ++ говно?
350 1439164
>>39155
Вроде тред про лисп, а ты чешешь про яву и js
>>39163
Сходи в их тред, там почитай. И определись уже, что делать будешь. Сикп решать или си изучать.
351 1439229
>>38973

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


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

> ни где не используется


Ты, мягко говоря, ошибаешься.
https://lisp-lang.org/success/
https://common-lisp.net/lisp-companies
https://clojure.org/community/companies
https://news.ycombinator.com/item?id=9813111
352 1439230
>>39229
Я думал главный профит скобочек в том, что это по сути AST, из-за чего код можно воспринимать как данные и вертеть его как пожелаешь.
353 1439233
>>39230
Да, гетерогенность - это то самое, что мейнстримные языки пока ещё не осилили спиздить из лиспов. Разве что в Ruby что-то такое смутно есть, но вроде как извращённое.
354 1439569
Вот вы лично тут только лабы дрочите в своих скобках или в реальности применяете где-то?
355 1439669
>>39569
За других говорить не буду, сам игру сделал для геймджема и потихоньку пилю следующую.
356 1439674
>>39669
на лиспе?
357 1439688
>>39669
Татрикс, иди нахуй.
2874b5dd52bddf98bc1ad726297dfd6f.jpg9 Кб, 300x221
358 1439697
>>39674
На Scheme.

>>39688

> Татрикс


Не попал.
359 1440039
>>39229
На такой нубовской вопрос я бы на твоём месте так не отвечал, один хуй толку не будет.
360 1440339
>>38318
Хоть и поздно, но вставлю свои 5 копеек.

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

У каждой компании понимание лычек (джун/мидл/синьер) разное. Некоторые могут взять и совсем начинающего, если заметят что способный к обучению и тебе нравится то, чем занимаешься. Но в любом случае надо хоть что-нибудь уметь в выбранной сфере. Изучаешь основы - идешь штурмовать собеседования. Минимум по срокам я бы сказал 6 месяцев. Максимум, наверное, года 1,5 из того, что лично знаю.

Язык - это инструмент. Выбрав первый язык программирования не обязательно потом на нем сидеть всю жизнь. Поэтому я бы порекомендовал, чтобы не было проблем найти работу, брать что-нибудь мейнстримовое на первое время (JS, PHP, Python). Это для работы.
Для обучения - СИКП с схемой самое то. Проходишь первые 3 главы. Дальше садишься за книги "Код", "Идеальный программист" и выбираешь чем будешь заниматься.
Я сам js разработчик, поэтому по php, python не подскажу. Но, если это веб, то независимо от языка проще будет начать с курсов той же html academy по верстке - там будут базовые знания по html/css. JS лучше разбирать не у них, а по learn.javascript.info. Как будешь на этой стадии проблем что разбирать дальше не возникнет, думаю. Если все же будут вопросы - пиши.

На начальной стадии матан практически не нужен. Уже когда разберешься с базой можешь засесть за алгоритмы (лучше начать с "Грокаем алгоритмы", а не Кнута).

За английский большой + тебе. Некоторые могут взять средненького кандидата только из-за того, что он неплохо прокачан в инглише.

P.S если еще не умеешь печатать вслепую - научись
361 1440368
>>40339

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

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

Слепая печать у меня развита. Я пишу тебе сейчас с MacBook на котором нет русских клавиш.
362 1440375
>>40368
Как узнать, что у человека техника эпл? Он сам тебе об этом скажет в первые минуты разговора
ха классика блять.
sage 363 1440480
>>39569
Делал интерпретатор скобок на хакатон
364 1441058
>>40480

>хакатон


>игру сделал для геймджема


Ясно, хуита.
365 1441079
>>41058
Мамка твоя хуита.
366 1441324
>>04382 (OP)
А эта книшка про какой ЯП?
367 1441391
>>41324
Scheme.
368 1441402
>>41391
С этим языком можно вкатиться на 100к?
369 1441437
>>41402

Открою тебе тайну, только никому не говори. У всех самых крупных IT-компаний есть собственные исследовательские лаборатории. И у всех есть секретный исследовательский отдел, который днями и ночами пытается написать на Scheme интерпретатор языка Бога.
Абельсон и Сасман закодировали в СИКПе ключ к созданию такого интерпретатора и вот уже 40 лет тайное общество программистов пытается его расшифровать. Истоки уходят корнями в Ветхий Завет. Создав такой интерпретатор, мы сможем напрямую говорить с Богом. Получим огромную власть.
Но даже сейчас у нас все схвачено. В любой крупной компании руководящие места давно занимают лисперы. Приняв обет и вступив в общество тебе открываются все двери. В любом городе тебе дадут лучшую гостиницу. Любые женщины будут твоими. Счета в банках с десятью нулями на конце.
Но ты должен прорешать СИКП целиком и посвятить свою жизнь служению великой ЛИСП-машине и построению интерпретатора языка Бога. В качестве вступительного экзамена попросят доказать, почему алгоритм решения задачи о размене монет (SICP 1.2.2) корректен. Потом надо будет придумать язык для работы в заданной предметной области и написать его интерпретатор - ты должен быть металингвистическим программистом. Наконец, надо принести клятву верности: я отдаю свою жизнь служению ЛИСП-машине и созданию интерпретатора языка Бога. Вечная слава пророку Маккарти!
370 1441718
>>41437
Ясно. Хуйня для задротов которым ещё и не платят
371 1441798
>>41324
>>41391
>>41402
>>41437
>>41718
Театр одного типа смищного шутника
372 1442262
>>41402
Только с ним - будет трудновато. Читай пасту "высшее образование в IT своими руками v2", там подробно описано про то, как вкатиться хоть на 300к+.
373 1442411
>>42262
ссылку бы
374 1442449
>>42411
с такими запросами в программирование нечего идти - будет тяжко

мимо
375 1442490
А я напоминаю, что ваша книга говно и не имеет ничего общего с реальным коммерческим программированием. Уже жду ваших проекций и поисков формошлепов-вебмакак под кроватью.
376 1442514
>>42490

> поисков формошлепов-вебмакак под кроватью


Че их искать? Я формошлеп-вебмакака. На работе есть кадры, которым бы не помешало прорешать половину книги, т.к. строить нормальные абстракции они так и не научились.
И с реальным коммерческим программированием на том же js она имеет точки соприкосновения.

Но в плане того, что из нее сделали культ (типа книга книг) - тут я не согласен. Эта книга всего лишь часть обучающего процесса, а не вещь, которая заменяет собой все другие источники.
377 1443193
Извините конечно за вопрос, а что за язык такой - лисп, и насколько он востребован?
378 1443206
>>43193
Нихуя не востребован. Можешь все задачи из книги делать на любом функциональном языке.
379 1443210
>>43206

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


В прямом смысле? Допустим если я хочу выучить в будущем С или питона какого нибуть, мне поможет эта книга?
380 1443211
>>43206
Вот только нахуя, лисп простой как мой хуй, там из всего сахара только скобачки блядь. Для ньюфагов больше и не надо.
381 1443212
>>43210
Эта книга не для изучения языков, а для тех, кто уже осилил хоть 1 функциональный язык. Я бы рекомендовал любой ML по вкусу, окамл, хачкель и т.д.
>>43211
Лисп это простой язык для парсинга компилятором, а в реальности люди не мыслят стековой архитектурой и ломают глаза на кучи скобок.
382 1443213
>>43212

>Эта книга не для изучения языков, а для тех, кто уже осилил хоть 1 функциональный язык


Спасибо, мне почему то казалось что эта книга наоборот для абсолютных новичков что бы познать фундамент програмирования.
383 1443219
>>43212
Это книга для вкатывающихся блядь, ее на первом курсе читали нахуй сходу всем долбоящерам поступившим. Все основы погромача в ней.
384 1443221
>>43213
Не слушай этого долбоеба, удивлен вообще почему он до сих пор не притащил пасту про хаскель.
385 1443222
>>43219
И много после неё вкатилось в программирование?
386 1443223
>>43222
кто хотел тот вкатился, очень странный вопрос.
387 1443224
>>43221
Лол, ну раз вы не можете определится то я все таки прочитаю ее, все равно много свободного времени есть.
388 1443348
>>43223
Что-то уровня "ваньку ерохина никто не воспитывал и он человеком вырос".
389 1443763
>>43348
Ты возвращайся, когда ознакомишься с логикой и поймешь, что аргумент по аналогии не состоятелен.

Сука, нахуя вас крестьян читать и писать учили, чтобы вы такую хуйню писали, ничего в жизни не прочитав достойного? Жаль впустую потраченные часы твоего учителя по родному языку
мимо
390 1444417
>>43763
Да соси хуй щекан. Если ты в своей шараге логику учил, это тебя и твои высеры нихуя компетентнее не сделает.
391 1444763
>>44417

Аристотель сейчас поугарал над тобой дурачком.
# OP 392 1446404
Ну что, 11 июля я вернулся в обучение после месячного перерыва. Собственно через 2 дня из обучения обратно выкатился, лол. И до сих пор нихуя не делаю. Но тупо времени нет, исключительно поэтому. Такая вот хуйня.
393 1446424
>>46404
Я вот таким же занимался как и ты. А потом понял, что важно как можно быстрее устроиться на работу, как можно скорее начать решать реальные задачи. СИКП можно и попутно изучать. Что толку от него, если не решаешь продакшн задач и не можешь программировать за деньги? Тебе не кажется, что ты тратишь время в пустую? Так можно и 10 лет обучаться, но так и не начать писать код за деньги.
394 1446444
>>46424

>Так можно и 10 лет обучаться, но так и не начать писать код за деньги.


Жиза кстати.
395 1446449
>>46444
Я короче этого чувака посмотрел и прозрел.

https://www.youtube.com/watch?v=nAJKFPijN9Q

Классный инженер, с математическим образованием, пробовал разные языки, в том числе Haskell (что крайне редко встретишь среди пхпшников, тем более тех кто использует битрикс). При этом стремится к эффективности, простоте. Поэтому я тоже решил поумерить аппетиты, и писать хоть на чем, лишь бы за деньги, хоть вордпресс использовать. Поюзав немного пхп, поюзав го, таки понял, что самая быстрая и эффективная разработка будет с рельсами.

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

P.S. На всякий случай, это я писал вот этот пост. >>46424 Даю как бы отчет, что собираюсь делать я, чтобы начать писать за деньги вместо пустого академического программирования.
Снимок экрана 2019-08-02 в 18.31.08.png229 Кб, 2336x998
396 1446835
>>46449
СУКА ДА ЧТО Я ДЕЛАЮ НЕ ТАК!
глава 2.1.4
397 1446850
>>46835
Код выложи.
398 1446859
>>46850
(define (lower-bound x)
(define mistake 0.4)
(- x mistake))

(define (upper-bound x)
(define mistake 0.4)
(+ x mistake))

(define (mul-interval x y)
((let ((p1 (+ (lower-bound x) (lower-bound y)))
(p2 (+ (lower-bound x) (upper-bound y)))
(p3 (+ (upper-bound x) (lower-bound y)))
(p4 (+ (upper-bound x) (lower-bound y))))
(make-interval (min p1 p2 p3 p4)
(max p1 p2 p3 p4)))))
(define (make-interval x y) (cons x y))
399 1446935
>>46859
У меня в repl.it не выдает ошибок. Какая задача вообще?
400 1446960
Пацаны, объясните, а чем полезна вся эта тема для человека, который будет всю жизнь кодить на питоне, на сях, на сях с плюсами, жабаскрпте и тому подобных?
2019-08-02-214903402x404scrot.png10 Кб, 402x404
401 1447002
>>46835

> СУКА ДА ЧТО Я ДЕЛАЮ НЕ ТАК!


Ты то, что возвращает твой make-interval пару (13.2 . 14.0) пытаешься вызвать, как функцию, что, конечно, невозможно: 13.2 - это число, а не функция. Присмотрись, вокруг let одна пара круглых скобок лишняя.
402 1447016
>>05373
Domain driven design и Applying domain driven design
Кажется это то что ты просишь, посмотри.
403 1447081
>>47002
ох уж эти скобки... спасибо.
# OP 404 1447201
>>46424
Да нет, вроде бы не в пустую трачу время. Просто есть такие дела, что нихуя не отложишь, а там уже сикп решать (хтдп, как в моем случае), js или еще что, какая разница, если один хуй времени нет.
405 1447261
>>46960
Это база, не зависящая от языка, понимание которой в начале пути облегчит жизнь в дальнейшем тебе и твоим товарищам по работе.
406 1447270
>>47261

> облегчит жизнь в дальнейшем тебе



А в чем конкретно? Хотелось бы примера, а лучше нескольких для более целостного понимания картины.
407 1447285
>>47270
Ты начнешь строить хорошие абстракции в коде, что сэкономит много времени и нервов, особенно тем, кто будет твой код читать и поддерживать. Еще книга заложит понимание функционального программирования, расскажет про основу объекто-ориентированного подхода, объяснит тебе в чем сложность программ и как с ней бороться.
Это первые 3 главы. Если продолжишь читать дальше, то поймешь как и с какой целью создаются интерпретаторы языков программирования.
408 1447361
Вести с полей, снова.

Решаю задачу 2.18.
Пытаюсь зделать так, чтобы обратный список выстраивался путем вычленения каждого элемента списка.
Где я объебался?

(define (reverse sample)
(
(define count (length sample))
(define (iter-reverse count)
(if (= count 0)
(list-ref sample 0)
(cons (list-ref sample (- count 1) (iter-reverse (- count 1))))))))
409 1447363
>>47361
(define (list-ref sample-list n)
(if (= n 0)
(car sample-list)
(list-ref (cdr sample-list) (- n 1))))

(define squares-list (list 2 4 8 16))
(define list1 (list 4 3 2 6 3 4 1 3 54 3 2234))
(define emptylist (list ))
(define (length items)
(if (null? items)
0
(+ 1 (length (cdr items)))))

(define (last-pair sample)
(if (= (length sample) 0)
"error"
(list-ref sample (- (length sample ) 1))))

(define (reverse sample)
(
(define count (length sample))
(define (iter-reverse count)
(if (= count 0)
(list-ref sample 0)
(cons (list-ref sample (- count 1) (iter-reverse (- count 1))))))))
Китай-программисты-тян-песочница-1918262.jpeg32 Кб, 500x329
410 1447580
>>46449

>когда думал что контент хуже уже не может быть


>битрикс

411 1447593
>>47580
Ну работает он в компании где пилят Битрикс, что с того? Чувак закончил физмат, имеет большой опыт программирования на разных языках (в том числе Хаскель и т.п.), шарит в парадигмах, реализовал много крупных проектов. А чего добился ты? Дрочишь хеллоуворлды небось за бесплатно.
412 1447599
>>47593

>Битрикс, что с того?


Дальше не читал.
413 1448085
>>04382 (OP)
Как создавать и импортировать модули в scheme?

Знаю (load "filename"), но он просто добавляет код из файла в область видимости, а было бы хорошо импортировать функции и давать имя.
414 1448139
>>48085

Не понял, чем тебя не устраивает load. У тебя и будут доступны все функции загруженного модуля по их именам. Или ты хотел, чтобы к ним можно было обратиться через имя модуля?
415 1448289
>>48139
Ну да, либо при импорте можно было задавать имена функциям, чтобы не было конфликтов имен и сразу было видно, что именно импортируетя. Ну как import в javascript.
416 1448370
>>47363
Не копипасть код в тред, выковыривать из твоих постов его никто не будет. Отправь на repl.it лучше и сюда ссылку.
417 1448373
>>48085
Сильно зависит от используемой тобой реализации. Если она поддерживает стандарт r7rs, то смотри тут http://www.larcenists.org/Documentation/Documentation0.98/r7rs.pdf пункты 5.1 и 5.6.
Если используешь Racket, в нём довольно много расширений относительно стандарта, у модулей там своя, особая атмосфера: https://docs.racket-lang.org/guide/module-basics.html
418 1448384
>>44417
Антош, но среди вас двоих повел себя как идиот именно ты

мимо
419 1448388
Умные вопросы.

a = 3
b = 4

if (and (> b a) (< b ( a b)))
(if (and (> b a) (< b (
a b))) b a)

Правильно ли я понимаю, что на русский язык выражение переводится как:
- если одновременно является верным, что ("в" больше "а") И (В меньше произведения АВ) то В получается значение А?

В это случае я не догоняю - почему компиллятор на компе вычисляет выражение этой хуйни как 16:

cond ((= a 4) 6)
(cond ((= a 4) 6)
((= b 4) (+ 6 7 a))
(else 25))

Ведь cond дает в качестве ответа последнего вычисленного выражения, т.е. он считает ((= b 4) (+ 6 7 a)), где значение a= b = 4.

Где я не прав блэт?
420 1448392
421 1448396
Ссылка:

https://repl.it/@ArtiemAlieksiei/LightgreyFrightenedNumericalanalysis-1

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

если одновременно является верным, что ("в" больше "а") И (В меньше произведения АВ) то В получается значение А?

В это случае я не догоняю - почему компиллятор на компе вычисляет выражение этой хуйни как 16. Почему он использует значение А = 3, если в строке с if мы дали ему значение B, которое равно 4?
422 1448401
>>48396
Сам разобрался.
423 1448408
>>48396
Тебе важно понять, что в лиспах нет болезненного деления на statement и expression, как в других языках, в лиспах всё - выражение, даже небо, даже аллах, даже if на третьей строчке по твоей ссылке, который никуда не возвращает своё значение (a или b, в зависимости от условий), и, как следствие, бесполезен.
424 1448872
Заняло три часа, чтобы прочитать предисловие. Такого количества жаргона и заумных слов я не встречал еще ни в одной книге. Как люди в 90-х и 00-х это читали? Что, например, значит, "As in every other symbolic activity, we become convinced of program truth through argument."? Или "The discretionary exportable functionality entrusted to the individual Lisp programmer is more than an order of magnitude greater than that to be found within Pascal enterprises."? Может быть я просто слишком тупой?
425 1448875
>>48872

Да читай сначала на русском
426 1448899
Со вчерашнего дня ебусь на задачей со страницы 38.

Условия: пользователь вводит 3 числовых значения, программа считает сумму квадратов двух наибольших.

Вот мое решение:

https://repl.it/@ArtiemAlieksiei/govnoebanoe

Моя логика такая:
+ ответ1 ответ2

ответ1 = xx, если x>y>z
y
y, если y>x>z
z*z, если еще что-то

ответ2 = примерно то же самое только действий по сравнению 2.

Вопросы:

- какого хуя в ответе получается 162, а не 81+25=106
- как можно использовать cond в этой случае, ведь нужды сравнивать 2 раза нет, мы уже выяснили самое большое число, получив ответ1.
14438888233830.png18 Кб, 400x450
427 1449038
http://sicp.sergeykhenkin.com/sicp-exercise-solutions/

и пиши код, а то не оч понятно что ты имеешь в виду.
428 1449040
429 1449045
>>49038

Код по ссылке был в реплите:

(define x 3)
(define y 5)
(define z 9)
(+
(if (>= z x y) ( z z) (if (>= y x z) ( y y) ( z z)))
(if (>= z x y (and (>= y x z))) (
x x)
(if (>= y z x (and (>= x z y))) ( y y) ( z z))))
430 1449057
>>49045
https://repl.it/@ArtiemAlieksiei/govnoebanoe
ну у меня норм посчитал
может ты не так процедуру вызываешь?
431 1449062
>>49038

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

Можно ли попросить о помощи в ответе на них:

http://sicp.sergeykhenkin.com/2007/08/14/sicp-exercise-solution-1-3/

(define (square a) ( a a))

(define (sum-of-squares a b)
(+ (square a) (square b)))

// почему не нужен отдельный (define (square b) (
b b)?

(define (sum-of-biggest-squares a b c)

// вот здесь он вводит выражение, смысла которого я вообще не понимаю, но попробую перевести на человечий язык:
- "я ввожу переменную sum-of-biggest-squares", но почему он пишет "a b c", по моей логике - он должен еще до этого сделать (define c), а после sumofsquares должна открыться скобка и сразу cond

(cond ((and (>= a c) (>= b c)) (sum-of-squares a b))
((and (>= a b) (>= c b)) (sum-of-squares a c))
(else (sum-of-squares b c))))

Что я не так понимаю?
432 1449103
>>49062
мдэм... если конечно я правильно понял твои вопросы
Вначале он пишет процедуру квадрата, которую потом вызывает в процедуре sum-of-squares.
В лиспе переменных нету, есть формальные параметры, которые используются в процедуре и перечисляются после имени процедуры.
433 1449105
>>49062
ещё замечу что я это задание писал одной процедурой. Эт уже там профессиональная деформация у автора пошла он всё готов на процедуры разложить что вообщет является полезным навыком одним из-за которых мы эту книгу и открываем
434 1449197
>>48872
Ты просто хуёво английский знаешь
symbolic activity - активность, связанная с манипуляцией символами/текстом
argument здесь - глагол
"Как и в любой другой активности, связанной с символами, мы убеждаемся в истинности программ с помощью рассуждений"
Ну и так далее. Читай русский перевод, он хороший только опечаток в нём дохуя
435 1449199
>>49062

>- "я ввожу переменную sum-of-biggest-squares", но почему он пишет "a b c"


Потому что это не определение переменной, а определение функции. NOTE THE DIFFERENCE IT COULD SAVE YOUR LIFE

(define test 42) ;; переменная, изначально равная 42
(define (test) 42) ;; функция без аргументов, которая всегда возвращает 42
Камон братюнь, ты первую главу, где основы синтаксиса объясняют, жопой читал?
436 1449754
>>49199
Перечитал первую главу, он об этом в одном месте лишь вскользь упоминает, точнее использует операторы функции таким образом.

Таким образом:

define (test a b c) (y)
- означает "я определяю функцию "test" со значениями a b c способом y" и вместо y может быть уже что угодно.

Спасибо, братюнь.
437 1449764
>>49754

>define (test a b c) (y)


>- означает "я определяю функцию "test" со значениями a b c способом y" и вместо y может быть уже что угодно.


Сорян, но нет. Во-первых, не "со значениями", а "с аргументами". Во-вторых, то, что ты написал, это
(define (test a b c) (y))
с учётом того, что "способом y" означает "вызвать функцию `y` без аргументов и вернуть её результат".
Не за что, обращайся, если что.
438 1450155
Пизда, как же сложно его решать, пиздец. Примерно по 2 задачи в день получается, с учетом того, что еще и работаю.

Если таки прорешать всю книгу, что это даст? Достигну просветления, стану сверхпрограммистом или что?
439 1450162
>>50155

>Примерно по 2 задачи



Ты погоди, там еще будут задачи над которыми можешь на несколько дней зависнуть.
440 1450175
>>50162
Была такая, где ебучий миллер-рабин.
441 1450282
>>50175

До чисел Черча еще не дошел? Там веселее будет.
442 1450468
>>04382 (OP)
Ускоряет ли лисп скорость/качество разработки? Пишу для себя хуйню на node.js, есть вариант поставить clojurescript.
443 1450493
>>50468
Да.
444 1450509
>>50468
clojurescript - для браузеров
он в сравнении с реактом не ускорит, т.к. в нем лишь обертки + дебаг не слишком удобен

если замена ноды, то clojure просто, а она уже на jvm работает.
говорят, строк кода выходит меньше и типа за счет этого проще
445 1450607
>>50468
Ну, если ты пишешь хуйню, то лисп может очень сильно ускорить этот процесс.
И резко повысить качество хуйни.
Есть даже шанс получить в результате не простую, а ёбаную хуйню.

>>50509

>говорят, строк кода выходит меньше и типа за счет этого проще


Как-то толсто выходит.
Хотя, это же лиспотред.
14872578539380.jpg336 Кб, 574x890
446 1452576
(define (cont-frac n d k)
(if (= k 1) 0 (/(n k) (+ (d k) (cont-frac n d (- k 1))))))

как эта хуйня работает?
ротебал этот лисп до него у меня не было такого чтоб я писал код и не понимал как он работает. Сука я это почти наугад писал ебаны врот
447 1452577
>>52576
задача 1.37
448 1452580
>>52577
Cерьезно, я лучше буду решать литкоде, чем это говно. Советую с этим завязать.
449 1452963
>>52576

(n k) и (d k) - вызовы функций n и d с аргументом k.
Если к=1, то верни 0. Иначе n(k) / (d(k) + cont-frac(n, d, k-1)). Так понятнее?
450 1453229
>>52963
почему вне зависимости какое значение после условия он мне выдаёт верный результат?
451 1453230
>>52963
почему вне зависимости какое значение после условия он мне выдаёт верный результат?
452 1453231
>>52963
вернее как происходит обрыв цикла почему не имеет значения что будет если к=1
453 1453416
>>53231
Зачем ты берешься за программирование, если не можешь расставить запятые?
Твой вопрос сложнее понять, чем код, который ты привел
454 1453418
>>53416
сасай)
455 1453474
Накатил префэс и дальше не читал, ибо нахуй не надо
Блять какие-то абсракции, эстетика погромирования нахуй, живые организмы и пирамиды... пизздос какойта чё за ебанаш писал всё это?
Вернулся к КерРитчи - лучшей хрестоматии для современного программиста
456 1453542
>>53231

Вчитайся в условие задачи. Там цепная дробь. Распиши на бумаге, что будет скажем для k=2, k=3 и поймешь, почему там возвращается 0.
457 1453566
(cond ( (and (< a b) (< a c)) (define x a) )
( (and (< b a) (< b c)) (define x b) )
( (and (< c a) (< c b)) (define x c) )
(else (define x 0) ) )

define: found a definition that is not at the top level

Что плохого в объявление в бранче? Почему это говно мамонта ругается на меня?
458 1453568
>>53566
(define x (cond ( (and (< a b) (< a c)) a )
( (and (< b a) (< b c)) b )
( (and (< c a) (< c b)) c )
(else 0 ) )
)

Сорян, разобрался но всеравно хуита какаято
459 1453570
>>53566

>Что плохого в объявление в бранче? Почему это говно мамонта ругается на меня?


Откуда вы вообще такие беретесь.
Половина треда вопросов по задачам уровня средней школы, один не осилил функцию в две строки, еще один возвращает определение переменной в функции, еще и в ветвлении, лол
Ты в плюсах и джавах тоже после return объявляешь переменные?
Весь тред хуйни из первой главы, какой же пиздец
460 1453574
>>53570
Я же извинился что тебе ещё нужно?

>объявляешь переменные?


А предположим, я имел в виду присвоение? Ведь в контексте лиспа это разве не одно и тоже?
461 1453582
>>53574

>Я же извинился


Я уже после увидел

>А предположим, я имел в виду присвоение? Ведь в контексте лиспа это разве не одно и тоже?


Я даже хз, что на это ответить
Мало того, что объявляя переменную в операторе ветвления ты неявно подразумеваешь, что ее вообще может не существовать, так она еще и не будет доступна вне cond, потому что есть такая вещь как область видимости
Ну и третье: функция в лиспе должна возвращать какое-то значение, define не возвращает ничего - он связывает какое-то значение с каким-то именем
И это справедливо что для этого говна мамонта, что для любого другого яп высокого уровня
675.jpg17 Кб, 412x430
462 1453611
>>53542
блин эта процедура работает не так как надо по крайней мере, для других задач мне пришлось другую написать потому что эта давала неверный результат, ну или я где-то наконясячил, но когда переписал эту процедуру всё заработало . Но почему то даёт верный результат в данном упражнении. Больше всего меня добило что ответ не зависит от того будет там 0 или мамка вот этого токсика >>53416
>>53570
463 1453666
Аноны, накидайте аниме девочек с сикпом, если не жалко.
464 1453671
А с чего лучше начинать с сикпа или htdp
465 1453673
>>53671
Хтдп для маленьких девочек, которые еще ни разу не программировали.
466 1453674
>>53673
Так ето для меня, только я астольфо.
467 1453685
>>53674

>ето


Хохлопидор, ты?
468 1453688
>>53685
Найс проекции, маня.
469 1453691
>>53688
Точно ты.
Хуи сосешь?
470 1453697
>>53691
Найс проекции, маня.
471 1453701
>>53697
У вас тут рекурсия, пацаны.
472 1456231
>>53674
Там 2 издания хтдп, рекомендую начать с первого, т.к. объясняют лучше.
оп
473 1456318
>>53697
Точно ты.
Хуи сосешь?
474 1456529
>>56318
Найс проекции, маня.
475 1458016
>>47593
Он конечно долбоёб-толстяк, но и ты тоже даун с аргументацией "а чего добился ты" заметь прямая цитата. Вы друг другу подходите.

>>39569
Каждой задаче свой язык. Зачем применять схему "где-то в реальности", если она уже занимает свою нишу как учебный язык? Вот и я не знаю.
476 1458733
>>04382 (OP)
Если лисп такой охуенный, почему он такой непопулярный?
477 1458744
>>58733
Ты же понимаешь, что не все, что стоящее становится популярным. Как и не все, что популярное - офигенное.
Причем в любой сфере. Программирование - не исключение.
Replit.jpg116 Кб, 2186x486
478 1460305
Лиспобояре, помогите разобраться с аппликативным порядком. Если его суть в том, что сначала вычисляются аргументы функции, а потом уже вызывается сама функция, то понятно, почему виснет пример с рекурсивным вызовом (p). Но совершенно непонятно, почему в обоих моих примерах не вычисляется деление на ноль.
479 1460326
>>60305

> Но совершенно непонятно, почему в обоих моих примерах не вычисляется деление на ноль.


c чего ты взял, что оно не вычисляется? Оно вычисляется, просто интерпретатор которым ты пользуешься скорее всего не кидает ошибку при делении на ноль, я думаю, что в y просто лежит +бесконечность. Хотя конечно стоит заметить, что в дефолтной реализации схемы от мита при делении на ноль кидалось исключение.
480 1460329
>>60305
>>60326
чекнул - проверяй
481 1460336
>>60329
Понял, спасибо.
482 1461723
>>04382 (OP)
До чего же интересно решать, наконец дошел до 2й главы, блин как жаль, что работы нет на лиспоподобных языках.
483 1462386
>>61723
Поздравляю с успешной разморозкой
>>1342400 (OP)
484 1462462
>>58733
Каждой задаче свой язык. Зачем применять схему "где-то в реальности", если она уже занимает свою нишу как учебный язык? Вот и я не знаю.
Снимок экрана 2019-08-30 в 15.08.37.png210 Кб, 2208x890
485 1463886
Я не понимаю почему мне выводит unbound symbol!
Какого хрена! Объясните!
486 1463896
>>63886
Иногда прохожу мимо этого треда и греет душу, что, пока я работаю, кто-то дрочит эту хуйню)
487 1463897
Ведь достаточно просто ограничиваться фреймворком и функциональщиной.

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

Я все)
facepalmestatua.jpg104 Кб, 914x607
488 1463990
>>63886

> скриншот кода


> моё лицо, когда


Ссылку на репл дай, додель
489 1464039
>>63886

>(define make-point cons)


Ты через минуту после того как ошибку словил бежишь на двачах спрашивать?
490 1464041
>>63886
у тебя функция вызывается до того, как ее определили
image.png50 Кб, 970x172
491 1465367
лисперы скобочники
492 1466548
>>05373
ООП -- это надстройка над императивщиной, и иначе ее воспринимать не стоит. Вот взять, например, плюсы.
Что можно сделать в плюсах, чего нельзя сделать в си? Методы? Есть функции на указатели. Наследование? Можно засунуть тип A в структуру B, это почти что наследование. Инкапсуляция -- всего лишь защита от дурака, которая не работает, потому что язык слабо типизированный (хотя это конкретно проблема плюсов, а не ООП).
Полиморфизм -- не уникальная для ООП фича, но это единственное, что фундаментально отличает ООП от ИП.
Так что мой безусловно дилетантский совет -- относись ко всему, кроме полиморфизма, как к синтаксическому сахару над ИП, это сильно упростит тебе понимание ООП.
493 1466555
>>66548
А как же interfaces ? Их ты как сделаешь на си? А абстрактные классы?
494 1466562
>>66555
Это как раз проявления полиморфизма в ООП. Я не говорил, что в Си можно запилить полиморфизм.
495 1466564
>>66562
Ну ладно, подумаю еще как подловить тебя.
496 1466566
>>66548

>Что можно сделать в плюсах, чего нельзя сделать в си?


Блядь, но это же какой-то позор...

А что можно сделать в плюсах, чего нельзя сделать в ебаном автокоде?

Бери прям в экзешник в 16ричном коде хуячь.

Охуеть, с такими мощными аргументами еще и не стесняются с умным видом на двач писать.
497 1466575
>>66566
Да так то ничего, просто плюсы это набор костылей над байтоебством, которые вместо того, чтобы решать проблемы байтоебов, создают еще больше проблем.
А если серьезно, это была просто неудачная формулировка, если бы ты дочитал мое сообщение, ты бы понял, что я не считаю, что ИП может заменить все фичи ООП. Не все, но многие.
498 1466644
>>66548

>Что можно сделать в плюсах, чего нельзя сделать в си?


RAII-контейнеры, рекурсивные шаблоны. Твое самое большое заблуждение, что ты считаешь кресты ОО-языком. А кресты переросли ООП примерно тогда, когда в них добавили STL, автор которой противник ООП. Т.е. в начале 90-х.

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


Инкапсуляция делается на си элементарно, более того, она есть в стандартной библиотеке. Структура FILE существует, но у тебя к ней нет доступа, потому что экспортируется она только в виде указателя и доступна в виде "методов" с "конструктором" fopen.
Другой вопрос, что это приводит к тому, что без обязательной аллокации в куче ты хуй что инкапсулируешь, это тебе не private в хедере написать.

>потому что язык слабо типизированный


Щито.

>Полиморфизм -- не уникальная для ООП фича, но это единственное, что фундаментально отличает ООП от ИП.


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

Другой вопрос, что с подобным петушением ты помощи от системы типов не дождешься, поэтому это и не ООП.

>>66575

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


Это от си была куча проблем, включая buffer overflow и format strings в любом сетевом приложении в нулевых.
499 1466681
>>65367
Кто тот скрин писал я того маму ебал
501 1467187
>>66681
Сасай.
Тред утонул или удален.
Это копия, сохраненная 2 октября 2019 года.

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

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