Хорошо. Столяр там прямо пишет о методологии: «Как можно объяснить разницу между vector и list человеку который никогда в жизни не видел ни динамических массивов, ни списков».
Это вообще не про программирование, а про преподавание. Вы ищите где он косячит в книгах по технической теме. И форумы с личным сайтом не предлагайте. Это сразу за скобками, еще с самого первого сообщения о разделении личности и ликбеза.
ПыСы. Ну и чтобы далеко не ходить: тынц. Вскоре после этого он меня забанил. Спешу заметить что на тот момент он мне казался куда как более адекватным (если вы там по дискуссии шерстить будете).
# Translation to Ruby.
str = "abc"
stack = []
str.split.each{ |x| stack.push x}
copy = ""
while !stack.empty?
copy = copy + stack.pop
end
p copy
Вот алгоритм от Столяра переписанный на Ruby, вполне рабочий. Но не от оптимизированный. Какая разница? В данном контексте, он не про алгоритмы пишет, а про оформление кода.
Действительно. За сим раскланиваюсь - удачи в продвижении трудов Столярова в массы.
Итого в сухом остатке на 2000 страниц:
Претензия «комитетчики»: Недовольство Столяра тем, что стандарты которые должны быть открыты всем продают за деньги. МЕТОДОЛОГИЯ
Претензия «контейнер»: Недовольства Столяра тем, что ученик с 0 опытом программирования (с трудом понимающий массивы) не поймет разницу между списком и направленным списком. МЕТОДОЛОГИЯ
Претензия «асм»: Критика рабочего кода Столяра, цель которого продемонстрировать оформление кода на Ассемблере. МЕТОДОЛОГИЯ
Хлипокватые у вас претензии, и все без учета контекста высказывания. «Бреда», как вы выражаетесь, найдено не было, все адекватно в рамках контекста. Ни одной технической претензии к ЛИКБЕЗУ нет, где бы Столяр откровенно врал или не понимал то о чем пишет.
Первый Том Предисловие «Язык определяет мышление».
Первый Том «3.6.1 Правила оформления ассемблерных программ».
Второй Том «4.1 Феномен языка Си (Вместо предисловия)»
ПыСы. И вот конкретно вы - яркий пример жертвы его нравоучений. Кому нужно - поймёт.
Вася, конкретно ты пример «доколупывателя» который в параграфе «3.6.1 Правила оформления ассемблерных программ» оценивает оптимизацию кода. Типичная дешевая придирка.
И про вектор я тоже прочитал и процитировал ключевую для контекста фразу.
xor ebx, ebx ; zero ebx
xor ecx, ecx ; zero ecx
lp: mov bl, [esi+ecx] ; another byte from the string
cmp bl, 0 ; is the string over?
je lpquit ; end the loop if so
push ebx ; get a char
inc ecx ; next index
jmp lp ; repeat the loop
lpquit: jecxz done ; finish if the string is empty
mov edi, esi ; point to the buffer's begin
lp2: pop ebx ; get a char
mov [edi], bl ; store the char
inc edi ; next address
loop lp2 ; repeat ecx times
done:
Этот код из «3.1.6 Правила оформления ассемблерных программ» синтаксически верен. И нигде в книге не написано, что это " реализовали strcpy()" - это ваша додумка. Читаю трехтомник от DMK.
Хорошо, а где вы про «реализовали strcpy()» в тексте параграфа 3.1.6 нашли? Вы взяли код, придумали ему предназначение, и на этом объявили его нерабочим. В параграфе 3.1.6 покажите где написано что это «strcpy()».
Мой код тоже не верен, я поверил на слово @bugfixer, что-то быстро навоял. А код Столяра и близко не копирование строки, это похоже разворот строки. Столяр про это не говорил. По крайней мерее я в 3.1.6 параграфе не нахожу " реализовали strcpy()", если кто найдет напишите.
Вот что писал Столяров, переворот строки. Алгоритм на Ruby.
и при этом на фоне остальных «методичек с кафедр» сложно прийти к однозначному выводу насколько систематизированный бред опасней для неофитов чем легко распозноваемый и примитивный
в туфтовой литературе подчёркивается профессионализм компиляторов на фоне любительства интерпретаторов
а вот после понимания что А0 Хоппер-Адмиральши был буквально рантайнм интерпетирующим расширением набора команд уже воплощённой в железе модели вычислений и кратчайшую дистанция между таким подходом и машиной Тьюринга тогда (как темой которая имея разный имена всё время в индустрии ща это виртуализация и контейнеризация ака повышения мобильности программного продукта жизнедеятельности команд разработчиков) подобно тому как кстати на x86 апаратный int 06 https://en.wikipedia.org/wiki/Illegal_opcodehttps://en.wikipedia.org/wiki/Interrupt_descriptor_table#:~:text=UD instructi....
т.е компиляторы важнее когда машина в дефиците а интерпретаторы когда есть «пульт интерактивности для творения»
и уважуха к компилирующим трансляторам и фи интерпретаторам это признак «пту деформации»
профессионализм компиляторов на фоне любительства интерпретаторов … «пульт интерактивности для творения»… «пту деформации»
Мне не понятно, что вы пытаетесь сказать давая какая-то заумные ссылки и трудно пережовываемые метфоры. Они в принципе не уместны при разговоре о ликбезе и хороших прикладных учебниках.
Работает в обе стороны. Ненависть к Столярову - тоже «религия». У меня ни какой «религии» в отношении Столяра нет, я к нему отношусь как к равному, но более образованному и, может, более дисциплинированному человеку. То, что он где-то гонит - это меня не выламывает.
он не плохой(если не впадать в экстаз энтузиазма) третичный источник
не будь в доступе(инете) первичные - сырцы и мемосы от Создателей и вторичные (в частности тот же Unix Мемуар Кернигана(и вообще всё его даже D -Цифровой мир курс для не cs первокуров) ) источники то Столяр это голова достойная даже обожествления как срыватель покровов - но они (первичные и вторичные) источники общедоступны - так что - да как один из путей(точнее нескольких начальных шагов) к лучшему понимании проф.области его труды полезны (если в дальнейшем от его заблуждений будет профилактированно большим обьёмом более верного знания полученого в дальнейшем при проф. росте)
в частносте мне лично оказалась более полезна чуть ли не полтора абзаца из двух томника «мир Лиспа» парочки финов
где подчёркивается различие между 2 как числом и 2 как именем числа и следующего из этого лулзы
[среди вторичных источников хороши компендиумы - например Брукшир компьютерные науки]
и ваще огонь дайджесты из History of Computer Science пара книжных серий у Acm и от какогото провинциального универа каког-то штата колоний
у Столярова(как я помню) очень много его личных суждений - что и хорошо и плохо - т.е. его эмоции
На разных «форумах» у него в принципе «только одни эмоции». А в книгах просто техническая информация. Инной раз удивляешь, что это писал один и тот же человек.
Т.е. да, прямо не говорил, оставил себе поле для маневров, но линия рассуждений шла именно туда.
У вас в голове линия рассуждений шла «примерно туда». @Xintrea - рассказал о изучении дополнительной информации вокруг навыка вождения, которую можно почерпнуть из книг (медицина, мнемонические правила безопасности, опыт экстраординарных ситуаций). А можно из «мастер-классов» за 250$, где вам эти книги перескажут.
@Xintrea описал метафору получения полноценной культуры абстрактного мастерства: Как стать мастером и изучая нюансы и опыт поколений. Обобщение которое вы не поняли. Но пошли спорить. Ломиться в открытую дверь - «Нужна еще и практика. Без практики никуда.»
P.S. В деревнях на механической коробке передач учатся трогаться в течении часа - женщины и дети. Ни какой проблемы научиться водить по книгам нет, была было бы топливо, время, да пустые пространства.
P.P.S.
Дело в том, что я не спорю. А пытаюсь донести свою мысль, многократно перефразируя одно и то же: ТЕОРИЯ ПРАВИЛЬНО ОРГАНИЗУЕТ ПРАКТИКУ. На разные лады одно да потому.
Или «Нет ничего практичней, чем хорошая теория» (с) Мой Преподаватель Ассемблера.
есть изучение инструмента и тогда да что в ремесле потребно то и ботаеш
и при этом есть программер-эрудиция
например механизм «трамполин» при педераче аргументов(кто то бы даже выразился бы параметров) можешь про него узнать из sml в удеми уже в почти лохматые года
а пригодится вот прям завтра через полторы-дюжины зим
т.е пригодится если будешь в курсе врядли(т.е вероятность выше нуля но явно меньше желаемой) сам переоткроеш отдин из велосипедов которыми полна индустрия
У вас в голове линия рассуждений шла «примерно туда»
Нет. Ты просто не хочешь признавать, что было противопоставление. Ещё раз: я написал, что вождение лучше изучать на курсах (не знаю, есть ли у тебя ВУ, но у меня есть и на курсах есть иителрия и практика, если что), ты этому в качестве контраргумента противопоставил умение читать сложные тексты.
Что тут не понятного? Ты просто упёрся и не хочешь признавать это.
В деревнях на механической коробке передач учатся трогаться в течении часа - женщины и дети. Ни какой проблемы научиться водить по книгам нет, была было бы топливо, время, да пустые пространства.
Так делают не от хорошей жизни. С опытным инструктором это было бы безопаснее и лучше.
И кстати, на счёт «женщины и дети». Разверни мысль, чтобы потом не говорил, что я додумываю за тебя, что ты этим имеешь ввиду? Типа женщины и дети хуже обучаемы чем мужчины?
Методичка Столярова 2006г. - это издательство МГУ, официальный текст заверенный на университетском уровне.
Восковой печатью профессора Дамблдора?
Методички - не научные работы, рецензирования они не проходят. Более того, их как правило пишут не столько для студентов, сколько для выполнения плана учебных работ в ВУЗе, где преподу в зачёт идёт сам факт написания методички. В некоторых ВУЗах одни и те же перепечатывают каждый год. Так что "официальность текста" в них - уровня самиздата.
Нет. Ты просто не хочешь признавать, что было противопоставление.
Уважаемый, уже несколько раз подряд я объяснил свою позицию:
Книги требуют навыка понимания сложного текста.
В книгах «закодирована» структура обучения и советы.
Теория в книгах оптимизирует необходимую практику.
Как пример я привел советские книги по спортивной борьбе САМБО где половина книги - наставление для руководителя секции, как правильно обучать/обучаться.
Противопоставление «практики и теории» находится только в вашем воображении. Если вы не в состоянии сложить несколько комментариев в одну мысль, вы только подтверждаете то, что я говорю. Не все могут работать с текстами на должном уровне. Кому-то нужны курсы и преподаватели.
Вы еще можете начать мне приписывать, что я подбиваю людей «не мыть руки перед едой», так как в каждом своем сообщении не оговариваю: «мойте руки», «чистите зубы». Это очевидная информация, точно также-же как необходимость практики.
Уважаемый @rumgot, вы додумываете то, чего я не писал. Поэтому вас проблемы в работе с текстом. В тексте написано то, что в нём написано, а не то, что вам показалось. Понимать «что не написано» так же важно, как понимать «что написано».
нигде я не писал, что нет источников кроме Столярова.
нигде я не писал, что теория заменяет практику.
нигде я не писал, что учиться по книгам лучше, чем перенимать знания лично у мастера.
Это всё ваши додумки, которые вы придумали и оспариваете.
Ты писал в качестве контраргумента на моё замечание о том, что курсы вождения лучше чем только книги про это, (далее твой ответ) что это оттого, что нужен навык чтения сложных текстов. Т.е. раз нет навыкачтения сложных текстов, то курсы действительно лучше, а вот если бы был такой навык, то учиться водить по книге было бы не хуже курсов, т.е. одинаково было бы и то и то.
Т.е. либо ты берёшь свой аргумент назад и соглашаешься, что курсы вождения лучше чем попытки учиться вождению по книгам самостоятельно, либо продолжаешь отстаивать дальше свое. Если ты соглашаешбся, то не ясно, зачем ты дальше в принципе споришь.
Поэтому вас проблемы в работе с текстом
Нет. Я заметил изъян в твоей логике. Если твою так называемую «сложную» речь не понимают так, как бы тебе хотелось, то есть вероятность, что не собеседник туп, а ты, т.к. не можешь изложить мысль в однозначно очевидной форме.
И далее явно спрашиваю второй раз: что значит твоя сентенция «учатся трогаться в течении часа - женщины и дети»? Почему ты женщин и детей выделил?
Ты писал в качестве контраргумента на моё замечание о том, что курсы вождения лучше чем только книги про это, (далее твой ответ) что это оттого, что нужен навык чтения сложных текстов.
Это не был контр. аргумент это было дополнение, и сходный текст был не о вождении, а о приобретении критически важных косвенных навыков (медицина, опыт поколений, дополнительные правила безопасности - в примере с вождением). У вас не получается связать вместе три комментария.
Мое дополнение, что книги дадут много тем кто умеет с ними рабоать. три (linux.org.ru)
Всё. Вас заело. То вы доказывали, что я отвергаю практику, теперь вас клинит, о том что я утверждаю «что книги во всем лучше инструктора». Не по силам вам такая абстракция как уточнение и дополнение.
Вас не смущает что вы перепутали код поворота строки in-place, с кодом копирования строки - и на этом основании обвинили Столярова в технической несостоятельности?
Вы игнорируете свой косяк, и опять кидаетесь громкими словами. То у Столярова бред - на самом деле вы ошиблись, то я вру.
Вас не смущает что вы перепутали код поворота строки in-place, с кодом копирования строки - и на этом основании обвинили Столярова в технической несостоятельности?
Это не так принципиально на фоне того что он засирает стек, причём со скоростью в 4x от длины строки. Но вы же ничего плохого в этом не видите, оно же «работает», да?
И ваше упорное игнорирование его прямого утверждения «вектор и список самые бесполезные контейнеры STL», было ведь?
В общем-то - уровень понятен. Я буду теперь вас использовать как живой образчик последователя заветов великого Столярова.
По началу я к вам отнесся с уважением и интересом, когда увидел asm код. Но в дальнейшем вы себя сильно уронили, так как не признаете свою ошибку и не извиняетесь. Это нечистоплотное поведение для разработчика.
Если бы вы замолчали, то инцидент можно было бы считать исчерпанным, ну перепутал человек два алгоритма на asm, бывает. Но же продолжаете упорствовать делая вид, что ничего не произошло. Спорить с нечистоплотным человеком - бессмыслено. Вы уже запускаете аргументы по кругу игнорируя контекст.
Вы за деревьями леса не видите. И мне не за что извиняться, и уж тем более - перед вами.
Вам над извиняться не передо мной, а перед Столяровым и перед сообществом которое вы ввели в заблуждение. Вы хулите качественные учебники, при этом сами допускаете позорнейшие технические и методологические ошибки. Столяров вас забанил абсолютно правильно, вам плевать на все доводы, вы предираетесь, передергиваете, спорите.
То вы критикуете то «широко», то «узко», то опять «широко». Когда выгодно: «какая разница что я не понял алгоритм - смотрите шире», когда учитывать контекст не выгодно: «какая разница какая тема параграфа - детали алгоритма не оптимальны».
Какие доводы? Ничего разумного и вменяемого я пока от вас так и не услышал. Завязывайте уже.
Слышь, дядя, ты перепутал учебный in-place rotation c копированием строки - и делаешь вид, что всё нормально. Квалифицированный критик учебников нашелся.