Цена работки CMS магазина с нуля

HraKK

Мудак
Команда форума
Скорее уж, да за пузырь я вам все отсортирую! А если дадите 2 пузыря так мы с Толяном все тут пересортируем!
 

Vladson

Сильнобухер
а он не может пузырьком отсортировать массив.
C моей точки зрения это ему плюс (пузырёк ненавижу, самый неоптимальный выбор из всех, он даже на ASM будет медленнее чем ЛЮБОЙ другой способ даже реализованный на QBasic)
 

hell0w0rd

Продвинутый новичок
Vladson, и чего? это алгоритм, алгоритм простой и все его должны знать. С помощью некоторых оптимизаций его можно довести до O(n*log(n)), на хабре есть статья.
Если человек пузырек написать не может - быструю он с ходу что ли напишет?))
 

WMix

герр M:)ller
Партнер клуба
Vladson, для масива длиной в 4 элемента это будет самый быстрый алгоритм
 

Vladson

Сильнобухер
Vladson, для масива длиной в 4 элемента это будет самый быстрый алгоритм
Без использования дополнительной памяти может быть и близко, но вставки всё равно будут быстрее, ибо в пузырьке на каждом шаге чтение и запись, а в большинстве алгоритмов чтения идёт больше, а запись только в редких случаях. Более того если элементов именно 4 (или даже 400, т.е не много) то можно использовать много дополнительной памяти и сделать сортировку во много раз быстрее.

С помощью некоторых оптимизаций его можно довести до O(n*log(n)), на хабре есть статья.
Нужно ли его доводить ? Усложняется только зря код, хотя например вставки реализуются намного быстрее и работают тоже намного быстрее. Я хотел как-то статью писать о сортировках, реализовывал специально десяток алгоритмов и делал видео с их работой, (не просто показательные видео, где графики бегают и прыгают, а именно с учётом скорости использования памяти итд,) Потом забил ибо понял что скорость алгоритма, рациональность экономии памяти, читаемость кода, всё это зависит от случая к случаю. Но понял только одно. Пузырёк далеко не самый простейший алгоритм, как в коде так и в логике, а по скорости уступает практически всем (не имею в виду экзотические)
 

hell0w0rd

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

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

AmdY

Пью пиво
Команда форума
А ещё дизайнера и верстальщика
Vladson, так или иначе это первый алгоритм сортировке о котором вообще узнают.

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

hell0w0rd

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

А по поводу твоего препода - это как знания которые даются в школе по прикладным наукам. Они все в вакууме и на них не действуют внешние силы:)
Олимпиаднику и в голову не может взбрести что данные окажутся не такими, какие он ожидал
 

Vladson

Сильнобухер
Вообще мне странно читать про сложность алгоритма сортировки в плане написания. Его один раз написал и забыл, какая тут может быть сложность?
Вы много писали кода который написал и забыл ? (тем более на РНР когда каждая новая версия выкидывает частичку совместимости с прошлой версией, и выходят всё чаще и чаще) Я никогда даже не видел такого кода. С каждым выходом новой версии, с каждым переездом на новый сервак, 99% все самые популярные CMS требуют те или иные правки.
А представьте ещё что вы (а не факт ещё что вы, возможно ваш коллега) настолько наоптимизировали свой пузырёк что там теперь 20 мб кода, и где теперь гарантия что в нём нет трудноотлавливаемых ошибок ? Вот так вот просто бац и глюк поймали, где легче его найти в функции на десяток строчек, или в супер пупер пузырьке который оптимизирован по самое не хочу и где от оригинальной логики осталось только название ?

В отличии от олимпиад, практикующему РНР-шнику можно вообще не знать ни одного алгоритма сортировки. Это делает из него конечно узкого специалиста, но если всякие htmlspecialchars он знает и применяет к месту, то он будет (лидом конечно такого брать стрёмно, а вот на позиции простого кодера) намного полезнее чем трижды олимпиадник.

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

akd

dive now, work later
Команда форума
удивительно, неужели на собеседованиях еще спрашивают про сортировки? :)
сейчас специально поискал в последних проектах за 3 года .. ни в одном нет *sort, причем не только пхп. если не ошибаюсь, последний раз использовал где-то году в 2002 какой-то usort. и то, припоминая подробности, понимаю что его там быть не должно :))
 

Redjik

Джедай-мастер
тут друг программист предлагает на собеседованиях спрашивать как обрезать строку в php, чтобы услышать про mb_ функции
 

hell0w0rd

Продвинутый новичок
Vladson, мало, но дело в том что это единственный, наверное, написанный мною алгоритм на php. Потому что php для таких целей обычно не используется. Вон недавно про матрицы был вопрос - там еще алгоритм был написан. И этот код никогда меняться не будет. Возможно он будет переписан с нуля на более оптимальный.
В остальном комментарий высосан из пальца, если алгоритм занимает 20мб - его не стоит писать на php.

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

fixxxer

К.О.
Партнер клуба
Не понимаю, о чем спор. Само название "пузырьковая сортировка" совершенно четко указывает на суть алгоритма. Помнить никто ничего не обязан, но сообразить по названию, о чем речь, и написать эти жалкие 5 строк на бумажке должен быть способен любой.
 

Vladson

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

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

AmdY

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

Кстати, сортировки есть в литературе по подготовке к собеседованию на php, швагер как раз на такой задрачивался недавно.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а у нас в проекте есть сортировка массива :)
 

hell0w0rd

Продвинутый новичок
Redjik, а мне кажется это нормальный ответ - "я уже год использую шаблонизаторы/готовые библиотеки и не думаю об экранировании, просто использую готовые функции"
 

AmdY

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