Это копия, сохраненная 21 апреля в 00:32.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Где скачать SICP?
На русском: http://newstar.rinet.ru/~goga/sicp/sicp.pdf
ориджинал: http://web.mit.edu/alexmv/6.037/sicp.pdf
https://git.io/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/1863410.html (М)
Где я ещё могу пообсуждать любимый 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/Installation.html
Для изучения языка-схемы порекомендую первые две главы https://www.scheme.com/tspl4/
Слоником в итт называют книгу The little schemer (но мне он не зашел из-за слишком своеобразной подачи материала).
я, конечно, хуйца положил на программирование, но за тредом слежу, ваш оп, который бился со слоником, которого упрекали в толстоте, что нельзя быть таким тупым и пр
Где я ещё могу пообсуждать любимый 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/Installation.html
Для изучения языка-схемы порекомендую первые две главы https://www.scheme.com/tspl4/
Слоником в итт называют книгу The little schemer (но мне он не зашел из-за слишком своеобразной подачи материала).
я, конечно, хуйца положил на программирование, но за тредом слежу, ваш оп, который бился со слоником, которого упрекали в толстоте, что нельзя быть таким тупым и пр
>2023
>windows
Ебало имаджинировали?
>>2336340 (OP)
Сохраните на незаблокированный видеохостинг, пожалуйста.
>Ебало имаджинировали?
Что не так? Я ставил убунту как-то, через вайн в игоры играл. А потом все наебнулось и перекатился на винду.
У пингвина ведь миллион дистрибутивов, все пакеты называются по-разному, хер разберешь. А какой-нибудь модный арччлинукс поставить, так вообще вместо того, что бы код писать, будешь заниматься поддержанием его жизни. Зачем?
Вроде с сикпа начинал, который у меня не пошел. Потом хтдп вторую версию, она сложная и на ней уперся. Потом слоник, который для моих мозгов вообще не подошел и не пошел нихера. Потом переключился на книжку (в шапке есть), там совсем блядь азы, ее немного попроходил, понял, что все-таки от меня хотят и перешел на хтдп первой версии, она куда проще второй, вот ее и прошел то ли на треть, то ли на половину. Ну и хуй положил по различным причинам. Но хуй положил не из-за того, что уперся, там вполне все получалось. Так прикинул, мне еще год надо было не вылезать из дома, чтобы добить книгу, а жизнь как-то времени столько не дает, Точнее перестала давать. Я же полтора года только погромированием и жил, когда тут вам мозг ебал, а потом время закончилось. Как-то так.
>Лол, помню тебя
Ну да, 1.5 года каждый день тут отсвечивать с дебильными вопросами, тут сложно не запомнить, лол. Ну и треды вроде со 2 или 3 я все перекатывал, да и до сих пор это делаю.
>Не буду отвечать на жирноту
Ответь пожалуйста, я не намеренно жирнил исключение - "Что не так?"
>слоник
Какой слоник? мимо ньюфаг
>жизнь как-то времени столько не дает
А чем сейчас занимаешься? Вкатился в итоге на работу?
>единица - нейтральный элемент для операции
Почему тогда (/) не выдает в ответ 1? Ведь для нее это тоже нейтральный элемент
The little schemer
Хуйней всякой занимаюсь, то халтуры, то домашние дела, то ремонт машины и пр. В работу нихуя не вкатился.
>В работу нихуя не вкатился.
Понимаю, мне в айти только цтфки гонять нравится пывн(тут слабенько) и вебчик(тут получше), а как начинаю учить всю эту йоба хуйню про написание бекендов так скучно становится. Тоже на работу не вкатился. Сикп тож решал полторы главы, ну прикольно, можно и без сикпа вкатиться.
> Ведь для нее это тоже нейтральный элемент
Нет. Хотя бы потому, что деление не ассоциативно.
Ну я просто временем не вывез свободным. Есть шанс, что оно начнет появляться, но пока увы. А скучно мне не было, это как головоломки, мне интересно было.
Я сам изредка в итт захожу, но помню, что бомбило от тупых вопросов, лол, а сейчас прочитал твой пост и наоборот так лампово стало, я все-таки тоже тебе помнится чуть-чуть помогал мимокроком, воть, в общем добра, глядишь еще добьешь слоника понравившуюся книгу, хотя бы чисто для души, добра :3
Спасибо, няша, и за помощь и за слова добрые. Да я не для души, я если возьмусь, там уже с целью все-таки вкатиться. Но так посчитал, надо будет где-то год на это убить. Но так все уже получалось, все хорошо было, так что надежда есть.
Палю годный лайфхак: тебе это "поддержание жизни" даст скиллов для прохождения собеседования больше, чем что бы то ни было ещё.
мимо другой анон
>>2337736
Для того, чтобы научиться программировать, очевидно же. И нет, изучить какой-то язык программирования это не то же самое, что научиться программировать. Конкретно эта книга исключительно хороша тем, что развивает вкус на хорошие абстракции в терминах которых она учит мыслить. Стать 500к/нс сеньором можно и без этого, но многие вполне обоснованно считают, что если начинать с SICP, то потом будет меньше каши в голове и, как следствие, меньше необходимости переучиваться.
Его на что только не переписывали, только какая разница? Если суть не в языке, а в тех абстракциях, которым учит книга, то язык не имеет значения, хотя имеет, чем проще язык тем лучше и схема очень простой язык. Тут нет проблемы применять полученные знания на любом другом языке после.
https://www.youtube.com/watch?v=Vtd2fS0LGyQ&t
перевод на русский лекции SICP. Оригинал.
Перезалей на какой-нибудь пиртуб или brighteon (или еще куда-нибудь)!
Тогда нужно будет каждый шаг пробегать по всему списку. Хуйня будет.
Это значит, что логически этот контент уместен для следующей главы.
Наверняка он требует объяснения каких-то базовых концептов (стейт), которые будут там описаны.
додумался до этой хуйни. правильно чи не? не понимаю до сих пор как это работает. вот например я захочу цифры вставить вместо букв, это же хуйня не будет работать нормально.. или будет?
Так ты попробуй запустить, лол.
нет, работать не будет, как минимум выдаст ошибку unbound symbol: "z"
Если что вывести в консоль можно при помощи display (и ещё newline чтобы энтер поставить)
>Что он от меня хочет
В принципе это нормальное тз
1. Получить числа
2. Определить два наибольших
3. Возвести в квадрат
4. Сложить
Если трудно для понимания то, что на втором скрине, могу посоветовать декомпозировать, чтобы отдельно шел поиск двух наибольших
>(define two-largest-numbers a b c)
А взводы в квадрат и суммирование - отдельно. Так будет проще понять.
Но если я не ошибаюсь, функциональную абстракцию ещё не проходили?
А не, проходили, в глаза ебусь, тогда вообще изи
Нормально. И они выполнят каждое обещание. И уже объяснялось итт, почему не всегда можно всё на месте объяснить (спойлер - потому что нужно разом было бы вводить кучу новых понятий, от которых у тебя бы башка лопнула, и которые дальше по тексту будут введены органично)
А когда ты почитаешь, например "Код" Петсольда, ты столкнешься с "кстати, помимо ripple carry adder существует ещё carry look ahead, который складывает быстрее, но там больше схемотехники. Но мы вам его не покажем, нахуй надо, просто знайте, что такое есть". В итоге мне пришлось самому придумывать и тестировать этот carry look ahead в эмуляторе схем. Ну не охуели?
Только одно Wishful thinking уже ценнее для программиста, чем миллион техник и подходов объясненных досконально. И тебе это наглядно демонстрируют: управление сложностью кода идёт через грамотные абстракции и этим абстракциям необязательно даже существовать. Мы просто воображаем что они как-то работают
Максимально двачую.
Дизайн программы должен идти сверху вниз, от сложного к простому, через декомпозицию. Т.е. мы стартуем с бизнес-требований "сделать пиздато", потом "а что такое сделать пиздато? - ну это то-то и то-то", потом это то-то раскладываем на ещё более простые куски, пока не дойдём до языковых примитивов. А на всём этом пути мы пишем makeAwesome(OurShittyInput) и просто представляем себе, что этот MakeAwesome уже работает так, как нам нужно.
Не, я помню что там вишфул финкинг из фри хандред бакс. Я про то, что хотелось бы тестить че там в задании, а это невозможно.
Я же сейчас не делаю какую-то систему, а учусь делать системы, было бы удобно посидеть покрутить в руках их составляющие, а их не дают.
> Тащем-то лисп-вей - это боттом-ап проектирование
Сначала сделаю то, что даже не знаю нужно ли мне, а потом придумаю как это что-то использовать в связи с чем-то ещё, и буду перебирать комбинации пока не получится то, что мне нужно?
Спасибо
Посмотрел. Трудно вполне понять о чём речь без примеров проектов, которые построены таким образом. Я так понимаю, что этот подход подразумевает обширное использование макросов, иначе как "изменять язык".
Ну с
>It's true that this style of development is better suited to programs which can be written by small groups. However, at the same time, it extends the limits of what can be done by a small group.
Тут сложно поспорить, достаточно представить ебальники большой команды, когда она встретится с таким "эволюционировавшим языком".
А какая связь ассоциативности с нейтральностью элемента? насколько помню определение его не зависит от этого свойства. то что деление не коммутативно - то да, но единица для деления все равно правый нейтральный элемент
2к22 на дворе, больших команд больше не существует, везде микросервисы. По сути в эссе описано то, что потом стало эджайлом и вот этим всем, со спринтами и mvp, как противоположность дедовскому методу "джва года пишем проект на бумаге, потом начинаем кодить понимаем что требования изменились и все выкидываем"
Абстрагировать - значит дать имя процессу, так? А лямбда по сути собирает несколько подпроцессов в единый процесс с единым набором аргументов и выводом. Т.е. это композиция?
Имелся в виду конкретно оператор lambda в схеме.
В сикпе местами конкретно проговаривается, что язык = примитивы, композиция и абстракция. С define всё более-менее ясно - привязывает имя к чему-нибудь, т.е. абстракция. А вот с
(lambda (x) (* x x))
не совсем ясно. Возможно вопрос тупой. Но не гуглится.
С другой стороны можно сказать, что lambda абстрагирует содержимое функции, оставляя интерфейс с аргументами.
>оператор
Особая форма.
Да мало ли чего тебе хотелось бы. Главы структурируются логически - смежные понятия в одной главе, не смежные - в других. Так понятнее и лучше в память ложится. Представь, если бы книга как старый дед начинала что-то объяснять, а потом её уводило хуй пойми куда.
Джава - это особый случай.
1. Всё должно быть объектом, поэтому изволь писать класс-обёртку для своего однострочника
2. Метод main должен быть не абы каким, а именно методом класса, и не должен ничего возвращать, и обязан принимать аргументы из командной строки, иначе компилятор ругнётся
3. Класс-обёртка для него обязан быть публичным
Ну и так далее. Отсюда особая многословность жабовского хеллоуворлда даже по меркам сиподобных языков.
Сорямба за оффтоп.
То ли дело сахарок в шарпе, который позволяет эту хуйню не писать а давайте срач устроим и тред в топы выведем
Да кому не похуй во времена ide.
Могу по теме треда сирануть, например, пикрил угадай что и какое отношение оно имеет с сикпу.
Я знаю джава, шиз это мой рабочий тул, только при чем здесь все тобой сказанное если в том скрине только сам энтри-пойнт метод рассмотрен, без всяких оберток-хуёрток? который с таким именем и около-такой сигнатурой есть во всех около-Сях?
Не для тебя написано, шиз, а для тех, кто интересуется, почему так.
>если в том скрине
Ты не про тот скрин сказал, а про хелловорлд вообще. В жабе он не однострочный ни разу.
Не, это эмулятор электрических схем из второй главы (второй же? А не - третьей). Точнее логических, всякие физические параметры он не считает. А УстойчивоеСостояние - это костыль, чтобы расчёты прерывались по его достижению. Иначе оно вечно считаться будет, а оно синхронное, поэтому гуй в это время отвечать не будет. Хотя если у тебя там подразумевается бесконечность (если ты на транзисторах налипил труе процессор с тактовым генератором, к примеру) то это никак не поможет, только через дебаггер останавливать и смотреть состояния.
А что блять по-твоему еще всегда первым делом по классике приводится в любом руководстве по программированию как первая программа? Ты сейчас наверное начнешь пиздеть "пок пок а кто сказал что это первая". Отъебись от меня, шизик.
Так весь хеллоуворлд в жабе большой, о чём я и сказал, отъебаться он просит, лол, да пошёл ты нахуй, просто как вариант попробуй сам заткнуться.
Какая связь того что он большой с тем, что на скрине предлагается пока не обращать внимания на static-void, идиотина? Сделай вид что спать ушел, не позорься уже.
Ты видимо не с той ноги встал.
Кстати, раз уж пошел оффтоп. Можно ли все-таки задизайнить кириллический ЯП, от которого не будут вытекать глаза? Или славянские языки в принципе для этого не подходят, обязательно нужно что-то более механистическое и иероглифоподобное?
Есть какие-нибудь неожиданные идеи?
Да подходят наверное и можно сделать сиподобный синтаксис, который будет лучше 1с. Но это всё равно будет сосать, потому что все тупа привыкли к латинице.
Привычка - дело наживное. Тут дело не в ней, а в том, что в славянских языках у каждого слова куча форм, поэтому выглядит все деревянно и поломано, если их не использовать. А английский почти что иероглифичный язык, там неизменяемые обрубки слов пихаются куда угодно.
Возможно, надо отходить от привычных концепций синтаксиса вообще, вводить изменение идентификаторов через суффиксы и окончания, что-то такое.
Еще конечно проблема в том, что устоявшаяся терминология вся английская.
> вводить изменение идентификаторов через суффиксы и окончания, что-то такое
Идея, в принципе, неплохая, но не взлетит. Каждый первый разработчик станет городить новые аффиксы как ему вздумается. То есть по факту каждая либа будет включать в себя свой эзотерический DSL. Это ад. Если уж лиспы не взлетели, то и это подавно.
> устоявшаяся терминология вся английская
Более того: в русском слишком мало слов, они все в среднем сильно длиннее английских, и новые слова пиздец кринжово вводить на практике.
>Каждый первый разработчик станет городить новые аффиксы
Так надо сделать так, чтобы были библиотеки этих аффиксов. Но как это может выглядеть на практике пока мозг не поворачивается представить.
А еще я тут подумал, что можно запилить язык на основе Самосбора использовать бюрократизмы, у нас же советский бюрократический язык сплошь состоит из аббревиатур и сокращений. Кажется, для ЯПов такой стиль как раз к месту.
>Более того: в русском слишком мало слов, они все в среднем сильно длиннее английских
В английском корней больше в основном за счет того, что на каждое понятие есть слово с французским и слово с немецким корнем. Английский - это ж франко-немецкий суржик.
>они все в среднем сильно длиннее
Вот тут да (длиннее именно немецких английских), но ведь потому и суффиксы и т.п.!
>новые слова пиздец кринжово вводить на практике.
Вроде бы да, но ведь в то же время "кринжово" - не кринжово?
> Не для тебя написано, шиз, а для тех, кто интересуется, почему так.
> Не для тебя написано, шиз, а для тех, кто интересуется, почему так.
> Не для тебя написано, шиз, а для тех, кто интересуется, почему так.
>Есть какие-нибудь неожиданные идеи?
pisoi'au seltcu sepli lojban
Ничего кроме lojban не нужно.
Идея витает, а обсудить не с кем, - так и висит.
Но ведь задумка-то здравая, не так ли?
Ой всё, нашёлся профессиональный лингвист блядь. Я ж лингвистикой для души интересуюсь
Ды как-то селлинг поинта не нашлось для меня. Японщина, ещё и иероглифы зачем-то (хотя опциональные), а ложбан как открыл увидел предикатную логику и сразу кончил. Потом прочитал учебник и кончил ещё сильнее.
А с кем? Мне же не настолько нехуй делать, чтобы искать рандомных ложбанистов чтобы опять же что - за жизнь базарить? Но видел что некоторые свободно разговаривают. И понятно, почему так хорошо получается. Я же не говорю, что токи пон сложный, я говорю то, что уже сказал.
640x360, 2:10
>А с кем?
То-то и оно! А на токипоне - хочешь в чатик (в телеге емнип был), хочешь - в трежды в /fl/ на бэ добро пожаловать снова (правда давно их уже не видел)
>чтобы опять же что
Ну вот в этом, имхо, и кроется основное отличие языка от концепта языка. Нет носителей - нет языка. И имхо при проектировании этот момент тоже надо учитывать (ЯПов, к сожалению, это тоже касается - тащем-то потому и имеем то, что имеем.)
> Ну вот в этом, имхо, и кроется основное отличие языка от концепта языка.
Ну так ни у одного конланга нет носителей.
А какие-то концепт-проекты есть на любом - те же песни, книги.
Ни то ни другое не новость.
>Ну так ни у одного конланга нет носителей.
У эсперанто тьма (по меркам конлангов), даже нативные есть (вырастут - наверняка скажут спасибо родителям-долбоебам-нитакимкаквсе), у токипоны вот тоже есть. У всяких ифкуилей понятно что нету и поговорить не с кем, а на конлангах для пролетариев - вполне, чому бы и нет.
Аноны, я не понимаю, какое отношение это имеет к программированию?
inb4 >ниасилил
Решил уже. На бумаге, в чем и заключается вопрос.
А, это та самая легендарная задачка, про которую всегда спрашивают, и на основании которой делают заключения, что весь учебник - это про лютый матан. Ничего, скипай. Это вообще не про программирование. Хуй знает, зачем она там.
Как успехи?
Ну типа упражнение на доказательство по индукции, наверное самый распространенный прием при анализе алгоритмов
>И уже объяснялось итт, почему не всегда можно всё на месте объяснить (спойлер - потому что нужно разом было бы вводить кучу новых понятий, от которых у тебя бы башка лопнула, и которые дальше по тексту будут введены органично)
Лел, твои бы слова и преподавателям абстрактной алгебры в уши. Хотя не, там хоть стройно получается, пока до полупрямых произведений не дошли. После этого пизда, нихуя не помню даже смутно. А вот в комбинаторике...
http://web.mit.edu/alexmv/6.037/sicp.pdf работает же
Залил в ипфс:
ipfs://QmRFDVzyrS1GeFNursJ6GSZbLhT4u9wdGHsFXwPgHS7nHd/sicp.pdf
QmRFDVzyrS1GeFNursJ6GSZbLhT4u9wdGHsFXwPgHS7nHd
ipfs get QmRFDVzyrS1GeFNursJ6GSZbLhT4u9wdGHsFXwPgHS7nHd/sicp.pdf
https://download-a-file-from-ipfs.com/?cid=QmRFDVzyrS1GeFNursJ6GSZbLhT4u9wdGHsFXwPgHS7nHd
https://ipfs.io/ipfs/QmRFDVzyrS1GeFNursJ6GSZbLhT4u9wdGHsFXwPgHS7nHd/sicp.pdf
>Книжки по ФП
>https://www.dropbox.com/sh/ugtfwgfilgr0ebu/AABVDeYpTvcqcg22XZnYT8Eca?dl=0
Эта хуйня еще не работает
Не могу понять как здесь рекурсия работает объясните пожалуйста
(define (f x y)
(cond ((or (= x 1) (= y 1)) 1)
(else (+ (f x (- y 1))
(f (- x 1) y)))))
Если столбец равен 1 или строке, то он равен одному, иначе он равен сумме верхнего и левого верхнего элемента:
1
11
121
1331
А что там было я не знаю, у меня куча всяких разных книжек по ФП...
Перевод хлам.
уже не работает, Лол
Толсто, попробуй чуть-чуть потоньше.
Отдавать деньги в ММ. км, ой, простите, GeekBrains, Netologiaб, и прочий инфоцыганский наеб не хочется я же не дебил правильно?
>Why? Because SICP is unique in its ability—at least potentially—to alter your fundamental beliefs about computers and programming. Not everybody will experience this. Some will hate the book, others won't get past the first few pages. But the potential reward makes it worth trying.
Попытаться стоит. Есть вероятность, что ты не окажешься одним из тех людей, которые смогут. Но если окажешься - это будет архиполезно. И даже если не окажешься, но хоть часть сможешь осилить - эта часть будет полезна. Как-то так. Попробовать стоит однозначно, в том числе и нубу. Слишком большая награда, чтобы не попытаться её взять.
>я же не дебил правильно?
Правильно. Всё, что нужно - есть в открытом доступе, и на торрентах есть пираченные курсы. Если прям хочется навернуть говнеца - лучше уж не платить за это.
Главное вопросы задавать.
С пошёлно нахуйной
Нужно дойти до конца.
Посоветуйте, где можно взять книгу на английском в бумажном варианте?
Книга отличная, интересные задачи, функциональное погромирование, только ты ее интересности не оценишь, тебе сравнивать не с чем
На твоем месте я бы прошел первую главу, если в кайф - идешь дальше, если туго идет - иди смотреть udemy или ютуб курсы по C/C++ или python, решай задачи на всяких codewars. Как начнет получаться - возвращайся к книге. Впрочем, это не совет, а собственный опыт.
Поэтому если что не так, поправьте.
Нет, люблю читать что либо в бумаге. Хочу щупать в бумаге, читать и выполнять задачки. Не хочу пдфку или htmlку читать.
никогда не было инсты
Понимаю. Очень тяжело тебе будет. ПДФку или htmlку майкрософт доков ты в бумажном варианте не найдешь, к примеру. А с амазона заказыавть новые стандарты языков с доставкой 70 бачей - грустное дело. Превозмогай
Не, по языкам то вполне себе можно и в онлайне почитать. Особенно уж учитывая документацию.
Но вот SICP, как и некоторые другие книжки, очень уж хочется в бумажном варианте почитать.
Видимо на русеке придётся брать в таком случае...
вкатываюсь в сисп
очень тяжело, но возможно со временем прокачаюсь, если не дропну
как у вас это было?
Ну так же примерно.
Короче, я порешал задачки, но сейчас со временем не очень и хочу делать какой-нибудь проект. Сисп ведь это чисто для себя, на собесе на джуниор-жс всем ведь похуй будет что прорешал эту книгу? Есть вообще примеры итт, когда анон на собесе сказал что знает за сисп и его тут же взяли?
Ты очень странные вещи пишешь.
>хочу делать какой-нибудь проект
И блять сикп создан для того, чтобы тебе в этом помочь.
А не для того чтобы его осилением выёбываться.
>Есть вообще примеры итт
Я думаю ты итт первый, кому вообще такая дичь в голову пришла.
Вот ты почитал, порешал, теперь ты умеешь программировать (надеюсь), иди и делай свой пет на чём ты его там собрался делать, хоть на си, там концепции в книге всеобъемлющие рассмотрены были.
>Есть вообще примеры итт, когда анон на собесе сказал что знает за сисп и его тут же взяли?
Нет, чтение Сисп как вводной книги в программирование это пранк. Она в лучшем случае вводная книга по функциональному программированию, но ФП имеет смысл изучать только когда ты хорошо (хотя бы на уровне решенных на литкоде нескольких десятков Изи задачек) знаешь императивное.
Твоё рождение это пранк.
>Она в лучшем случае вводная книга по функциональному программировани
Представьте ебало не осилившего далее первой главы.
>но ФП имеет смысл изучать только когда ты хорошо (хотя бы на уровне решенных на литкоде нескольких десятков Изи задачек) знаешь императивное
Нет никакого правильного порядка.
Любая попытка зафорсить порядок означает лишь "лично я привык мыслить таким-то образом, и поэтому рекомендую начинать с этого, потому что в противном случае вы привыкнете мыслить не так как я, а следовательно неправильно"
Возьми Modern Javacript с либгена и не трогай душевнобольных итт.
Выше уже разворошил, щас будут выяснять нужен сиспь или нет.
Он тебя не трогал
>Представьте ебало не осилившего далее первой главы.
Ну рассматривать сикп как введение в компиляторы, алгоритмы, структуры данных, архитектуру компьютера, ОС или в Аллаха это совсем смешно. Поэтому да, в лучшем случае введение в ФП и лисп. Проблемс, офицер?
>Нет никакого правильного порядка.
Я и не говорил про правильный, я высказал свое мнение, ответив на вопрос человека. Не надо проецировать на меня свое сектантское прошлое (или настоящее).
>Ну рассматривать кококо кукареку поток сознания
Введение в программирование.
>Я и не говорил про правильный, я высказал свое мнение
И что от этого поменялось? Ты высказал своё мнение про правильный порядок, я высказал своё мнение по поводу твоего мнения. Проблемс, офицер?
>Нет никакого правильного порядка.
Еще как есть. Программирование это управление компьютером, а компьютер - императивный. Программирование начинается с изучения компьютера и его НАТИВНОГО крограммирования. Только после этого можно играться в виртуальной хуетой вроде ФП. Иначе, без знания настоящего компьютера, ты не программист, а макака уровня 1с программиста или секретутки "программирующей" офис, короче, просто пользователь рандомсофта, не больше.
>Еще как есть. Программирование это управление компьютером, а компьютер - императивный
Дальше не читал, на первый раз профилактическая струя урины в ебало, дальше будет отлучение
>Введение в программирование.
Ты можешь блядь нормально разговаривать, а не саркастична срать гринтекстом? Что ты этим хотел сказать? А вот этим?
>Представьте ебало не осилившего далее первой главы.
...
>И что от этого поменялось? Ты высказал своё мнение про правильный порядок, я высказал своё мнение по поводу твоего мнения. Проблемс, офицер?
У меня никаких проблем, я на чилле вообще.
>Что ты этим хотел сказать?
Что хотел, то и сказал. Что сикп =
>Введение в программирование.
А не вот этот вот поток не пойми чего:
>введение в компиляторы, алгоритмы, структуры данных, архитектуру компьютера, ОС или в Аллаха
>Ты можешь блядь нормально разговаривать
Начни с себя
>никаких проблем
К чему тогда была эта фраза:
>Я и не говорил про правильный, я высказал свое мнение, ответив на вопрос человека. Не надо проецировать на меня свое сектантское прошлое (или настоящее).
?
Люди, не имеющие проблем, не разглагольствуют о чьих-то "сектанских прошлых и настоящих" и в принципе на личности не переходят
Постоянство - признак мастерства!
>а компьютер - императивный
10 фраз по которым можно определить пхпшника который не осилил даже программу первого курса любого вуза по комплюктер-релейтед специальности
Не стоит вскрывать эту тему...
Это особым образом упорядоченная материя, которую можно подвергать изменениям и она в ответ сама будет изменять окружающую материю.
Ты понимаешь, что ты уже потраченный?
Приложуха для чтения книг
Ещё на фортран бы послали
>На русском: http://newstar.rinet.ru/~goga/sicp/sicp.pdf
тут вместо книги какие-то алтайские языки
>А если не молод и вовсе не вагон?
Тогда лучше учи актуальный стек, а SICP почитаешь, когда уже вкатишься в свободное время. Я к примеру так и делал.
Что скажете о книгах Кришнамурти и Ко: "Как проектировать программы" и "Введение в программирование и структуры данных"? Интересует мнение тех кто читал. Еще интересна книга Сассмана (один из авторов СИКП, для тех кто не в курсе): "Проектирование гибких программ", но ее у меня пока нет, поэтому не могу оценить.
Купил себе бумажный экземпляр, очень старый.
Вопрос - а вообще есть ли смысл в этой книге? Я чет читал что там объясняются старые подходы к программированию, и сейчас все по-другому. Более того, кроме SCHEME там никакой другой язык не подходит, это правда? Я просто для улучшения навыков в шарпе хотел, да и просто чтобы лучше понимать как программировать "с толком". Неужели все зря?
> бумажный экземпляр
Поставить на полку для выебона, всяким ойтиблохерам и инфоцыганам заебись для фона рассказов про питон. Но ты же сичына, нахуя купил?
Мне электронные книги читать неудобно, глаза устают. Но и читать ее как обычную книгу тоже хуево, тк ничего не запоминаю. Надо именно на практике к ней обращаться. Но как? На работе у меня к сикпу нет отсылок, а придумать не могу
Так ты расскажи, я просто не понимаю. Я нашел мол SICP учит мыслить верными абстракциями. Но зачем SCHEME?
Просто читаешь.
Потом ПРОСТО пытаешься воспроизвести изученное у себя на шарпе. Смотришь, что получилось и как много костылей пришлось наделать, чтобы повторить, а что повторить вовсе оказалось невозможным.
А я делал наоборот и тоже вкатился и наоборот жалею что не прорешал всю, т.к. времени теперь нет.
>Я чет читал что там объясняются старые подходы к программированию, и сейчас все по-другому.
>старые подходы к программированию
Где пишут такую чепуху? Там случайно не пишут, что математика устарела? Такое могут писать только абсолютные неучи. Наподобие таких, которые работают десятками лет в какой то профессии, например сварщиками, и при этом не знают даже малейший теоретических основ. Встречал даже врачей таких, которые не знают как правильно колоть иглу в вену. Мало того, когда им говоришь, что вы делаете не правильно, они начинают раздуваться от гордыни и злобы. Никогда не слушай тех, кто категорично что-то утверждает, не обосновывая никакими фактами.
>Надо именно на практике к ней обращаться.
Правильно мыслишь.
>Но как?
Задачи выполняй. Там же их куча.
>Так ты расскажи, я просто не понимаю. Я нашел мол SICP учит мыслить верными абстракциями. Но зачем SCHEME?
Ты читал вступление? Там же объясняется почему Scheme. Потому что компактный язык без лишнего, потому что имеет нужные фичи для объяснения концепций программирования. Scheme (Lisp) - хорош для любых задач. Как для написания обычных приложений, так и для разработки компиляторов/интерпретаторов или обработки естественного языка. Поняв как решать задачи с помощью Scheme, ты поймешь как это применить в других языках.
>Встречал даже врачей таких, которые не знают как правильно колоть иглу в вену
А как правильно? Я накладываю жгут, говорю пациенту посжимать кулак, смотрю чё там более-менее доступное, дезинфицирую, придерживаю пальцем слегка чтоб не убегала и собственно колю. Потом чуть на себя поршень чтобы проконтролировать что я в вене. Ну и всё.
мимо не врач
А положение иглы? При неправильном положении (срезом вверх, острием вниз), вену прокалывают насквозь. Вены не восстанавливаются.
>А положение иглы?
Я колю так как ты говоришь, но никогда не задумывался о положении иглы. Просто оно как бы более естественно выглядит, не так как если её боком ставить и тем более вверх ногами.
>вену прокалывают насквозь
Зависит от размера вены, разве нет? Если хорошо вогнать, можно при любом положении проколоть.
>Вены не восстанавливаются.
Не понял про что ты, у меня после трансфузионных нормально восстанавливаются, хотя там игла с саму вену толщиной.
По инструкции и применяя здравый смысл, следует иглу ставить срезов вниз (если я правильно понимаю что имеют ввиду под срезом). Тогда плоскость среза будет параллельно вене и не проколет ее, и также она может глубже зайти, особенно актуально когда тонкие вены. В общем так
https://i1.wp.com/fb.ru/misc/i/gallery/26517/981699.jpg
Вот наглядный пример
https://www.youtube.com/watch?v=Gylj3ZziouY
Показывают как по стандартам выполнять внутривенные инъекции, но не уточняют про положение иглы. Вероятно такие "врачи" даже не знают как правильно и никогда не задумывались об этом.
По поводу СИКП все так же. Недоумки могут написать, что в нем учат устаревшим подходам, но это полная чушь. Устаревшие подходы, это как сейчас учат, писать чисто императивно, получая говнокод и кучу проблем с отладкой и поддержкой.
>сикп
>положение иглы при внутривенной инъекции
Там нет никаких старых подходов к программированию. Там просто много концепций, которые уже и без того много где разжеваны, а всякие истины вроде того, что не нужно писать все в императивном стиле сейчас итак знает любой вкатун.
Я именно когда устроился на работу понял пользу этой книги и того, что там излагалось. Зачем например нужны функции высшего порядка и где их использовать. Когда работаешь над учебными проектами все это не очевидно. Конепции усваиваются, когда перед глазами есть явный пример, что "вот тут можно сделать постаринке и получится так себе, а вот тут можно применить штуку из книги и будет эффективнее". Абстрактные примеры вроде всяких факториалов хороши как демонстрация работы тех или иных конецепций, но если применять только на них (или каких-то выдуманных из головы примеров), то усваивается так себе.
>Я именно когда устроился на работу понял пользу этой книги и того, что там излагалось.
Понял сразу, когда устроился на работу начал активно применять.
>Абстрактные примеры вроде всяких факториалов хороши как демонстрация работы тех или иных конецепций, но если применять только на них (или каких-то выдуманных из головы примеров), то усваивается так себе.
Охуенно усваивается.
>Там просто много концепций, которые уже и без того много где разжеваны
Где например? Словосочетание "абстракция данных" встречается в основном в старых книгах 70-90 гг.
>всякие истины вроде того, что не нужно писать все в императивном стиле сейчас итак знает любой вкатун
К сожалению нет. Видел чуваков с 20 годами опыта, которые кроме джавишного манямирка вообще ничего не знают. Еще и работают тимлидами, а иногда даже архитекторами! Не нужно лепить из русскоязычных программистов каких то академиков. Они часто крайне малообразованны. К тому же еще не умеют и не хотят учиться ничему. Еще агрессивны, самодовольны и ленивы.
> Не нужно лепить из русскоязычных программистов
>русскоязычных
Начинается, то ли дело англоязычные или индоязычные...
Окстись, половина программистов в любой точке планеты - самоучки, тем более блядь в сша, где вузик автоматически означает кредит.
Да, и чё? По итогу то на то и выходит, там самоучки от бессилия заплатить за вуз, здесь самоучки от бессилия вузов дать знания. Вернее не дать, а скорее проверить.
Я имею в виду вкатунов, которые вкатились недавно. Джаваопущенцы со стажем мимо кассы. Это вообще необучаемвя порода.
>от бессилия вузов дать знания
Да не пизди. Я сам учился и все видел. 90% расиянинов ходят на пары не учиться, а проебывать время. Некоторая часть вообще не ходит, тупо закидывают взятку на экзамене и все.
>Я имею в виду вкатунов, которые вкатились недавно. Джаваопущенцы со стажем мимо кассы. Это вообще необучаемвя порода.
Сорта говна.
у вас все ссылки в шапке мёртвые
1280x720, 4:05
> Да не пизди. Я сам учился и все видел. 90% расиянинов ходят на пары не учиться, а проебывать время. Некоторая часть вообще не ходит, тупо закидывают взятку на экзамене и все.
Чел, ты мой пост читал? Специально для тебя же поправил - "проверить". Основное, зачем вуз существует (любой, вне зависимости от места дислокации) - это не чтобы знания давать, а чтобы давать задания на курсовые, устраивать экзамены и т.п. Просто в дешёвых вузах преподам платят мало и легко забашлять, а по итогу много забашлявших и тому, кто при приёме на работу на твой диплом смотрит - трудно понять, действительно ли ты сам сдал или "сам заработал - сам сдал".
вебм шутки ради, если чё
Сейчас занялся повторением хтмл цсс, плюс планирую немного выучить жс и реакт. Дальше нужно что то выбрать для бэка. Пока для себя выделил C#, PHP, node js, django и Go. У каждого свои плюсы и минусы, на мой взгляд:
Go - новый яп, на него будет очень мало инфы, значит вкат будет долгим и тяжелым, но зато там самая небольшая конкуренция.
Django - почему то срут и говорят, что не стоит его учить, хотя по мне там самый понятный синтаксис.
Node js - вроде как не особо популярен, не знаю ни одного серьезного проекта на нем, но это же по сути тот же жс, а с ним я уже знаком, что упрощает вкат.
PHP - староват, новые проекты на нем вроде уже не пишут, да и синтаксис нетипичный, но при этом по нему можно найти больше всего инфы.
C# - сам по себе бесполезен, нужен асп нет, ну и проектов тоже на нем немного.
Джаву и Руби не рассматриваю.
>Основное, зачем вуз существует (любой, вне зависимости от места дислокации) - это не чтобы знания давать, а чтобы давать задания на курсовые, устраивать экзамены и т.п.
Это можно оспорить, но мой посыл был не об этом. Это ты мой пост не читал. Ты написал, что российские ВУЗы ничего не дают, поэтому российские челы самоучки. А теперь, блять, пишешь, что ВУЗы и не должны ничего давать? Ты ебанат штоле?
Я же писал о другом. О том, что российские студенты - идут в ВУЗ не для того чтобы получить знания и умения, а просто чтобы получить бумажку aka диплом. Это во всех профессиях так.
>Go - новый яп, на него будет очень мало инфы
Откуда вы беретесь? Только за 2022 года по Go вышло десятки книг. Десятки! Libgen знаешь? Зайди и посмотри. Надеюсь, ты способен отсортировать книги по году, чтобы удостовериться, что я прав.
>Node js - вроде как не особо популярен, не знаю ни одного серьезного проекта на нем
Ну откуда вы беретесь? С какого такие выводы? Это такой троллинг?
>PHP - староват, новые проекты на нем вроде уже не пишут
Продолжаешь свои мантры?
>C# - сам по себе бесполезен
Вот это настоящая вишенка на торте. Поздравляю, ты сдал экзамен на полного долбоеба. Результат положительный.
>Только за 2022 года по Go вышло десятки книг. Десятки!
И кто сказал, что они хорошие или там есть нужная инфа? Да и мне проще учиться по гайдам, чем по книгам.
>>2522674
Ну так докажи обратное.
>>2522675
Так ты ещё больший долбоеб. Вместо контраргументов пишешь про мантры, троллинг и торты. Ни одного слова по делу.
PHP
Отвечаешь вопросом на вопрос? Еще и требуешь что-то доказывать? Сначала ответь на мои вопросы. И не забывай, что это ты новичок и ты пришел с вопросом какой язык выбрать, а не я. Теперь же ты пытаешься учить меня. Это не абсурд? Яйцо курицу не учит.
>А теперь, блять, пишешь, что ВУЗы и не должны ничего давать?
Я сказал рос вузы не дают проверки знаний, которую они должны давать, потому что там можно дать взятку. Заебал хуйню нести.
>но мой посыл был не об этом
И чё теперь? Я твой посыл прекрасно понял, но у меня нет обязательств все тезисы под тебя подгонять. Захотел - озвучил другой тезис.
>Отвечаешь вопросом на вопрос?
Пиздец, буквально ни одного вопроса не задавал тебе, еблану.
>Сначала ответь на мои вопросы.
Отвечаю: иди нахуй.
>И не забывай, что это ты новичок и ты пришел с вопросом какой язык выбрать, а не я.
Ну так раз тебе ответить по делу нечего, сиди и не пукай. К тому же, я твою трудовую не видел, мб ты вообще троль залетный и просто сидишь выебываешься.
>ни одного вопроса не задавал тебе
А это что?
>>2522677
>И кто сказал, что они хорошие или там есть нужная инфа?
Ты написал, что мало инфы, я это опроверг фактами. Какого хера после этого я обязан отвечать на бред про то, что книги плохие и т.п.? Может вместо тебя еще почитать?
>Ну так докажи обратное.
Сначала обоснуй почему это вдруг Node.js непопулярен и вот этот бред:
>>2522661
>Node js - не знаю ни одного серьезного проекта на нем
Типа если ты не знаешь какие компании пишут "серьезные" проекты на Ноде, это является признаком, что на Ноде не пишут серьезные компании свои серьезные проекты? Можешь обосновать? Конечно нет. Ты сто пудов даже гитхаб не открывал чтобы посмотреть какие опенсорсы есть на Ноде. Дебил.
>Вместо контраргументов пишешь про мантры, троллинг и торты.
Сначала приведи аргументы почему на PHP не пишут новые проекты. Это и есть ответ вопросом на вопрос. С хуя я должен приводить аргументы, если ты дебил не привел ни одного, а просто свое мнение?
>C# - сам по себе бесполезен
>проектов тоже на нем немного
Это обоснуешь, придурок? Тогда может и поговорим.
>А это что?
Это утверждение.
>я это опроверг фактами
Какими? "Ряяяя, десятки книг вышла!!"?
>Сначала обоснуй почему это вдруг Node.js
Тупой еблан, я в самом начале написал, что не видел ни одного серьезного проекта на нем и ты сам же это цитируешь, чё ты тогда просишь обосновать?
>Типа если ты не знаешь какие компании пишут "серьезные" проекты на Ноде, это является признаком, что на Ноде не пишут серьезные компании свои серьезные проекты? Можешь обосновать? Конечно нет. Ты сто пудов даже гитхаб не открывал чтобы посмотреть какие опенсорсы есть на Ноде. Дебил.
Нахуй мне твои опенсорсы с гитхаба не нужны.
>Сначала приведи аргументы почему на PHP не пишут новые проекты. Это и есть ответ вопросом на вопрос. С хуя я должен приводить аргументы, если ты дебил не привел ни одного, а просто свое мнение?
Так а что пишут нового на нем?
>Это обоснуешь, придурок? Тогда может и поговорим.
Обосновал тебе за щеку короче. Иди других доебывай.
С тобой все ясно. Напыщенным идиотам никто помогать не будет.
Я даже не знаю как это комментировать. Ты высрал несуразные "утверждения" и еще возмущаешься?! Ты пришел сюда, кинул не подтвержденные ничем высеры, и что ты ждешь? Один твой высер я опроверг. Остальные не вижу смысла подтверждать фактами, до тех пор, пока ты не подтвердишь фактами свои высеры. Ты просишь совет, но ведешь себя так, как будто сам все знаешь лучше других. Может тебе тогда съебать отсюда? Зачем тебе ответы, если сам все знаешь? Ты же так охуенно осведомлен обо всем. Оказывается Нода непопулярная, никто ничего серьезного на ней не пишет. C# оказывается вообще бесполезный (на хера только его создавали, да?), ну и все в этом роде. Если у тебя такой манямирок и тебе в нем комфортно, зачем мне тебя переубеждать? Ты просто необучаем. Это факт. Над тобой можно только посмеяться или посочувствовать тебе. Помочь тебе другие не смогут, не только я, вообще никто. Потому что ты не способен к обучения. Ты полон, а для обучения ты должен быть пуст. Иначе как впитывать знания. Прости за оскорбления, не сдержался, виноват. Мне тебя жаль если честно.
Мне собственно поебать что изучать - Racket или Scheme, но по первому кажется получше обучающие материалы.
Чел, ты не дохватил. Читать SICP и делать задачи - это примерно два года. На этом фоне адаптация к диалекту лиспа меркнет по значимости, тем более что она решается за один вечер - ставишь DrRacket и в начале кода указываешь диалект - scheme.
Знал бы ты как мне похуй, что там у тебя знакомые с работки делали.
Ты блядь открывал саму книгу-то?
https://sicp-solutions.net/
The plan is for each chapter: ...Complete all the 356 exercises by myself
350+ задач. Иди сделай хотя бы десяток, перед этим прочти материал, замерь время, придёшь, расскажешь.
Знакомые у него изучали, угу.
Хз, я в тиньке сейчас работаю, спрашивал у тимлидов че почитать и изучить когда обсуждали тему литературы. Собственно подозреваю что речь не про глупых людей или среднего двачера
Тинёк сразу поднялся в моих глазах (не то чтобы он раньше был низко, но сейчас ещё выше)
>Если изучить основы Racket, то получится ли нормально читать и выполнять задачи из SICP
Хм, на такой вопрос нельзя ответить да или нет. Ты пробовал читать СИКП? Похоже нет. Ты имеешь представление о Racket/Scheme? Видимо тоже нет. Чтобы начать читать СИКП и решать задачи из него, не нужно изучать Racket. Все что нужно дается в самом СИКП. Язык простой, а в СИКП используется еще и небольшое подмножество Racket, а не все функции языка.
Тебе нужно понять самое главное. Знание любого языка даже в совершенстве, будь то Racket или любой другой язык, не дает знаний и умений для решения задач. Программирование - это не язык. Язык можно сравнить со скальпелем хирурга, а программирование с мастерством хирурга грамотно диагностировать и виртуозно оперировать пациента. Понял аналогию? Язык - инструмент. Умение пользоваться инструментом не дает автоматических знаний и умений решать задачи с его помощью.
Можно сравнить с игрой в шахматы (в СИКП приводится именно такая аналогия). Знание языка программирования подобно знанию как ходят фигуры в шахматах. Ты сможешь играть в шахматы с любым игроком, но побеждать ты не сможешь. Потому что знаний как ходят фигуры недостаточно. Точно также недостаточно знания языка чтобы программировать. Для того чтобы выигрывать в шахматы, нужно знать и уметь применять общепринятые дебюты, тактики и стратегии, или даже придумывать новые. Точно также чтобы программировать, нужно знать и уметь применять, а также реализовывать структуры данных, алгоритмы, архитектурные подходы и многое другое.
Советую тебе начать не с СИКП, а с книги "Как проектировать программы". Это перевод легендарной книги HTDP. Она очень похожа на СИКП, тоже написала специалистами из MIT. Вроде даже Джеральд Сассман (один из авторов СИКП) участвовал в написании. Она лежит в сети, можешь скачать.
>>2527141
>Читать SICP и делать задачи - это примерно два года
Чиво? Откуда такие цифры? В русскоязычной среде почему то всегда из крайности в крайность. Нет никогда никакого даже намека на здравость. Или говорят, что СИКХ херня и пройти его может даже ребенок, или что он неосиливаемый. Нет ни намека на логику и здравость.
>>2527619
>Знал бы ты как мне похуй, что там у тебя знакомые с работки делали.
А то по тебе не видно. Зато свое "очень важное" для других мнение ты вставляешь как затычку во все дыры. Лул
>>2527619
>Ты блядь открывал саму книгу-то?
Ну я открывал и что? Если ты догадался, я не этот >>2527233 чел.
>350+ задач.
Зависит от бекграунда и общей эффективности человека. Некоторые вообще все делают очень медленно. Другие могут быстро, но тратят много времени на ненужную ерунду вроде соцсетей и видосиков.
>Если изучить основы Racket, то получится ли нормально читать и выполнять задачи из SICP
Хм, на такой вопрос нельзя ответить да или нет. Ты пробовал читать СИКП? Похоже нет. Ты имеешь представление о Racket/Scheme? Видимо тоже нет. Чтобы начать читать СИКП и решать задачи из него, не нужно изучать Racket. Все что нужно дается в самом СИКП. Язык простой, а в СИКП используется еще и небольшое подмножество Racket, а не все функции языка.
Тебе нужно понять самое главное. Знание любого языка даже в совершенстве, будь то Racket или любой другой язык, не дает знаний и умений для решения задач. Программирование - это не язык. Язык можно сравнить со скальпелем хирурга, а программирование с мастерством хирурга грамотно диагностировать и виртуозно оперировать пациента. Понял аналогию? Язык - инструмент. Умение пользоваться инструментом не дает автоматических знаний и умений решать задачи с его помощью.
Можно сравнить с игрой в шахматы (в СИКП приводится именно такая аналогия). Знание языка программирования подобно знанию как ходят фигуры в шахматах. Ты сможешь играть в шахматы с любым игроком, но побеждать ты не сможешь. Потому что знаний как ходят фигуры недостаточно. Точно также недостаточно знания языка чтобы программировать. Для того чтобы выигрывать в шахматы, нужно знать и уметь применять общепринятые дебюты, тактики и стратегии, или даже придумывать новые. Точно также чтобы программировать, нужно знать и уметь применять, а также реализовывать структуры данных, алгоритмы, архитектурные подходы и многое другое.
Советую тебе начать не с СИКП, а с книги "Как проектировать программы". Это перевод легендарной книги HTDP. Она очень похожа на СИКП, тоже написала специалистами из MIT. Вроде даже Джеральд Сассман (один из авторов СИКП) участвовал в написании. Она лежит в сети, можешь скачать.
>>2527141
>Читать SICP и делать задачи - это примерно два года
Чиво? Откуда такие цифры? В русскоязычной среде почему то всегда из крайности в крайность. Нет никогда никакого даже намека на здравость. Или говорят, что СИКХ херня и пройти его может даже ребенок, или что он неосиливаемый. Нет ни намека на логику и здравость.
>>2527619
>Знал бы ты как мне похуй, что там у тебя знакомые с работки делали.
А то по тебе не видно. Зато свое "очень важное" для других мнение ты вставляешь как затычку во все дыры. Лул
>>2527619
>Ты блядь открывал саму книгу-то?
Ну я открывал и что? Если ты догадался, я не этот >>2527233 чел.
>350+ задач.
Зависит от бекграунда и общей эффективности человека. Некоторые вообще все делают очень медленно. Другие могут быстро, но тратят много времени на ненужную ерунду вроде соцсетей и видосиков.
Нюфагу как первую книгу СКИП читать не нужно.
Книга ебучий душный отстой - устревший язык, сферически задачи в вакууме, ненужная теория без инстант примения. Если прагматично подходить к вопросу изучения погромирования, то у нюфани цели - найти первую работу за еду или хотя бы запилить небольшую утилиту для себя(конкретная проблема). СКИП не поможет в этих двух самых главных мотивациях, а будет только чистой потерей времени на абстрактное петушение.
Олдфагу читать СКИП не обязательно.
Книга прпагандирует функциональный подход к решению задач и читается как сказка про поней, которые живут в дружбе-магии без сайд-эффектов. А а суровая рельность ровно обратная к ней: все по локоть в этих сайд-эффектах, пишут как попало, иногда тесты тестируют тесты, кодогенерация добовляет грязноты и прочее. В реальных условиях ОО-подход к проектированию оказался лучше чем функциональный - он лучше скрывает и абстрагирует всю сложность, поэтому изучать что-то кроме него избыточно.
Зачем нужен этот тред?
Набор в секту. Секта сама себя не наберет.
Старт поста и сразу жир.
А вообще пост прекрасен, там над каждым предложением можно улыбнуться. Так что пиши ещё.
>Морально устаревший, да.
Что это значит? Какое то невнятное бормотание. Похоже у тебя нет никаких обоснований. Clojure (Лисп) второй из самых любимых языков по результатам опроса Stackoverflow за 2021 год.
https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread
>В прод его не потащишь
Смотри опрос.
Сборник отборного бреда. Буквально все высказывания идут против фактов и логики. Такое опровергать не имеет смысла. Оппонент все равно ничего не поймет, ибо не использует мозг по прямому назначению (чтобы размышлять).
>Морально устаревший, да. В прод его не потащишь т.е. сразу отпадает денежная мотивация изучать.
Clojure еще и самый высокооплачиваемый язык. Хорошо если ты тролль, потому что если ты по правде так мыслишь, у тебя большие проблемы. У тебя нет будущего в программировании. Большого будущего. Твой максимум это
>>2528869
>работу за еду
Обоснований не последовало. Пошли оправдания. Твой высер то побит. Лисп живее всех живых. Один из самых любимых и самый высокооплачиваемый язык.
>реальная работа делается у петровичей в пивнухе с тремя сортами светлого
Вот видишь, даже не видя и не зная тебя, я попал в самую точку. Твой максимум быть низкоквалифицированным кодером, не программистом даже. Работать за еду. Ты сам сделал свой выбор. Свинья везде грязь найдет. Нет смысла ее мыть, она все равно вываляется в грязи.
И сколько у тебя лет опыта коммерческой разработки на кожуре, эстетушка ты наш?
Или таки в грязи валяешься, мечтая о высоком?
ваш оп
так не хочется изучать схему :(
Что там изучать? За час-полтора можно буквально прочитать всю спеку языка, базовый синтаксис и все необходимые функции помещаются на один слайд
chicken или guile подойдет?
мимотольковкатываюсьвсикп
Так со всеми языками. Подмножество стандарта + расширения, в большинстве бесполезные.
Качаешь Ракетку, запускаешь DrRacket, пишешь #lang sicp и фигачишь.
На котором не читал, на том и не читай.
Хуево на питоне, только на оригинале надо
Проходи на чём хочешь.
Проблема в том, что все эти реворки-реимейджины не являются признанными сообществом материалами с многолетней историей, и ни один человек на планете не гарантирует, что:
1. Оттуда не будут выкинуты главы (пайтон версия вроде только первые три главы включала)
2. Там будет доступна изложена та или иная тема (в некоторых языках делается косоёбно то, что в схеме делается легко)
3. Не будет первых двух пунктов вместе.
4. Не будет других подводных, например в языке функциональщина есть, но оптимизации хвостовой рекурсии нет, поэтому твоё приложение может переполнить стек и ты не поймёшь какого хуя
И нет в мире специальной команды ревьюеров, которая штудирует эти материалы и выдаёт вердикт, т.е. по хорошему надо их читать, сравнивать с сикпом и выносить вердикт самостоятельно, но тогда тебе нужно читать и неповторимый оригинал, и пародию, степень жалкости которой ты проверяешь, а тут возникает вопрос а нахуя студенту этим заниматься.
Едрить у него вебодинноль конечно
мимо полтора года стажа в кодинге
офк с вкатом никаких проблем не было в своё время, т.к. после даже той толики сикпа, что я осилил, я стал полубогом, единственная проблема что на промышленных языках в 90% случаев тупо не хватает выразительности, а в 10% оставшихся очень заёбно продавливать своё решение через команду, т.к. оно выглядит не так как принято писать на языке X, потому что на языке икс принято копипастить
Так и есть
>SICP is about deeply understanding computation.
Scheme is a good language for SICP because it's simple. You can build a Scheme interpreter as a class project. You can analyze it formally. Etc.
Python is a good language because it's readable and writeable. But it doesn't work for SICP since it's too complex for that. Python also intentionally omits things critical to SICP (like tail recursion).
Calling this book "SICP in Python" would be like taking your favorite poem, releasing it into a different language, and finding that the translators wrote a completely different book, with a different theme, to make it rhyme and the rhythm hold. Just something different with the same name.
Для выразительности есть хаскель, работа на нем, могут помочь Metalamp в поиске работы, если действительно шаришь.
Да я подумываю куда-то в скалу и подобное податься.
Я давно читал и не помню, что там за язык.
Помню только про функциональную абстракцию, абстракцию данных, данные как код, стейт, мутабельность, eval-apply и прочую херь
Это книга тебе прямо с порога пояснит кто ты по масти - программист-математик вольный или позер-неосилятор опущеный. Если тебя не тревожит вопрос тюремной программной иерархии, то забей на нее.
Как выше сказали есть два варианта
1. Ты ничего не поймёшь, но будет очень интересно, начнёшь вникать, вникнешь, люто кайфанёшь, будешь всем советовать, на императивные языки всю жизнь будешь смотреть как на говно, из-за этого у тебя будет гореть жопа всю жизнь потому что работать ты будешь на императивных языках, а листая вакансии на функциональщине обнаружишь, что на хаскель 2 вакансии, на скале - 30, на кложе - 0, ну и так далее.
В императивных языках функциональщина много где есть, но много где на ревью будут заворачивать функциональный код кроме совсем каких-то каноничных всем известных случаев, с формулировкой "сложно нипанятно, нам нужен поддерживаемый код чтоб его могли прочитать другие программисты"
Такие в отзывах ставят книге 5 баллов
2. Ты ничего не поймёшь, и интересно не будет. Придёшь поворчать в тред о потерянном времени, при упоминании сикпа в положительном ключе будешь рваться. Такие ставят в отзывах 1 балл.
В айтишку совершенно точно нельзя если бан в гугле
Объясните мне смысл и актуальность htdp сейчас
Мне его советовали вместо шемы когда я начал увлекаться программирование для себя, но дальше так и не пошло, как писал свои рогалики на питоне и скрипты для себя, так и пишу, но несколько глав на хтдп прошел и мало что понял, даже сикп был понятнее с его примитивами. Может дело в подаче материала.
В чем в конечном итоге профит этой книжки и насколько она актуальна в 23м? И не надо меня посылать читать заглавие
>бейсик
>паскаль
Звонили из времен Корвета и вкусной жвачки звонили, говорят 64 кб должно хватить всем
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
Edsger Wybe Dijkstra
Это не "последнее" издание, а инициатива конкретного профессора откуда-то из Сингапура, что ли.
Согласен
Просто в вики это указано последним изданием сикпа
Очередной придурок пришел с кривым переводом на js.
Надо курс по курсу по курсу, а то не поймешь.
Ссылка на русский перевод мертвая, можете перезалить куда-нибудь, плиз
И она вывела на ссылку из шапки
это не для вкатышей книжка, через пол года приходи
HtDP попробуй сначала
Очевидно, надо попробовать.
Аноны, а что за книга htdp? Типо идейный продолжатель сикпа?
Типа адаптация попроще, посмотри, она кстати недавно вышла на русском, но просили за неё 4000 (у издателя - 2000)
Книга офигенная, в переводе слишком дофига опечаток и прочих косяков.
Статья от авторов HTDP о том почему SICP не подходит для вкатунов.
https://www2.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf
Законы не выполняются без ассоциативности. Должно быть a / 1 = 1 / a = a.
Уже скидывал ссылку про это
>>2668455
Если не можешь в английский, то вкратце там смысл в том что SICP предъявляет необоснованные требования к знанию предметной области типа математики и физики и после него у студентов складывается неверное впечатление что программирование это ерунда, а вот по настоящему надо учить предметную область.
Это пишут профессора MIT лол, так что думай.
>что программирование это ерунда, а вот по настоящему надо учить предметную область
Так это правда, лол. Программирование само по себе нахуй не нужно, это всего лишь инструмент, язык для общения с компьютером, который в любой момент может поменяться на что-то другое. Куда более важно знать базовую алгоритмику, матешу, алгоритмы и структуры данных, предметную область, в которой ты работаешь и т.д.
>базовую алгоритмику, алгоритмы и структуры данных
В контексте той статьи это и есть программирование, наряду с проектированием, паттернами и т.д.
А вот рандомная матеша и предметная область - нет.
Основная мысль там в том что студенты первого курса должны научиться правильно проектировать программы перед тем как обмазаться предметной областью.
>Основная мысль там в том что студенты первого курса должны научиться правильно проектировать программы перед тем как обмазаться предметной областью.
Это база, но на примерах обьянить намного проще, разве нет? Особенно если они связаны с твоим обучением. Насколько я знаю, что у нас, что у них физика и матеша с младших курсов идут параллельно с программированием, поэтому это не должно быть большой проблемой. Только представь как круто, когда тебе показывают как решить проблемы из другого предмета с помощью компухтера и программирования. Это, во-первых, позволяет лучше понять программирование и саму предметную область, во-вторых, ты учишься на реальных примерах, а не манязадачках про яблоки.
Я просто тоже бугуртил с численных методов в универе, когда мы астрофизикой и гидродинамикой на кафедре информатики занимались. Но в будущем это информация очень помогла на работе.
> примерах обьянить намного проще
Если эти примеры помогают объяснению то да, если же примеры сами по себе отдельная проблема то скорее нет. Вот сравнительная табличка из статьи где видно что СИКП в целом предлагает либо оторванные от реального кодинга задачи, либо очень специфичные типа создания компилятора.
>Я просто тоже бугуртил с численных методов в универе, когда мы астрофизикой и гидродинамикой на кафедре информатики занимались.
Ну там суть в том что СИКП позиционируется именно как курс введение в программирование. Никто не отрицает нужность других дициплин.
Соглашусь.
хтдп 1 версии накати, на пальцах все объясняют
В школе особо не учился, из-за чего базы математики у меня совсем нет. После неё начал учиться программировать на Си, писал какие-то утилитки, изучал работу с памятью, указателями: в общем всем дефолтным для си. Так прошёл год. Сейчас встала проблема, что я вообще не разбираюсь в алгоритмах и ПРОГРАММИРОВАНИИ. Такое чувство, что мой сейв в программированни уже закаррапчен и проще с нуля начать. Особенно проблема с математикой и алгоритмами выскрылась, когда пришлось разбираться с тем, как разархивировать данные из файлика одной игры(фоллаут1). Открыл книгу по архиваторам и после введения не осилил. Так вот, мне нужен совет: стоит ли мне сначала получить базу математики, забыть программирование, заняться алгоритмами и попробовать осилить SICP? Говорят, она приводит мозги в порядок и меняет взгляд на программирование в целом. Время вроде есть, мне 19 сейчас, семью кормить пока не требуется. Или эта идея идиотская? Не знаю что делать, но недостаток знаний математики и алгоритмистики явно вижу и с этим надо что-то делать
Что мешает совмещать изучение "математики" и программирования?
И сам ты её врят ли осилишь, бери репетитора
SICP не панацея, ничего там такого особенного нет
>Что мешает совмещать изучение "математики" и программирования?
Я считаю, что дальнейшее изучение программирования будет только вредить, больше говнокодить буду и придумывать хуже по эффективности решения. Я слышал, что математика и алгоритимистическая база должна помочь с этим. Поэтому и спрашиваю, есть ли в этом смысл, может это мне вообще свидетели математики и алгоритмов залили в уши
Повторяю в миллионный раз. Никакая математика для программирования в общем случае не нужна. Если только мы не говорим о какой-то специфической предметной областью.
Всё то, что программисты обычно называют "знанием математики", в реальности является школьной программой класс за 7-8 (комбинаторика + базовые алгоритмы).
Современная прога это не про алгоритмы и математику, а про умение быстро изучать библиотеки и фреймворки, через гугл, чтение документации и вдумчивое экспериментирование. Экспериментирование не по типу "я тыкнул сюда и охуел от ошибки", а прям по манянаучному, придумал гипотезу, определил критерии ее проверки, проверил, зафиксировал результат и так по кругу.
И про отладку, а это умение пользоваться логированием, отладчиками, файловой системой и в целом ОС.
Версионирование кода тоже очень важно, чтобы не охуевать от ситуаций по типу "ну вчера же запускалось". Поэтому надо знать базу гита/свн как свои пять пальцев.
А математика и алгоритмы нужны либо в научном программировании, либо гейдев какой-нибудь, но туда ты случайно вряд ли попадешь, поэтому можно не переживать.
>Не знаю что делать, но недостаток знаний математики и алгоритмистики явно вижу
>стоит ли мне сначала получить базу математики, забыть программирование, заняться алгоритмами
На первоначальном этапе - НАХУЙ НЕ НУЖНО. Прежде чем погружаться в омут матана ты для начала научись писать софт БЕЗ БАГОВ. Хуле толку от твоего деархиватора, если он от любого чиха будет вылетать. Какой бы ты там ультрасложный математический инженерный софт не писал, от него будет нулевая польза, если он не может работать штабильно без вылетов, не лагая, не подвисая, чтобы не утекала память в никуда и т.д.
Ну и плюс, сейчас всё завязано на ДАННЫХ. Данные нужны везде - в финансах, на производстве, в маркетинге и т.д. Базы данных нужны везде. Реальность такова, что как бы ты там не усирался с алгоритмами, зачастую скорость зависит от базы данных. Пока она твой запрос не обработает, все твои алгоритмы идут нахуй.
Логичнее учить программную инженерию и базы данных вначале. Потом уже года через 3 можно и алгоритмы/SICP дрочить. Сейчас ты ничего не поймёшь и тебе это никак не пригодится. Ну окей, ты выучил графы и что? Ты выучил матрицы и что? Что это из этого должно следовать-то?
Нет, трахать в данном случае следует как раз тебя. Нельзя было 10 лет назад сразу сделать нормально?
Как начнутся, так начнутся.
Как вкатился? Заебался работать на заводе, хочу куда-нибудь, где платят нормально. А это только айти у нас, если не считать кабанчиков. Пытался си шарп изучать, но у меня наебнулся комп, новый даже вижуал студио не тянет, приходится ковырять сикп, но подозреваю, что такими темпами я никуда не вкачусь.
> второй день не могу сделать
Ты ахуел? Я над некоторыми заданиями по несколько вечеров сижу, а он на второй день сдался.
А если серьезно, не парься, там бывают реально сложные упражнения. Смысл не в том, чтобы получить правильный ответ (кому он вообще нах нужен), а в том, чтобы ты в процессе поиска решения усваивал ту или иную концепцию. Прежде чем писать код, идеально вообще просто на листочке накидывать свои мысли, схемы, просто все, что в голову придет, а дальше все это анализировать, упорядочивать и таким образом приходить к решению.
Главное, не бросай, СИКП это лютейшая базовая-пребазовая база. Там дается фундамент, на котором буквально основано программирование (и за 40 лет ниче не поменялось, лол). А главное, ты научишься ДУМОТЬ как программист, сформируешь правильную ментальную модель, а это просто бесценный навык, который ни на каких говнокурсах не получишь.
Так что советую не останавливаться и пройти ее до конца, пусть даже потратишь полгода-год. Ты это время наверстаешь с лихвой, потому что потом изучение любого мейнстримного языка для тебя сведется к тому, чтобы разобраться, в каком месте скобки ставить и какие ключевые слова что обозначают.
Кстати, не понимаю наездов на СИКП итт из-за того, что там алгоритмам не учат. Имхо, в 2023 как раз намного важнее умение проектировать софт так, чтоб его потом было легко изменять и поддерживать. Чему собственно СИКП и учит.
Алгоритмы канеш тоже штука важная, и как минимум для общего развития хорошо бы понимать, что такое биг О нотация и какие типы данных существуют, но положа руку на сердце - как часто у вас возникает необходимость писать ручками пузырьковую сортировку или обход деревьев в проде? Вот именно необходимость, потому что для данной задачи нет подходящей библиотеки или она говно? К тому же полюбасу 90% здешних макакенов это какой-нибудь энтерпрайз или вебдев, а там узкое место это практически всегда базы данных.
А по алгоритмам и так существует куча специализированных и качественных книг, их тащемто вообще в отрыве от программирования изучать можно.
> второй день не могу сделать
Ты ахуел? Я над некоторыми заданиями по несколько вечеров сижу, а он на второй день сдался.
А если серьезно, не парься, там бывают реально сложные упражнения. Смысл не в том, чтобы получить правильный ответ (кому он вообще нах нужен), а в том, чтобы ты в процессе поиска решения усваивал ту или иную концепцию. Прежде чем писать код, идеально вообще просто на листочке накидывать свои мысли, схемы, просто все, что в голову придет, а дальше все это анализировать, упорядочивать и таким образом приходить к решению.
Главное, не бросай, СИКП это лютейшая базовая-пребазовая база. Там дается фундамент, на котором буквально основано программирование (и за 40 лет ниче не поменялось, лол). А главное, ты научишься ДУМОТЬ как программист, сформируешь правильную ментальную модель, а это просто бесценный навык, который ни на каких говнокурсах не получишь.
Так что советую не останавливаться и пройти ее до конца, пусть даже потратишь полгода-год. Ты это время наверстаешь с лихвой, потому что потом изучение любого мейнстримного языка для тебя сведется к тому, чтобы разобраться, в каком месте скобки ставить и какие ключевые слова что обозначают.
Кстати, не понимаю наездов на СИКП итт из-за того, что там алгоритмам не учат. Имхо, в 2023 как раз намного важнее умение проектировать софт так, чтоб его потом было легко изменять и поддерживать. Чему собственно СИКП и учит.
Алгоритмы канеш тоже штука важная, и как минимум для общего развития хорошо бы понимать, что такое биг О нотация и какие типы данных существуют, но положа руку на сердце - как часто у вас возникает необходимость писать ручками пузырьковую сортировку или обход деревьев в проде? Вот именно необходимость, потому что для данной задачи нет подходящей библиотеки или она говно? К тому же полюбасу 90% здешних макакенов это какой-нибудь энтерпрайз или вебдев, а там узкое место это практически всегда базы данных.
А по алгоритмам и так существует куча специализированных и качественных книг, их тащемто вообще в отрыве от программирования изучать можно.
Аноны, у меня у одного все ссылки "где скачать" выдают 404?
Олсо, у меня собстна вопрос ньюфага
В ньюфаг-треде в шапке прямым текстом посылают к вам, нихуя при этом не объясняя (вообще ньюфаг-тред какой-то пиздец токсичный, или может весь раздел такой?)
Что это за SICP вообще такой? И почему в ньюфаг треде его рекомендуют для вката?
>новый даже вижуал студио не тянет
Какой комп? Попробуй sharpdevelop. Только он для шарпа пятой или шестой версии. В принципе можешь и старый учить, а фичи новых версий выучишь по документации на сайте майкрософта когда нормальную пекарню купишь.
Потому что сикп ньюфагам для троллинга советуют. Это как боку но пико уровня /pr/. Скажи спасибо что квантовую физику учить не заставляют.
Вот у меня как раз именно такое ощущение сложилось, что это троллинг
А что то годное кроме троллинга из ньюфаг треда вообще извлечь можно? А то на все мои посты отвечают что-то в стиле "пошел на хуй тупое быдло"?
> А то на все мои посты отвечают что-то в стиле "пошел на хуй тупое быдло"?
И в чем проблема? Всё правильно отвечают.
Вместо того чтобы покрывать хуями братишку по борде, лучше бы ответил на исходный вопрос - что это за сикп вообще такой
компуктер саенс теория на примере лиспа
Прохождение СИКП автоматом баффнет тебя как минимум до уровня крепкого мидла (а то и помидора). Правда, на лиспе вакансий ты скорее всего не найдешь, так что придется потом подучить какой-нибудь популярный язык, но для тебя это уже будет как два пальца. Напишешь пару проектиков, и вперед в светлое будущее.
Можно, конечно, вкатываться и по старинке через условный сКАЛфактори. Но ты все равно довольно скоро придешь к необходимости изучить что-то наподобие СИКП или HTDP, если не хочешь всю жизнь оставаться крудомакакой-формошлепом.
Если есть время, я бы советовал первый вариант. Во-первых, получишь наслаждение от постижения божественных истин, во-вторых, сформируешь очень солидную базу для быстрого вката в любой ЯП.
>SICP
Руководство по вкату в программирование. Поставит на место мозги, научишься решать задачи, заодно поймёшь твоё ли это или нет.
После уже спокойно учишь си, 1с или хаскель и вкатываешься в работу.
>Что это за SICP вообще такой?
Это книга авторства массачусетского технологического университета, который считается номер 1 среди всех технических университетов. Туда берут на бюджет только победителей международных олимпиад. На практике, всё что пишет массачусетский технологический может понять только человек с незаурядным интеллектом. В их книгах настолько много материала и математических формул, что пока ты дочитаешь до середины, у тебя мозг расплавиться. Но эти книги и рассчитаны на победителей олимпиад, а не на начинающего вкатыша без опыта.
>>2812294
>А что то годное кроме троллинга из ньюфаг треда вообще извлечь можно?
Почти ничего. Обычно у всех книг по программированию не запоминающиеся названия, а-ля "c++ в действии" или "изучаем c#". Читать голую теорию по computer science вредно, можно тупо выгореть и потерять интерес к программированию.
>>2812483
>>2812511
Спасибо, адекватные аноны
Может поможете мне определиться со стратегией?
У меня есть условно год времени, но надо совмещать с работой
И я стою перед выбором
Начинать изучать что-то основательное типа вот этой программы из шапки https://github.com/ossu/computer-science
(Сильно боюсь заебаться и выгореть + боюсь что в год не уложусь, совмещая с работой. И самое главное - я так понял, что это база базы, этого мало для того, чтобы пойти на собес, нужно еще и что-то непосредственно практическое изучить)
Или плюнуть на базу и учить сразу что-то практически ориентированное, а теорию подтягивать уже постфактум?
Какой из этих двух путей выбрать - долгий и трудный, но вроде как основательный, или тоже долгий и трудный, но с надеждой получить что-то пригодное для трудоустройства сразу же, а не доучивать потом?
Сразу делай практическо-ориентированное. У тебя непонимание того что есть программирование. Программирование - это нечто больше, чем "сложить 2 + 2 и получить ответ 4". Это только функциональные требования. Но кроме функциональных требований есть ещё НЕ-функциональные требования. Такие как производительность, удобство, масштабируемость, модифицируемость, экономическая целесообразность, безопасность, портативность и много другое.
Некоторые курсов которые там приведены чересчур формализованные. Как делать по-научному, по-правильному. Но в реальной жизни такого не будет, там много неправильного. Ты реально думаешь, что кто-то сидит и с нуля по-памяти пишет матрицы или деревья? Ни у кого нет на это времени. Люди тупо подключают библиотеки и просто вызывают готовый код. Сейчас проще заплатить сторонним API, чем самому писать с нуля.
Нужно понимать, что то что ты пишешь - возможно это никому нахуй не будет видно. Ты сделаешь супер-пупер граф переходов, с состояниями, со всем. А потребитель твоего продукта видит обычную кнопку. Твои старания, что ты неделю сидел пыхтел, выдумывал, а в конце это будет обычная кнопочка, которая что-то делает.
Опять же, я ни в коем случае не хочу обосрать курсы. Но те курсы что ты привёл они больше чтобы улучшить скиллы программиста. Это примерно как кормить быдло молекулярной кухней. Оно всё равно не поймёт тонких вкусов, скажет чё эт за хуйня? Дайте обычный шашлычок с пивасом. Они подойдут тем, кто уже что-то умеет. Я учился по курсам массачусетского технологического. У них драконовская дисциплина. Первую неделю они дают отборнейшего матана страниц 50, в конце недели ты обязан выполнить задания - расчёты по формулам. Просрочишь хоть на час - незачёт. И так 13 недель подряд. Я могу по пальцам пересчитать людей, которые осиляют программу массачусетского технологического. Там нет такого расслабона как в российских универах, там реально жёсткая хуйня. Там нужна хорошая подготовка просто чтобы слушать сам курс лол.
Ябать там фолиантов по твоей ссылке! Это не база базы, там просто видимо собрали вообще все, что имеет отношение к информатике. К примеру, если ты собираешься в вебдев или энтерпрайз (а с вероятностью 99% ты именно туда и попадешь), нахуя тебе биг дата, интернет вещей, или юнити?
Короче, от такого на стадии вкатунства точно выгоришь.
Вот, если что, хороший и относительно компактный роадмапе, охватывающий тем не менее основные области информатики: от того, как устроен компухтер на аппаратном уровне и операционок до сетей и проектирования больших высоконагруженных систем. Короче, то, что полезно знать любому макакену, если он хочет чего-то достичь в профессии:
https://github.com/ilmoi/teachyourselfCS-RU/blob/master/Teach_yourself_cs-2020-RU.md
Но это на вырост, так сказать.
Что касается теория vs практика.
Если под "что-то непосредственно практическое изучить" ты имеешь в виду подучить синтаксис какого-то ЯП и, обмазавшись библиотеками, клепать какие-то поделия, но это путь в никуда. Даже если тебе повезет вкатиться, на реальном проекте ты ахуеешь и скорее всего словишь синдром самозванца. И тебе все равно так или иначе придется разбираться в теории, только уже под страхом того, что могут напнуть. Не самый лучший вариант, как по мне.
Так что, если у тебя год в запасе, я бы все-таки посоветовал проходить СИКП. "Проходить", если что, это значит прорешивать каждую задачу, а не просто читать, и бонусом после каждого пройденного раздела смотреть няшные лекции в ретро-стиле от самих авторов (есть с озвучкой на русском + там кайфовая заставка). Плюс по первой главе у Хекслета есть на ютубе типа курс (по сути, там чел просто пересказывает содержание книги, но как вспомогательное средство вполне себе).
СИКП уникальна тем, что научит тебя программированию в целом. Это все равно, что при изучении иностранного языка вместо беспорядочных попыток запоминать отдельные слова сначала изучить лингвистику. Хороший лингвист сможет освоить любой иностранный язык с нуля самостоятельно в относительно короткие сроки. Улавливаешь аналогию?
Программирование ничем не отличается от любой другой инженерии (не зря на западе макак часто называют software engineer). Если ты хочешь проектировать самолеты или машины, ты же сначала пойдешь учиться, правильно? Ну так и здесь все то же самое. Для того, чтобы стать хорошим программистом, нужно сформировать определенный взгляд, определенный тип мышления. И СИКП с этим справляется блестяще.
А когда это мышление у тебя сформируется, тебе уже будет без разницы, какой язык учить, потому что фундамент везде плюс минус один и тот же. Посмотришь, на что больше вакансий, за недельку разберешься с синтаксисом, склепаешь пару проектов для портфолио и вперед на собесы.
Ябать там фолиантов по твоей ссылке! Это не база базы, там просто видимо собрали вообще все, что имеет отношение к информатике. К примеру, если ты собираешься в вебдев или энтерпрайз (а с вероятностью 99% ты именно туда и попадешь), нахуя тебе биг дата, интернет вещей, или юнити?
Короче, от такого на стадии вкатунства точно выгоришь.
Вот, если что, хороший и относительно компактный роадмапе, охватывающий тем не менее основные области информатики: от того, как устроен компухтер на аппаратном уровне и операционок до сетей и проектирования больших высоконагруженных систем. Короче, то, что полезно знать любому макакену, если он хочет чего-то достичь в профессии:
https://github.com/ilmoi/teachyourselfCS-RU/blob/master/Teach_yourself_cs-2020-RU.md
Но это на вырост, так сказать.
Что касается теория vs практика.
Если под "что-то непосредственно практическое изучить" ты имеешь в виду подучить синтаксис какого-то ЯП и, обмазавшись библиотеками, клепать какие-то поделия, но это путь в никуда. Даже если тебе повезет вкатиться, на реальном проекте ты ахуеешь и скорее всего словишь синдром самозванца. И тебе все равно так или иначе придется разбираться в теории, только уже под страхом того, что могут напнуть. Не самый лучший вариант, как по мне.
Так что, если у тебя год в запасе, я бы все-таки посоветовал проходить СИКП. "Проходить", если что, это значит прорешивать каждую задачу, а не просто читать, и бонусом после каждого пройденного раздела смотреть няшные лекции в ретро-стиле от самих авторов (есть с озвучкой на русском + там кайфовая заставка). Плюс по первой главе у Хекслета есть на ютубе типа курс (по сути, там чел просто пересказывает содержание книги, но как вспомогательное средство вполне себе).
СИКП уникальна тем, что научит тебя программированию в целом. Это все равно, что при изучении иностранного языка вместо беспорядочных попыток запоминать отдельные слова сначала изучить лингвистику. Хороший лингвист сможет освоить любой иностранный язык с нуля самостоятельно в относительно короткие сроки. Улавливаешь аналогию?
Программирование ничем не отличается от любой другой инженерии (не зря на западе макак часто называют software engineer). Если ты хочешь проектировать самолеты или машины, ты же сначала пойдешь учиться, правильно? Ну так и здесь все то же самое. Для того, чтобы стать хорошим программистом, нужно сформировать определенный взгляд, определенный тип мышления. И СИКП с этим справляется блестяще.
А когда это мышление у тебя сформируется, тебе уже будет без разницы, какой язык учить, потому что фундамент везде плюс минус один и тот же. Посмотришь, на что больше вакансий, за недельку разберешься с синтаксисом, склепаешь пару проектов для портфолио и вперед на собесы.
А, кстати!
Если все-таки решишься проходить, советую активно юзать чат гпт (или что-то аналогичное).
Во-первых, он может проверять твои решения (хотя ответы и так есть в интернетах), во-вторых, объяснять на пальцах концепции, с которыми у тебя будут возникать проблемы.
По-хорошему, с СИКП как раз и надо начинать вкат. Она тащемта и задумывалась, как вводный курс в программирование для первокурсников.
Для первокурсников с охуенными оценками в школе, поступившими на первый курс блатного универа. А не вкатуны-самоучки с путяжным россиянским дипломом.
> россиянским дипломом
Лол, так говоришь, будто в швитой из средней школы сплошь гении выходят.
И что же такого есть в СИКПе, с чем бы не справился вчерашний сосницкий-вкатун, при условии что он мотивирован и умеет пользоваться гуглом? Только не надо рассказывать про упражнения типа ДОКОЖИТЕ, их там три с половиной штуки, и в сикпотредах все сошлись во мнении, что их можно смело пропускать без какого-либо ущерба для общей картины.
По сути разные книги
SICP - говно мамонта с кучей математики
Как эти знания применить в Python или JS например?
Там про путяжный диплом был. Ну и судя по языку общения, со страной в 90% случаев я тоже угадал. Не понятно, че ты там бахнул.
Речь шла о том, что СИКП может освоить мотивированный вкатун, знающий математику на уровне 11 класса. При чем тут диплом? Какие 90%? Ты пьяный?
Только ты описал не среднестатистического вкатуна.
>Какие 90%? Ты пьяный?
Я думаю, что 90% двача россияне, думаешь нет? И да, я не пьяный, я сигаретку закурил после того, как твою мать выебал.
Ты или вообще СИКП не открывал, или толстишь.
или ты забыл, или ты не знал
Там главная идея - управление сложностью кода через абстракции. А абстракции придется создавать на любом языке, если ты собираешься писать что-то сложнее конвертера валют.
И не знаю, как в петухоне, но в жопаскрипте есть и замыкания, и функции высшего порядка, и ооп, так что фактически берешь и применяешь то, что выучил, без регистрации и смс.
Я не хряк, который батю твою ебет.
В том то и дело что в книге про функциональное программирование, в JS оно есть, а классы тут не очень подходят
И всё это замусорено математикой, вместо того чтобы позволить человеку сконцентрироваться на главном ещё эти головоёбки с задачами. Ответов нет, примеров решений тоже
> В том то и дело что в книге про функциональное программирование
Няш, еще раз, книга про построение абстракций и управление сложностью кода посредством этих абстракций. Абстракции ты можешь создавать хоть функциями, хоть классами, это просто инструмент. Грубо говоря, если класс это молоток, то СИКП это инструкция, как им правильно пользоваться, чтоб создавать крутые поделия и по пальцам себе не уебать.
Не, если для тебя программирование - это как написать x на языке y, то тогда конечно не стоит тратить время на СИКП. Тогда лучше глянуть на ютубзике "ТОП 10 ФИШЕК ЯЗЫКНЕЙМ 2023" или "СОЗДАЕМ КЛОН ФЕЙСБУКА С АВТОРИЗАЦИЕЙ".
> И всё это замусорено математикой
Когда там встречается какой-то матан, они перед упражнением на пальцах его объясняют. Что там у тебя сложности вызвало? Ты число в степень возвести не можешь или корень посчитать?
> вместо того чтобы позволить человеку сконцентрироваться на главном ещё эти головоёбки с задачами
На главном - это на чем? И как ты собрался учиться программированию без написания кода, епт?
> Ответов нет, примеров решений тоже
Дохуя есть, например вот http://community.schemewiki.org/?SICP-Solutions. А также куча других сайтов и гитхаб репозиториев.
Короче я хз, моргни что ли, если ты не зеленый.
По репам на Github лазил, там просто решения и никаких объяснений нет
Насчёт матана, то это не только квадратные корни, есть вещи и сложнее. Могли бы вместо матана какие-нибудь более приземлённые вещи сделать, то есть какой-нибудь текстовый редактор простой написать, игру мелкую. После SICP я смогу Тетрис написать или Змейку?
Думаю первой нужно HTDP читать, а там уже смотреть в сторону SICP
>Ты число в степень возвести не можешь или корень посчитать?
Ну, справедливости ради, даже в этих операциях нюансы есть, о которых скуфыч, который в последний раз их в школе видел, не вспомнил. Ну типа что отрицательная степень нуля не определена или что любое ненулевое число в нулевой степени это единица или там что действительных значений у корня чётной степени с положительным подкореным выражением на самом деле два, просто мы, чтобы получилось отображение, используем только положительный, а для определения значений чётного корня с отрицательным подкоренным выражением надо расширяься до комплексных числел... и так далее и тому подобное
Какие тебе объяснения нужны?)) Есть задание "напишите процедуру, которая делает то-то". Берешь, пишешь (сначала можно на листочке) в идеале, тестируешь. Если все работает, задание сделано, если нет, ищешь, в чем проблема.
Каждую строчку объяснять никто не будет, да это и не нужно, потому что синтаксис Схемы простой, как три копейки. Если сходу непонятно, возьми построчно для себя распиши, что делает каждая строчка кода. Умение читать чужой код даже поважнее, чем его писать, и этому тоже надо учиться.
> есть вещи и сложнее
Ну какие? Можешь привести конкретное упражнение (не ДОКОЖИТЕ, такие можно скипать), а те, где надо написать какой-то код? Я пока гуглил ДОМЭЙН КНОЛАДЖ к СИКПу ровно один раз - когда в первой главе упражнения с интегралами решал. И то это скорее для себя, так-то вся необходимая инфа в самой книге дается. При том, что математика у меня была 10 лет назад в унике, и я никогда в ней не был особо силен.
> Могли бы вместо матана какие-нибудь более приземлённые вещи сделать
В силу абстрактной природы, на нем проще всего объяснять абстрактные концепции без необходимости городить дополнительные сущности. Да и "приземленные" примеры там тоже есть аля транзисторы или размен монет.
> текстовый редактор простой написать
Текстовый редактор требует как минимум взаимодействия с i/o, файловой системой, написания графического интерфейса и тд, короче кучи вещей, которые бы отвлекали "от главного".
> игру мелкую
Ну прямо игорь там нет, насколько я знаю (мб дальше будут, я пока не все прошел), но во второй главе есть РИСОВАЛКА.
> После SICP я смогу Тетрис написать или Змейку?
Это ты и без СИКП сможешь написать. Расписал на бумажке алгоритм, потом его переписал на выбранном ЯП, потратив пару дней на освоение синтаксиса. Только на работе ты змейки писать не будешь, на работе у тебя будет невъебенный репозиторий с тысячами/десятками тысяч строк кода, с которым тебе каким-то образом надо будет взаимодействовать. А со временем ты и сам должен будешь проектировать такие йоба софтины. Вот этому СИКП и учит - как спроектировать огромную систему так, чтобы не охуеть потом ее можно было легко изменять без того, чтоб половина функциональности сломалась. Обслуживание существующего софта это головная боль индустрии, где-то видел исследование, что на него приходится до 70% трудозатрат. Умение проектировать большие и гибкие системы - вот это по-настоящему ценно, а не тетрис написать, который тебе щас любой школьник на питоне наговнокодит.
> Думаю первой нужно HTDP читать, а там уже смотреть в сторону SICP
А можешь потратить пару дней на освежение школьных знаний математики, и сразу читать книжку для взрослых дядь. Но дело твое, канеш.
Какие тебе объяснения нужны?)) Есть задание "напишите процедуру, которая делает то-то". Берешь, пишешь (сначала можно на листочке) в идеале, тестируешь. Если все работает, задание сделано, если нет, ищешь, в чем проблема.
Каждую строчку объяснять никто не будет, да это и не нужно, потому что синтаксис Схемы простой, как три копейки. Если сходу непонятно, возьми построчно для себя распиши, что делает каждая строчка кода. Умение читать чужой код даже поважнее, чем его писать, и этому тоже надо учиться.
> есть вещи и сложнее
Ну какие? Можешь привести конкретное упражнение (не ДОКОЖИТЕ, такие можно скипать), а те, где надо написать какой-то код? Я пока гуглил ДОМЭЙН КНОЛАДЖ к СИКПу ровно один раз - когда в первой главе упражнения с интегралами решал. И то это скорее для себя, так-то вся необходимая инфа в самой книге дается. При том, что математика у меня была 10 лет назад в унике, и я никогда в ней не был особо силен.
> Могли бы вместо матана какие-нибудь более приземлённые вещи сделать
В силу абстрактной природы, на нем проще всего объяснять абстрактные концепции без необходимости городить дополнительные сущности. Да и "приземленные" примеры там тоже есть аля транзисторы или размен монет.
> текстовый редактор простой написать
Текстовый редактор требует как минимум взаимодействия с i/o, файловой системой, написания графического интерфейса и тд, короче кучи вещей, которые бы отвлекали "от главного".
> игру мелкую
Ну прямо игорь там нет, насколько я знаю (мб дальше будут, я пока не все прошел), но во второй главе есть РИСОВАЛКА.
> После SICP я смогу Тетрис написать или Змейку?
Это ты и без СИКП сможешь написать. Расписал на бумажке алгоритм, потом его переписал на выбранном ЯП, потратив пару дней на освоение синтаксиса. Только на работе ты змейки писать не будешь, на работе у тебя будет невъебенный репозиторий с тысячами/десятками тысяч строк кода, с которым тебе каким-то образом надо будет взаимодействовать. А со временем ты и сам должен будешь проектировать такие йоба софтины. Вот этому СИКП и учит - как спроектировать огромную систему так, чтобы не охуеть потом ее можно было легко изменять без того, чтоб половина функциональности сломалась. Обслуживание существующего софта это головная боль индустрии, где-то видел исследование, что на него приходится до 70% трудозатрат. Умение проектировать большие и гибкие системы - вот это по-настоящему ценно, а не тетрис написать, который тебе щас любой школьник на питоне наговнокодит.
> Думаю первой нужно HTDP читать, а там уже смотреть в сторону SICP
А можешь потратить пару дней на освежение школьных знаний математики, и сразу читать книжку для взрослых дядь. Но дело твое, канеш.
Насколько я помню первую главу, там нигде такие тонкости знать не требовалось. Речь же не про знание математики в общем, а про необходимый минимум, чтобы решать СИКП. И этот минимум там всегда дается, если просят решить что-то такое.
Не тугодум, задачки действительно нихуёвые.
> начал читать
> школьная информатика
Попробуй хотя бы первую главу прорешать. Если для тебя и после этого СИКП покажется "школьной информатикой", то я хз ты по ходу в Хогвартсе учился тогда
По наблюдениям - виндоюзеры как разрабы очень слабенькие. Почти всегда пишут говнокод на проекте.
Это игроманы, а не инженеры. У человека в башке должно повернуться чтобы он свой ПК рассматривал как рабочий инструмент, а не игровую станцию. То есть профессиональный подход уже идет, а не игродебильный в стиле "я на нем в игры играю весь день, а ещё код пишу между играми".
Пожалуй немного раскрою свою мысль. Помимо написания качественного кода, она знакомит с базовыми понятиями и парадигмами программирования, устройством интерпретатора, компилятора, сборщика мусора и тд и тп. Эдакое введение в компухтер сайенс.
Причем самая мякотка это упражнения. Они сложные, местами даже хардкорные над некоторыми несколько вечеров приходится сидеть, но составлены таким образом, что ты учишься ДУМОТЬ, ЧТО ты делаешь, и ПОЧЕМУ ты делаешь так, а не иначе
Короче, тупо лучший учебник по программированию эвер. Прорешивание всей книги занимает довольно много времени (в среднем год), но это как грица инвестиция на всю жизнь.
Паттерны - это просто готовые шаблоны, которые позволяют не изобретать велосипед в определенных сценариях. К тому же часто они завязаны на конкретную парадигму или даже на конкретный язык.
СИКП учит, как распознавать и создавать качественные абстракции. Освоив этот навык, ты сам можешь создавать свои собственные паттерны, или очень быстро врубаться в уже существующие. Это как с математикой или физикой - можно учить формулы наизусть, или выводить их самому благодаря пониманию фундаментальных принципов.
Почему? Если pet на нём запилить
Второе издание вышедшее прошлой зимой
После - попробую SICP, если сил хватит
Нужно ещё найти решения с разбором на Github
Это главный подводный камень. Потом от джавы будет депрессия и выгорание. Хотя главный по джава сам лиспоёб, что несколько уменьшает степень душевного страдания, ну и с учётом последних версий джава уже лучше скалы хотя бы.
Конфиги к емаксу, очевидно же!
про лиспы есть тред, воспользуйся каталогом; этот тред не про какой-то конкретный язык программирования
Так и не открывал, после того как в тред то написал. Сейчас продолжил. На задаче 1.7 уже полез в ответы...
СИКП он такой, я иногда по несколько вечеров над одной задачей сижу. Старайся в ответы лезть, если уж совсем застрял. Так-то главная ценность этой книги в том, что она учит правильно мыслить, а для этого надо сидетьпердеть и пыхтеть, по-другому никак.
Добра тебе :3
Мне всегда казалось, что либо дано, либо нет и если не можешь решить в течение пары десятков минут, то не надо и дальше пытаться. Возможно я не прав, но именно после этого я книгу дропнул.
мимо
Тут как с любой задачей на "подумать"
Сначала ты загружаешь задачу в голову, а потом она в фоновом режиме разруливается. Иногда и пары дней не достаточно.
Дерзай, няша, очень многое для себя почерпнешь
Два чаю. Бумажная версия книги уже 5й год пылится.
Кто-нибудь может объяснить, в чем профиты от проработки СИСПа?
Зависит от того, кто ты по жизни.
Если порядочный бродяга-помидор-150+ лет опыта с хорошей базой по компухтер сайенс и десятками ходок успешных продакшон приложений за спиной, то наверное просто систематизируешь то, что уже знаешь, плюс скорее всего почерпнешь для себя пару интересных концепций (к примеру, тот же wishful thinking).
Во всех остальных случаях:
1) Научишься создавать качественные абстракции и писать легко расширяемый и поддерживаемый код
2) Познакомишься с фундаментальными концепциями компухтер сайнс и основными парадигмами программирования.
3) На уровне подкорки начнешь понимать, какой код хороший, а какой говно, потому что сформируется четкое понимание, что вот так делать надо, а так низзя, и почему.
4) Прокачаешь абстрактное мышление, и научишься смотреть на любую программу, как на вычислительный процесс, где есть входные данные, некие преобразования над ними, и результат, а язык - это просто средство описание этого процесса (в книге приводится аналогия, что программа - это дух, который программисты (заклинатели) заставляют что-либо делать с помощью заклинаний (кода)). Очень помогает восприятию не увязать в реализации и синтаксисе конкретного языка. Это типа как хороший лингвист, который может определить, что главное, а что второстепенное в любом иностранном языке, и за счет этого быстро его освоить.
5) В четвертой и пятой главах спустишься на уровень ниже и от написания бизнес-логики перейдешь к созданию интерпретатора и компилятора.
6) Будешь получать интеллектуальное наслаждение практически от каждого решенного упражнения (если умеешь его получать). Вообще в этом моменте СИКП очень отличается от подхода, используемого в большинстве учебников. Обычно тебе дают теорию, и для решения задач ты просто ее применяешь (иногда слегка подумав). В СИКПе тебе тоже дают теорию, но самый необходимый минимум, а вот для решения задач уже недостаточно просто тупо применить то, о чем тебе рассказали на абзац выше. Надо думать, АНАЛизировать, выводить одно из другого, из другого третье, пробовать разные варианты и тд. То есть каждый раз эдакий интеллектуальный квест. В результате такого подхода, во-первых, на спинномозговом уровне усваиваешь те идеи, которые до тебя в данном упражнении хотели донести, во-вторых, нереально прокачиваешь навык декомпозиции проблемы (а для разраба это очень ценно).
Ну это навскидку. Там по-любому еще куча профитов, просто я уже сонный и мне лень все вспоминать.
4)
Зависит от того, кто ты по жизни.
Если порядочный бродяга-помидор-150+ лет опыта с хорошей базой по компухтер сайенс и десятками ходок успешных продакшон приложений за спиной, то наверное просто систематизируешь то, что уже знаешь, плюс скорее всего почерпнешь для себя пару интересных концепций (к примеру, тот же wishful thinking).
Во всех остальных случаях:
1) Научишься создавать качественные абстракции и писать легко расширяемый и поддерживаемый код
2) Познакомишься с фундаментальными концепциями компухтер сайнс и основными парадигмами программирования.
3) На уровне подкорки начнешь понимать, какой код хороший, а какой говно, потому что сформируется четкое понимание, что вот так делать надо, а так низзя, и почему.
4) Прокачаешь абстрактное мышление, и научишься смотреть на любую программу, как на вычислительный процесс, где есть входные данные, некие преобразования над ними, и результат, а язык - это просто средство описание этого процесса (в книге приводится аналогия, что программа - это дух, который программисты (заклинатели) заставляют что-либо делать с помощью заклинаний (кода)). Очень помогает восприятию не увязать в реализации и синтаксисе конкретного языка. Это типа как хороший лингвист, который может определить, что главное, а что второстепенное в любом иностранном языке, и за счет этого быстро его освоить.
5) В четвертой и пятой главах спустишься на уровень ниже и от написания бизнес-логики перейдешь к созданию интерпретатора и компилятора.
6) Будешь получать интеллектуальное наслаждение практически от каждого решенного упражнения (если умеешь его получать). Вообще в этом моменте СИКП очень отличается от подхода, используемого в большинстве учебников. Обычно тебе дают теорию, и для решения задач ты просто ее применяешь (иногда слегка подумав). В СИКПе тебе тоже дают теорию, но самый необходимый минимум, а вот для решения задач уже недостаточно просто тупо применить то, о чем тебе рассказали на абзац выше. Надо думать, АНАЛизировать, выводить одно из другого, из другого третье, пробовать разные варианты и тд. То есть каждый раз эдакий интеллектуальный квест. В результате такого подхода, во-первых, на спинномозговом уровне усваиваешь те идеи, которые до тебя в данном упражнении хотели донести, во-вторых, нереально прокачиваешь навык декомпозиции проблемы (а для разраба это очень ценно).
Ну это навскидку. Там по-любому еще куча профитов, просто я уже сонный и мне лень все вспоминать.
4)
>Надо думать, АНАЛизировать, выводить одно из другого, из другого третье, пробовать разные варианты и тд. То есть каждый раз эдакий интеллектуальный квест.
Это очень трудозатратно. Нахуй.
>6)
Это называется задачи не согласованы с теорией, есть такое в каждой говнокнижонке где авторы на угад накидывают говнозадачек "чтобы было солидно", т.е. в абсолютном большинстве говнокнижонок.
Вобщем покекал с экспертизы этого "синьера в 19" узнавшего про "интересную концепцию" wishful thinking из sicp.
>в чем профиты от проработки СИСПа?
Ни в чём. Это тупо жизнь по понятиям. Типа есть авторитет. В литературе это Пушкин, в матане Демидович, а в инвестициях Грэм "разумный инвестор". Если ты авторитет не почитаешь, то ты чушпан. Поэтому каждый долбоёб пытается выдрочить сикп.
мимо
Ты траллишь?
Я же написал, что теории ровно столько, чтоб дать тебе начальный импульс, и если у тебя голова хорошо работает, ты решение из этого выведешь. Ну а если не очень хорошо, то тогда пытаться не стоит, это да.
Лол, ну авторитеты обычно не на пустом месте появляются, это раз.
Второе, долбаебы сикп не читают, они максимум какого-нибудь соера на ютабзике смотрят, ну или там генг бэнг оф фор. Такую суровую и задротскую книгу как сикп не прорешаешь просто потому, что это кто-то сказал, что это модно и надо. Это должно нравиться.
Ну и третье, в сикпе нет каких-то секретных знаний, просто очень удачно объяснили базу компухтер сайенс и соблюли отличный баланс между теорией и практикой.
Да, это присутствует. В среднем на ее решение уходит год.
Прочитав мейнстрим ты попадёшь в те же стада быдла, что читает тот же мейнстрим что и ты. Ты не лучше и не хуже большинства. Они почитали Таненбаума, ну и ты его почитал. Они почитали СИКП, ну и ты его почитал. У тебя развивается то же мышление, что и у них. Те же приёмы... Ты из той же касты, тот же чушпан что и они.
> Прочитав мейнстрим ты попадёшь в те же стада быдла, что читает тот же мейнстрим что и ты.
Что сикп, что Танненбаум, это общепризнанная классика компухтер сайенс. Она может быть неидаельна, но ничего лучше человечество не придумало.
> Ты не лучше и не хуже большинства.
Большинства, лол. Процентов 90% макакенов скорее всего даже не слышали ни про Танненбаума, ни про сикп, ни про что-либо еще. Освоили пару фреймворков и хуярят годами. Я не говорю, что это плохо или они какие-то не такие. Но ты же не будешь спорить с тем, что наличие фундаментальных знаний лучше, чем их отсутствие?
> У тебя развивается то же мышление, что и у них. Те же приёмы...
Минусы будут?
> Ты из той же касты, тот же чушпан что и они.
И каков же твой рецепт перехода в пацаны, лол?
>Минусы будут?
Минус в том, что столько алгоритмистов стране нахуй не нужны. Любой компании полезно разнообразие. Один хорошо разбирается в базах данных, другой в сетях, третий ещё в чём-то. Вот щас толпа людей упрётся во что-то одно - сотни тысяч начнут дрочить базы данных. Или начнут дрочить администрирование линукса. Как есть любители компилировать генту. Не, ну а чо, это же база!1 Генту - общепризнанная классика линукса, чё те не нравится ебать.
А эт тя ебать не должно. Просто учи и всё.
сидел-на-емаксе-3-года
Это автоматический вайп очень характерный ((политическая тема ИЛИ тема про размер груди ИЛИ копро) И много намеренных орфографических ошибок), если видишь, то просто кидай репорт (можно в причину написать что угодно) и скрывай. Он во всех разделах есть.
Это какой-то топорный бот. Иногда на двачи заходит продвинутый ИИ, который сначала пишет что-то осмысленное, а под конец начинает чушь выдавать. Вот это действительно стремно выглядит.
Толстота святая, сразу видно не читал но критикуя
Сейчас решаю в неовиме. А что, сложности какие-то возникают? Редактор как редактор, может только там где графика во второй главе вроде понадобится качнуть дракет
>А что, сложности какие-то возникают?
Ты со слаймом кодишь или нет? Просто в емаксе интеграция с REPL-ом хорошая и выражения можно в буффере вычислять, но сам "редактор" до ужаса тормозной и раздутый. Видел, что в связке nvim + tmux можно выделенный код из вима в соседнее окно с REPLом пробрасывать.
Нет, просто открываю 2 терминала, в одном пишу и сохраняю в виме, в другом пишу racket имя_файла.
Очень неэффективно при работе с лиспом. Попробуй интеграцию с реплом напердолить и сразу поймешь в чем смысол.
Так я один хуй сижу на листочке прорешиваю и по куче времени просто в голове варианты пробрасываю, процесс написания и интерпретации это буквально нихуя, поэтому не стал заморачиваться.
Может быть это полезно на этапе теста, когда нужно просто несколько возможных решений посмотреть, но эти решения обычно нихуя неправильные и проблема оказывается гораздо глубже, поэтому тратить на такое время не вижу особого смысла. Может потом как-нибудь.
Это так не работает. Щас компании наоборот хотят, чтобы ты помимо кодинга еще и девопсил, и в линухсе разбирался, и базы знал, и в реакте компонентик написать мог. Им выгоднее нанять одного раба на все руки, чем дробить по специализациям. Отсюда весь этот скрам-пиздеж про бас фактор, гибкость и прочую залупу. Типа если одна макака уйдет, ее таски можно распределять между остальными, пока новую не найдут.
> на листочке прорешиваю
Вот прям двачую. Для сикпа тащемто компухтер почти не нужен.
Кстати, возможно студенты в 80х так его и прорешивали - типа написал решение в тетрадке, потом в универе на лисп-машине запускаешь.
Ну как более комплексные решения начнешь писать, тогда поймешь зачем оно нужно. Я до того как начал писать свои плагины на елиспе тоже не вкуривал, что это такое.
>наоборот хотят, чтобы ты помимо кодинга ещё и...
Вот именно! Помимо! А не то что в одни алгоритмы упёрлись и дрочите их 24/7.
Ну хз, вроде в сикпотредах сошлись на мнении, что htdp это когда совсем не имеешь представления о проганье, а сикп если какой-то опыт уже имеется.
>>2969783
Ды, Сассману перфокарты в очко вставляли.
>>2969784
Дак а кто мешает и то, и другое читать? К тому же если ты под алгоритмами имеешь в виду классические алгоритмы сортировки, поиска и тд, то сикп не об этом.
> Structure and Interpretation of Computer Programs, JavaScript Edition
Ого такое есть, я ничего не потеряю же проходя это вместо версии на схеме? На вики вроде написано ничего не поменяли особо
Я таки начал пердолить по твоему завету, лол.
Один из авторов где-то писал, что версия на питоне и жс - это плохо и просто неообходимое следование моде, но общая концепця книги при не изменилась.
Платина треда, вырезали многое, в особенности то, что на жсе не сделать, но может до 4 главы более-менее схоже. Но зачем? К синтаксису привыкать просто?
>что на жсе не сделать
Это как? Язык же тьюринг полный, а следовательно дело только в затраченных ресурсах, нет?
>Дак а кто мешает и то, и другое читать?
Никто! Каждый дрочит то, что хочет. Если кому-то по кайфу дрочить сикп - то бог с ним. Только не надо навязывать это другим, называя "базой". Ради бога, сам читай чё хочешь, хоть библию начинающего трансвестита. Не надо других склонять в свою религию. Пусть ваш культ остаётся с вами, мне ваши авторитеты - не авторитеты. У вас там своя атмосфера, а у нас своя.
А смысл? Схема простая, как три копейки, ты ее по ходу чтения выучишь. У джса намного более нагруженный синтаксис, это будет отвлекать от сути.
Выразительность, особенности интерпретатора. Язык не тьюринг, язык -> интерпретатор -> ассемблер -> линкер -> тьюринг. Например, ну до чего я дочитал, хвостовую рекусию ты можешь запилить на жсе только так, как она имплементирована циклами, а там так-то можно ещё всякого наворотить. И эти же циклы в x86-64 ассемблере выглядят примерно так же, как в лиспе их можно реализовать, поэтому это ещё и наглядней, если ниже придётся погружаться.
Так ты сам пришел в сикпотред и пытаешься нас тут убедить, что сикп говно и нинужен, явно его ни разу не открыв. В чем суть-то?
К тому же, понятие "база" в данном случае - это объективная оценка. Ты все то же самое, что написано в сикпе, найдешь в других учебниках по проганью/cs. Просто в сикпе все это очень качественно систематизировано и закрепляется крутыми упражнениями.
Спасибо.
>>2969797
>вырезали многое, в особенности то, что на жсе не сделать
Тогда обидно.
>>2969797
>Но зачем?
>>2969802
> А смысл?
Просто хочется на чём-нибудь живом проходить, на лиспотред с кучами скобочек больновато смотреть, а на жс'е я сейчас пишу и думал мб заодно вдруг о нём что новое узнаю. Хотя понятно, что знания универсальные и новый язык потыкать всегда полезно.
Похоже тогда лучше всё-таки на схеме проходить, чтобы точно не потерять ничего, понял, спасибо.
Понимаю, сам на ноде пишу. По своему опыту могу сказать, что в джсе вообще не проблема реализовывать то, чему научился на схеме, потому что и там и там функции высшего порядка.
Так что проходи спокойно на схеме, братиш.
Слушай, настроил, и правда прикольно, спасибо. Заодно и тмух теперь пользовать буду.
>пытаешься нас тут убедить, что сикп говно и нинужен
Я такого не говорил. Я говорил что есть авторитет везде и большинство будет слепо почитать его. Сказали читать Пушкина, значит будут читать. А не читаешь - значит ты чушпан.
>очень качественно систематизировано
>закрепляется крутыми упражнениями
Ну систематизировано. Ну закрепляется. Ну окей. Как это противоречит вышесказанному? У тебя будут охуенные знания алгоритмов, а всё остальное хуёвое. Хуёвое знание баз данных, фреймворков, программного инжиниринга и так далее. Вы 95% времени дрочите алгоритмы и 5% всё остальное. Алгоритмы не нужны в таких объёмах и в таких пропорциях, вы там что, спутники программируете чтоли? Звучит как оверинжиниринг какой-то.
Ну ты просто жира накидываешь, тебе смысла нет отвечать. Не про алгоритмы там, и точка.
Двачую. Там больше про образ мышления, способы решения проблем и построение абстракций. В общем-то, эти знания можно везде применить, в технических областях так точно,
Да не за что.
Можешь как нибудь емакс попробовать, там вообще полностью настраиваемая система, но учти, что шутки про то, что в емаксе есть все кроме текстового редактора - это не шутки. Там хорошая интеграция с реплами, лучший фронтенд для gdb, возможность общаться в телеге, ИРКе, небо и даже Аллах.
Лично я все же вернулся на вим после нескольких лет на емаксе.
> Я говорил что есть авторитет везде и большинство будет слепо почитать его.
Чел, ну ты хоть первую главу прочитай. Там все идеи и утверждения объясняются на пальцах, так что для читателя это становится самоочевидным. Я не встретил ни одной формулировки в стиле "надо делать так, потому что МЫ СКОЗАЛИ".
Твое утверждение равносильно тому, как если бы у тебя на глазах в костер кинули бумажку, она загорелась, а ты такой "НИТ ВЫ ДЛЯ МЕНЯ НЕ АВТОРИТЕТЫ В ЭТОМ ВОПРОСЕ, ЩА Я ДОКАЖУ" и засунул в огонь голову.
> У тебя будут охуенные знания алгоритмов, а всё остальное хуёвое.
Да епт, нет там никаких алгоритмов в том смысле, в котором ты употребляешь этот термин. Ну да, в паре упражнений надо деревья обходить, но это не преподносится как какая-то фундаментальная БАЗОВАЯ БАЗА, просто тренировка навыка работы с последовательностями. Сикп о том, как строить абстракции и с помощью них управлять сложностью кода. А вот это уже реально база и лежит в основе любого подхода к построению архитектуры приложения.
> Хуёвое знание баз данных
Берешь и читаешь книжки по БД, в чем проблема-то? Сикп - про программирование. В других областях свои источники, и все тут это понимают.
> фреймворков
Ну это вообще пушка. Ты серьезно считаешь, что фреймворки надо "изучать"? Это для тебя типа фундаментальные знания?
> Алгоритмы не нужны в таких объёмах и в таких пропорциях, вы там что, спутники программируете чтоли? Звучит как оверинжиниринг какой-то.
Ля, может ты хотя бы оглавление прочитаешь наконец-то?
>возможность общаться в телеге, ИРКе, небо и даже Аллах
Лол
>лучший фронтенд для gdb
А вот это интересно, это субъективно или он прям удобный? Для реверса вкусно будет?
>А вот это интересно, это субъективно или он прям удобный?
Ну я лучше так и не смог найти. Можно еще в сторону https://github.com/nakst/gf посмотреть.
>Для реверса вкусно будет?
Для реверса все же лучше другие инструменты использовать. Например, radare2 или cutter от rizin.
Ого, нифига ты меня с кучей нового софта познакомил, спасибо большое, а то я как дед сижу ковыряю окошки.
Ну я обычно для своих задач, того же дебага, по такой же схеме открывал несколько терминалов и между ними как-то, лол.
Ну можно сказать, что я сейчас таким же занимаюсь, лол, только уже в tmux-е.
Как-то со временем понял, что утилитарность, минимализм и простота мне важнее чем манярасширяемость, поэтому изучаю и использую те вещи, которые есть почти на каждой системе - это bash, unix утилиты, питон, перл и т.д. Емакс же полный антипод этой философии, он универсален, имеет много возможностей, но эти возможности весьма посредственного качества и любой специализированный инструмент будет лучше, плюс он довольно тормозной, особенно на старый системах. Без емакса на новой системе ты как без рук, а если ты потерял свой конфиг(а он обязательно будет, потому что дефолты говно), то пиши пропало. Тот же неовим можно вообще не настраивать и использовать из коробки. Есть встроенный файловый менеджер, управление окнами(ctrl-w s/v -- разделить горизонтально/ вертикально окно, ctrl-w c -- закрыть окно, ctrl-w h/j/k/l -- поменять фокус на другое окно), табы(:tabnew -- создать закладку, gt - следующая закладка, gT - предыдущая закладка) и кучу другого дерьма, которым можно пользоваться с дефолтами, а если чего-то не хватает, то расширить через плагины на lua. Lua в этом плане намного полезней лиспа(в частности guile), так как имеет бОльшее распространение, вот в том же nmap-е можно плагины на нем писать.
Лиспы и емаксы - это, конечно, круто, но это чисто для души. Мне же душевных вещей и в жизни, и за компьютером хватает, хочется свои проблемы решать, а не пердолиться лишний раз. На том же питоне можно намного быстрее решить свои задачи чем на лиспе, хотя бы из-за батареек, популярности и доступности языка. Вот серьезно, лучше ИРЛ время за чем нибудь интересным и приятным провести, чтобы всю жизнь за кудахтером не просидеть и не жалеть об этом потом. Поэтому только утилитаризм, только минимализм, только хардкор. Вообще чем больше начинаю погружаться в технологии, тем больше хочется от них удалиться и жить обычную жизнь.
Алсо, если все же решишься попробовать emacs, то обязательно забинди ctrl на caps lock, чтобы сохранить свой мизинец. Кто вообще додумался поставить самую бесполезную клавишу в такое эргономичное место? Если же не будешь пользоваться емаксом, то советую на caps lock забиндить переключение раскладки, очень удобно.
Ну можно сказать, что я сейчас таким же занимаюсь, лол, только уже в tmux-е.
Как-то со временем понял, что утилитарность, минимализм и простота мне важнее чем манярасширяемость, поэтому изучаю и использую те вещи, которые есть почти на каждой системе - это bash, unix утилиты, питон, перл и т.д. Емакс же полный антипод этой философии, он универсален, имеет много возможностей, но эти возможности весьма посредственного качества и любой специализированный инструмент будет лучше, плюс он довольно тормозной, особенно на старый системах. Без емакса на новой системе ты как без рук, а если ты потерял свой конфиг(а он обязательно будет, потому что дефолты говно), то пиши пропало. Тот же неовим можно вообще не настраивать и использовать из коробки. Есть встроенный файловый менеджер, управление окнами(ctrl-w s/v -- разделить горизонтально/ вертикально окно, ctrl-w c -- закрыть окно, ctrl-w h/j/k/l -- поменять фокус на другое окно), табы(:tabnew -- создать закладку, gt - следующая закладка, gT - предыдущая закладка) и кучу другого дерьма, которым можно пользоваться с дефолтами, а если чего-то не хватает, то расширить через плагины на lua. Lua в этом плане намного полезней лиспа(в частности guile), так как имеет бОльшее распространение, вот в том же nmap-е можно плагины на нем писать.
Лиспы и емаксы - это, конечно, круто, но это чисто для души. Мне же душевных вещей и в жизни, и за компьютером хватает, хочется свои проблемы решать, а не пердолиться лишний раз. На том же питоне можно намного быстрее решить свои задачи чем на лиспе, хотя бы из-за батареек, популярности и доступности языка. Вот серьезно, лучше ИРЛ время за чем нибудь интересным и приятным провести, чтобы всю жизнь за кудахтером не просидеть и не жалеть об этом потом. Поэтому только утилитаризм, только минимализм, только хардкор. Вообще чем больше начинаю погружаться в технологии, тем больше хочется от них удалиться и жить обычную жизнь.
Алсо, если все же решишься попробовать emacs, то обязательно забинди ctrl на caps lock, чтобы сохранить свой мизинец. Кто вообще додумался поставить самую бесполезную клавишу в такое эргономичное место? Если же не будешь пользоваться емаксом, то советую на caps lock забиндить переключение раскладки, очень удобно.
А я капсом иногда пользуюсь, когда нужно имя константы какой-нибудь написать. Но в целом да, но я уже за кучу лет привык к alt + shift, поэтому не хочется что-то менять.
>хочется свои проблемы решать, а не пердолиться лишний раз
Это да
>всю жизнь за кудахтером не просидеть и не жалеть
А вот это хз, у меня не то чтобы прям какая-то жизнь вне кудахтера есть, как и у многих здесь, и мне это нравится, не нравилось бы я бы по клубам ходил, а не линупс пердолил и сикп решал.
>Лиспы и емаксы - это, конечно, круто, но это чисто для души
Да конечно, если есть простое и готовое решение, то зная его принцип и понимая, где оно хорошо будет смотреться, то следует использовать его, пердолинг это поначалу, когда ещё зелен и всё интересно имхо.
>А я капсом иногда пользуюсь, когда нужно имя константы какой-нибудь написать.
Тогда в этом режиме нажимаешь на shift+caps lock и включается капс.
>жизнь вне кудахтера есть, как и у многих здесь, и мне это нравится, не нравилось бы я бы по клубам ходил
Так жизнь вне кудахтера это не обязательно клубы и что-то дико социоблядское. Просто нужно понять, что одно другому не мешает. Тут нет ИЛИ.
Вроде там про статическую типизацию много (не читал, но одобряю)
Я вот освоил синтаксис и базовые функции наверное десятка разных языков, но а чё дальше то делать, как написать свою хуйнюнейм? Вроде бы и понимаешь в какую сторону копать, но в то же время ощущение изобретения велосипеда.
> А этот ваш сисп даёт вообще понятие о программировании?
Ну какбе да.
> Я вот освоил синтаксис и базовые функции наверное десятка разных языков, но а чё дальше то делать, как написать свою хуйнюнейм?
Судя по описанию, ты недостаточно умеешь в декомпозицию (то есть разбиение большой задачи на подзадачи).
К примеру, тебе надо запилить свою версию Одноклассников с милфами и классами. А что это означает? А то, что надо отдельно запилить интерфейс, отдельно авторизацию, прикрутить базы данных и тд, то есть выполнить несколько подзадач, в результате чего получается готовый продукт жизнедеятельности.
Сисьп в этом плане как раз очень полезен, ибо там много упражнений по типу "вот примерное описание какой-то хуйни, вот так примерно она должна работать, а теперь реализуй эту хуйню".
Так что волей-неволей задумываешься, а как оценить, что хуйня готова, а из каких компонентов она состоит, а как они вместе взаимодействуют и тд. То есть учишься декомпозировать задачу, а это ключевой навык для написания чего-то сложнее конвертера валют.
Для тех, кому лень читать, там препод(!) жалуется, что он за полчаса не смог написать процедуру, вычисляющую наибольший квадрат(третье упражнение первой главы), потому что ему не объяснили, как создавать переменные, и что для комфортного прорешивания сикпа необходимо сперва выучить матан и лисп.
Лол, не завидую его студентам.
А в чем собственно проблема? SICP читал не полностью, но как дополнительный источник для Common Lisp (примеры и упражнения на Scheme тупо перекладывал на CL). С так таковым матаном не то, чтобы встречался, но насчет Лиспа всё так. Вводная часть в схему весьма скупая, и не учи я помимо другие учебники, то SICP те главы, которые читал я, дались бы куда сложнее.
матан вообще не показатель. Тут скорее нужно интуитивное понимание чё да как должно работать. Уже когда ты наткнулся на конкретную проблему, то начинаешь перебор методов или изобретаешь велосипед.
>третье упражнение
я ебался с конд и иф, потом докумекал, что энд это отдельная вещ
но рекетир не просто так выбрали, там в первой главе делается ударение на прямоточные и аппликативные компиляторы, и этот язык хорош для наглядности. Поэтому сисп на жабаскрыпте или крестах будет иметь ещё меньше смыслы
>Вводная часть в схему весьма скупая, и не учи я помимо другие учебники, то SICP те главы, которые читал я, дались бы куда сложнее.
Насколько я помню, там в начале первой же главы объясняется 90% всей схемы, а именно: как применять оператор к операндам, как создавать поток управления с помощью if/cond, примитивные выражения встроенные в схему и порядки вычисления. Чуть позже еще про лямбда-выражения рассказывают.
Хз, честно говоря, на каких упражнениях ты чувствовал недостаток объяснений именно самого языка.
Я и не чувствовал. Потому что вводную в Lisp в других источниках получил. Возможно поэтому схема, представленная в SICP'е, мне и кажется скудной, как раз по причине того, что я предварительно набивал руки на CL, в котором помимо базовых функций полно производных вкупе с прочими мультипарадигменными наворотами.
>я, конечно, хуйца положил на программирование
Вся суть этой параши. Ниасиляторы которые не программируют поясняют другим как надо учиться программировать.
>1) Научишься создавать качественные абстракции и писать легко расширяемый и поддерживаемый код
>
>2) Познакомишься с фундаментальными концепциями компухтер сайнс и основными парадигмами программирования.
>
Спасибо, господин маркетолух абсолютно_любой_книги_по_программированию
>3) На уровне подкорки начнешь понимать, какой код хороший, а какой говно, потому что сформируется четкое понимание, что вот так делать надо, а так низзя, и почему.
Для этого не обязательно читать древнюю говнину. Если код говно это понятно довольно быстро, достаточно опыта.
>>2968846
>4) Прокачаешь абстрактное мышление
Я вижу ты нихуево так его прокачал, учитывая что ты буквально ничего конкретного не говооришь.
>научишься смотреть на любую программу, как на вычислительный процесс, где есть входные данные, некие преобразования над ними, и результат
Для этого не обязательно читать древнее говно мамонта, ты это только что написал в одном предложении
>5) В четвертой и пятой главах спустишься на уровень ниже и от написания бизнес-логики перейдешь к созданию интерпретатора и компилятора.
Полезный опыт, не спорю.
>6) Будешь получать интеллектуальное наслаждение практически от каждого решенного упражнения (если умеешь его получать)
Снова приемы маркетолухов компьютерных книг.
Итого 1\6, и то с натягой ибо я сомневаюсь что прочитав это говнище ты напишешь рабочий компилятор\интерпретатор для сишки например.
> Ряяяя я сикп ниасилил но ита говно мамонта и вапще нинужон!111
Сикп хуевый учебник, понял. А хороший какой?
ваш оп, вы же все равно книги читаете и учитесь, это я разъебай хуй положил, но тред буду перекатывать, мне не сложно
Типичный неосилятор, который не осилив, предпочел засрать. Мол это не я не осилил, а просто мне это не нужно.
Держи, ОПушка:
1) На русском: https://bmstu-iu9.github.io/scheme-labs/sicp.pdf
2) На ангельском: https://web.mit.edu/6.001/6.037/sicp.pdf
3) Лекции от авторов (оригинал): https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CABEA24090&ab_channel=MITOpenCourseWare
4) Лекции с русским дубляжом (довольно хорошим): https://www.youtube.com/watch?v=RhSwBgF-g4I&list=PLc6AqfeLgwzPPK1H3XV1Wfb_CGvT6sXkC&ab_channel=VsevolodN
А почему сам шершавого забил?
Жизнь так повернулась, что сказать. Времени нихуя нет, последние пару лет у нас пососанкции и вкат в кодерастию видится еще большим блудняком. Как-то так.
Возможно и к лучшему, что нынче рынок такой. Авось хайп спадет, веб-дебилы поотваливаются за ненадобностью. Ну а те, кто шарит, тому легче станет дорогу прокладывать.
Только вкатунам-то еще хуже от этого. Веб-дебилы отвлятся, да переобуются на что-то другое. А кто шарит, им может легче, но ко вкатунам это явно не относится.
Так и есть. Я когда первый раз открыл, то закрыл на упражнении 1.8. Нихуя непонятно че откуда и куда, к тому же синтаксис всратый. Буквально сложно понять по скобочкам и огромному количеству букв где у тебя чего. Вкатываться с этой книги с нуля - это пиздец мем. Причем мем длиною в год, а то и больше.
Вот когда уже на других языках че-то пописал и понял как они устроены, то можно SICP смотреть.
>а чё дальше то делать
Бля так с этого и надо было начинать! Вначале ты думаешь какой проект ты хочешь сделать. Под этот проект выбираешь инструменты - язык программирования, библиотеки и всё остальное и потом учишь. А вы делаете наоборот - под язык программирования подбираете проекты. Пиздец.
Чем более абстрактные книги ты читаешь, тем меньше КПД будет этой читки. Правильнее было начинать с формошлёпства (как презрительно говорят другие программисты), дроча джейсонов и кодирования ямлов. Вначале ты клепаешь примитивные сайты/программы, а потом у тебя чуть сложнее, сложнее и сложнее идёт. А как ты хотел? Ты хотел 10 тысяч часов практики заменить одной-двумя книжками? Сразу всё понять и не ебаться? Нет, дружок так не бывается. Ты вначале будешь говнокодером, как и всем, потом чуть меньшим говнокодером, ещё меньшим, ещё, ещё, ещё и ещё. А в конце станешь экспертом.
Если ТЫ (конкретно ты) не понимаешь книгу, значит ты просто до неё не дорос. Мне похуй кто чо говорит, что это проста, да там ваще лажа, первый курс и всё такое. Просто отложи её, возьми попроще, а к той вернёшься года через 3. Не надо мучать жопу, если срать не умеешь. Это не последняя книга в мире, катастрофы не случится если ты что-то другое прочтёшь.
Лул, это всё равно что я тебе дам ноты лунной сонаты, скажу играй, хуле ты не играешь, неосилятор! Там же всё очевидно! Ну просто берёшь без задней мысли и читаешь ноты.
Если уж проводить подобные аналогии, СИКП очень последовательна и начинается как раз с изучения нотной грамоты. И когда тебя там попросят сыграть лунную сонату, ты будешь владеть инструментом вполне уверенно и, если не с первой, то со второй или третьей попытки точно ее слабаешь.
Имхо, тут дело скорее в мотивации. Сейчас мульоны/наносек можно лутать и без СИКПа (да и вообще не прочитав ни одной книги). И для многих просто неочевидно, зачем тратить год-полтора на одну единственную книгу, когда за это время можно освоить несколько модных языков/фреймворков/технологий.
Конечно. Делать мне нехуй, как только читать абстрактную хуйню. У двачеров мания всё делать идеально. Программирование это итеративный процесс и ошибаться - это нормально. В реальном проекте компилятор/линтер подсказывает ошибки. Это живое обучение. Ты можешь сказать, что это фу блять говно, пишешь говнокод и всё такое. Ваще похуй. Главное просто начать программировать. Криво, косо, как угодно. Пусть первая программа будет полнейшим говном. Потом её чуть улучшить, ещё улучшить, ещё, ещё, ещё и ещё. В конце будет охуенная програма. Я могу 10 проектов сделать пока ты одну-единственную книгу читаешь. У меня будет портфолио. А ты дальше изучай нотную грамоту по году и больше.
> Делать мне нехуй, как только читать абстрактную хуйню.
Ну если для тебя ФП, ООП, стримы, интерпретаторы, компиляторы и куча других понятий из канплюхтер сайенс - "абстрактная хуйня", тогда да, конкретно тебе лучше не читать.
> В реальном проекте компилятор/линтер подсказывает ошибки
Про дырявые абстракции и сильно связанный код линтер тоже подскажет?
> Главное просто начать программировать.
Ну в СИКПе как бы этим и занимаются, лол.
> Потом её чуть улучшить, ещё улучшить, ещё, ещё, ещё и ещё.
Что для тебя "улучшить"?
> У меня будет портфолио
Так ты вкатун чтоль?
Конченная аналогия какая-то.
Это будет "всё равно что" только в том случае, если я, позиционируя себя музыкантом (или вкатывальщиком в музыку), буду засирать Лунную Сонату, доказывать ее несостоятельность или еще что-нибудь, предварительно не осилив произведение, лол.
Веб-макака?
>Вкатываться с этой книги с нуля - это пиздец мем
По-моему, SICP вообще и не позиционирует себя, как книга для начинающих. И, разумеется, не нужно изучать ее, будучи новичком. Тут с какой стороны не посмотри, а новичку ассемблер, регистровые машины, компиляторы/интерпретаторы в принципе не нужны. Ну и Lisp для новичка не самый лучший выбор. К Lisp надо придти после изучения какого-нибудь императивного языка, тогда от него будет килотонна пользы. Так что рекомендую на данном этапе покурить книжки начального уровня, и вернуться к SICP чуть попозже, имея побольше опыта.
В итоге он, заучивший нотную грамоту, будет востребован на рынке и иметь баснословные доходы, ибо будет знать подноготную того, что творится в предметной области, а от таких, как ты, будут избавляться. Уже избавляются по всему миру, поняв что понабрали хуй пойми кого. Уже не берут на работу. Потому что вас, таких итеративщиков, по 2к касок на одну ваку.
>будет востребован на рынке и иметь баснословные доходы
Ну когда будет, тогда и поговорим.
>от таких, как ты, будут избавляться
Ну когда будут, тогда и поговорим.
>Уже не берут на работу
Ой всё.
Так это уже так. Рынок схлопнулся. Макаки вроде тебя никому и даром не нужны.
Знание как работает компилятор - мне ничем абсолютно не поможет. Я помню с универа ещё курс по формальным языкам и грамматикам. Ну окей и что. Ну грамматики. Что я с этим по-твоему с этим знанием должен делать? По ООП есть тысячи книг. Улучшать со временем можно всё, циклы, выносить повторяющийся код, рефакторить, улучшать дизайн. Посмотри тот же файрфокс или ютуб выглядели, первые версии. Их просто как будто на коленке сделали. Есть даже такой сайт https://www.firstversions.com Никто блять не делает шедевры в самом начале. Вначале это была просто куча говна. Иди доказывай Безосу что он говнокодер. Что его никто не наймёт, потому что он не прочитал твою любимую хуйню. Я более чем уверен, что у большинства софта не было должного качества. Баг на баге сидел и багом погонял. Никто вначале не рассчитывал что сайты будут держать триллионы запросов в секунду ёпт.
Кто вам такую идею вбил, что нужно 10 лет учится, чтобы за один день сделать чики-пуки. Ну дырявые абстракции и чё дальше? Это не катастрофа, со временем всё пофикситься. Ты как тот чувак, дали тестовое на rust, я сделал за день, а тот проверял две недели. И потом отказал, типа я лишнюю память высвободил для переменных))) Это уже докапываться до мышей называется. Если программа не mission critical, а-ля прошивка марсохода, то погоды особой не сделает. Ну да, чуть мегабайт памяти утёк. Ну да, на пол-секунды подтормаживает. Кому не похуй. Никто этого не заметит, если условный ворд откроется на пол-секунды позже или ещё что.
Это копия, сохраненная 21 апреля в 00:32.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.