Pull to refresh

Comments 75

Хайнлайн в гробу перевернулся. Но тем не менее, судя по описанию, книга стоящая — людям пришедшим в программирование, минуя прикладную математику — в самый раз.
Для товарищей, не знакомых со словом «Grok».
Впервые его использовал в романе «Stranger in a Strange Land» американский писатель-фантаст Роберт Хайнлайн. О произведении стоит как минимум сказать, что в 1962 году, роман был награждён престижнейшей в мире НФ премией Hugo. А слово «grok» стало популярно у прогрессивной молодёжи в контексте «вникнуть во все тонкости и нюансы».

Почему лично мне перевод «Грокаем» сильно режет слух: в русском языке такого слова нет. Для тех, кто не знаком с его оригинальным значением, оно ничего не будет значить. Я читал два перевода (к сожалению не знаю имена переводчиков), в которых, в одном случае «grok» переводится и спрягается как «грок», «грокнул», «грокать» и т.д., и в другом — «вникнуть», «вникнул», «вникать» и т.д. При чтении разница сильно ощутима. И если в английском языке «to grok» ложится на слух, то «грокать» вызывало желание горхнуть переводчика и редактора вместе взятых.
UFO just landed and posted this here

Если читать Хайнлайна внимательно, то "грок" — означает "пить" ;)

сейчас модно, особенно в IT — чем больше русских слов заменят на иностранные, тем считается, что материал круче
Алгоритмы — это всего лишь пошаговые алгоритмы решения задач

неплохое начало статьи

Может, это про рекурсивные рекурсии? Ведь рекурсия, это всего лишь рекурсия рекурсии.
Но ведь рекурсия в рекурсии, при проведении аналогий с циклами, может быть как итерацией цикла, так и циклом в цикле, а значит и нечто большее чем цикл, больше чем просто рекурсия. Ну и алгоритм больше чем алгоритм.
Просто проверка, воспринимаете ли вы сущности как сущности, или вам обязательно нужно разложить их по полочкам. Нужно разложить, значит ваше понимание книги в дальнейшем затруднится. Возможно настолько, что даже это определение займет не мало времени)
Тогда у меня плохие новости. Если сущность этой книги надо воспринимать, как сущности, не раскладывая по полочкам, то это религия, т.е. антинаучная ересь. Причём, алгоритмизированная и рекурсивно зацикленная. Что хорошо подтверждается расхожим выражением «больше рекурсий богу рекурсий».
Сначала бинарный поиск (где), а потом массивы — это индийский подход или я не догоняю
1. Бинарный поиск используется не только для поиска в массивах.
2. Что, не исключает индийский подход.
Поясните — для бинарного поиска нужна упорядоченная совокупность элементов для применения понятия больше(меньше) или слева(справа)
Приведите пример поиска в сущностях, не имеющих элементов или имеющих элементы без признака упорядочения
Например, для поиска нуля монотонной функции — массив не нужен в явном виде, достаточно уметь вычислять функцию в точке.
Про отсутствие элементов или порядка я ничего не говорил, только про отсутствие массива.
вы никогда не уйдете от упорядочения -есть элементы — точки, они упорядочены
А я разве где-то говорил, что нужно уйти от порядка или отказаться от элементов?
элементы и порядок — это массив — хотя конечно лучше взглянуть непосредственно как излагается в книге, чтобы не спорить беспредметно.
Меня удивило, что сначала поиск, а потом структуры —
Просто поиск — одна из операций со структурами
Пример из первого класса — сначала цифры, потом числа, потом операции — логика преподавания
элементы и порядок — это массив
Ничего подобного, массив, какое бы определение вы не использовали, всегда предполагает нумерацию, т. е. как максимум счетное множество (я бы даже сказал конечное, но да это не важно). А бинарный поиск можно использовать и не на счетном множестве. Я уже приводил пример монотонной функции, множество точек которой совсем не обязательно должно быть счетно.
Нумерация это и есть порядок

Больше спорить не хочется — лучше потом гляну как там изложено у автора

Нумерация, несмоненно, задает порядок, но не каждый порядок сводится к нумерации, просто потому что не каждое множество счетное и, соответственно, не каждое множество можно занумеровать.

Я спорю не о том как написано у автора, а с вашим мнением, о том, что для бинарного поиска нужен массив — это не правда.
в программировании правда
Таки скорее всего речь идет о методе бисекции. С учетом фразы «алгоритм — это алгоритм», могу предположить, что в первой статье речьи идет о нем или о дихотомии в целом.
Метод бисекции — это просто еще одно название бианрного поиска (или наоборот бинарный поиск еще одно название метода бисекции, ссылка).
Можно пояснить бинарный поиск на примере словаря (тот, который бумажный и содержит все слова в лексикографическом порядке); не вводя понятие «массив» в том смысле, в котором его используют программисты.
От того, что вместо слова массив вы будете использовать слово словарь, суть то не изменится — есть элементы, есть их нумерация, есть и порядок
Так я и не спорю. Но мы вроде говорим об учебнике для «программистов и любопытствующих», а не о справочнике.

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

Но, к счастью, понятие об алгоритме бинарного поиска можно дать не погружаясь в теорию множеств. Формально доказать правильность алгоритма — да, без теории множеств будет невозможно. Но объяснить как он работает — запросто.

Кстати, заметьте, что я ни разу не упомянул слово «массив».
да понятно — излагать можно, как хочется автору — просто я выразил свое удивление
Конечно же, правильно написанный серьезный учебник должен начать с понятия множества, потом перейти к бинарным отношениям на элементах множеств, потом к отношениям линейного порядка, а потом уже можно будет говорить и о бинарном поиске. Это, безусловно, самый точный подход.

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

К сожалению движок хабра не поддерживает теги irony и sarcasm

Если для вас математика — ненужная чепуха, у меня для вас плохие новости…
Математика должна быть к месту, ненужно приплетать ее туда где она совсем ненужна.
Я вас разочарую: что-то, сложнее Hello World'а, будет базироваться на этой же математике. А без этой математики… либо автор будет объяснять для совсем маленьких и тупых, извращаясь, либо очень поверхностно.
Но математика не к месту тоже бывает, соглашусь.
Не смеши меня, сколько занимаюсь программированием мне НИГДЕ не пригодилась математика, там где в книгах встречалась математика сразу все становилось запутанным и непонятным.
Для начала, просто замечу, если считать математикой 1 + 1, то возникает логичный вопрос: чем вы таким занимаетесь, если вы даже ничего не складываете, программируя?
Так что, скорее всего, вы под словом «математика» подразумеваете «высшую математику»(она же так называется, нет?) или просто относительно сложную математику, то соглашусь — да, ее использовать приходится нечасто, но лишь потому, что она уже «под капотом».
Насчет того, что там где в книгах непонятная математика — то нужно в ней разобраться. Потому, что иначе получается замкнутый цикл: более сложные вещи базируются на основе тех вещей, в которых вы не разобрались или не смогли разобраться, и разобраться в них у вас не получится.
Да имел виду что в программировании ненужно знать высшую математику, за исключением какого то научного софта.
Спасибо! Целый месяц ждал электронную версию)
А разве бывает что-то более простое и разжёванное чем Кнут?
Кнут очень дорого стоит для «ознакомления»
Взял на Новом Арбате в открытых книжных точках, стоил 100р. за книгу. Б/У, но состояние неплохое.
Кто ищет тот всегда найдет) Видимо я плохо искал и рассматривал варианты покупок только в магазинах. Там цены конечно конские.
Благодарю за наводку)
В кнута непонятная математическая пурга.
нее, кнут это как японская церемония

Это только у меня купленная версия в .epub битая? (Не открывается в iBooks.)

Судя по всему Грокаем_алгоритмы.epub был сгенерирован через Adobe InDesign из pdf-ки и затем никем не был просмотрен. А там битые ссылки в оглавлении, отсутствует обложка, пустые метаданные. Вот зачем уважаемое издательство Питер такое выпускает?
Спасибо за фидбек, исправили, приносим извинения. Из личного кабинета можно самим себе отправить новый epub. Если что — в личку, всегда отправим.
Добрый день. А оглавление в pdf поправите?
А что значит грокаем? Первый раз такое слово слышу.

@eugenius_nsk :


Слово to grok изобретено Хайнлайном и имеет два смысла: 1) понять во всей максимально возможной полноте и 2) съесть (по сюжету романа эти два значения связаны между собой). Так что переводчики романа (равно как и вы) поступили совершенно правильно, изобретя аналогичное слово для русского языка.

Оригинал

Я не осуждаю переводчика, я не понимаю редактора. Книжка с неясной семантикой заголовка вызывает отторжение. Автор книжку писал или желает пооргинальничать? К тому же, если на эту тему уже написано «over 10000» книг :)
Перевод как жена, либо не красивый, но верный, либо верный но не красивый.
По ссылке, перевод статьи, и также слово в названии, с объяснением но без его перевода. Вероятно что случай не единичный, и вероятность его внедрения, обратнопропорциональна критике его применения.
Это нормально для любого нового слова, но во-первых указанное изобрели аналогичное, кощунственно звучит. У нас не только любому глаголу, можно придать такое склонение, но и любому существительному, слову, да и вообще любому набору символов, другое дело что на фоне других слов, может плохо выглядеть, и тогда вряд ли приживется.
Впрочем что-бы приживалось, достаточно набрать попутной популярности, например хорошая книжка или статья, с таким названием, может популяризовать слово.

Хорошо ли это или плохо? То что смог найти сходу, я лично не заметил там особых оттенков. Если бы мне был, так уж важен перевод этого слова, я бы посмотрел как употребляют и употребляют ли слово в экономических статьях.
В отсутствие противоречий или самого применения, гроканью вполне подошло бы поглощение, тут и внять целиком, и отобедать оставив или не оставив лишь косточки, в зависимости от того что вы за существо и что ели.
Позвольте позанудствовать — получается, что все жены верные, но некрасивые :(
как и переводы ;)
А за что минусуют человека? Я вот тоже не знаю что такое грокаем, минусоните меня тоже тогда.

Гугл ответа не дал, так что если бы не Igor_Sib я бы тоже самое тут спросил.
Гугл даёт ответ в первой же ссылке.
Я честно говоря подумал про grok фильтр в elasticsearch — он парсит и структурирует входную строку.
И даже подошло по смыслу :)
Отличная книга.
Прекрасно подойдет для тех, кто хочет размяться и подготовиться к чтению чего-то фундаментального, например, того же Кнута.
или подготовиться к собеседованию)

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

я как раз для прохождения будущих собеседований и купил. Эту книгу хорошо дополняет «Карьера программиста», там тоже алгоритмы разжеваны в контексте собеседований
Отличная книга! издательство, как говорится, издавай еще :)

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

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

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

Надо просто уметь делать из багов фичу. Вот одна замечательная книга построена по такому принципу:

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

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

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


Но вот график внизу 35-й страницы — там уже РУКОПИСНЫЙ. Т.е. опечаток вроде быть и может.
Однако и там какое-то странное значение 1.7с вылезло, написанное рукой.

Отличная книга для тех кто хочет понимать как работают базовые алгоритмы, всем новичкам и нетолько рекомендую.
Книга действительно стоящая. Я ее только начал читать, но уже понял, в чем принципиальная разница между массивами и связными списками, и зачем нужны последние. Для тех, кому сложно дается алгоритмика или нет толковых преподавателей — то, что доктор прописал
Блин, классная книжка! Давно искал что-то подобное )
Отличная книга для начинающих.
Если честно повелся на рекламу (ну люблю я когда сложные вещи объясняют просто и с картинками, хоть и не люблю хедфирст), купил. Прочитал. Для начинающих самое оно и как по мне так дается достаточно больше количество информации для любого джуна который «плавает» в этой теме.
Да, через 4 недели будет второй тираж. Предзаказ есть на сайте.
А в новых тиражах исправляются найденные опечатки? Исправляются ли они в PDF-ках?
Sign up to leave a comment.